标签:空格 字符 scanf pta 单词 printf 字符串 文本
习题6-8 统计一行文本的单词个数
1.本题目要求编写程序统计一行字符中单词的个数。
所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。
原理:空格是一个字符: ‘ ’;// '\0’是字符串结束标志
注意:
scanf(); //输入字符串中的空格会被当成字符串分隔符号,只能输出前面的字符串, 给字符数组
gets();//输出完整的字符串(带有空格的也可以)
printf("%d\n",strlen(a); //这个统计字符串的字符个数
printf("%d\n",sizeof(a); //计算定义的字符数
2.用scanf输入字符串:效果
#include<stdio.h>
#include<string.h> //引入,字符串的API
int main(){
char c[50];
char b[30];
scanf("%s",c); //这里的c就是 地址
int num=0;
printf("%s\n",c); //这里如果您输入: hello yuo dkege ,打印:
//hello,scanf();不能完整读取带有空格的字符串,系统把空格:当成字符串和字符串的分隔符号,多个字符串
//只能打印出前面的字符串 ,%s指一个字符串
printf("%d\n",strlen(c)); //统计字符串的字符个数
printf("%d\n",sizeof(c)); //计算定义的字符数
// for(i=0;i<=;i++){
// }
return 0;
}
3.用gets()//字符串函数来输入字符串:效果
#include<stdio.h>
#include<string.h> //引入,字符串的API
int main(){
char c[50];
char b[30];
// scanf("%s",c); //这里的c就是 地址
gets(c); //这个可以把空格也能当成字符,输出完整字符串
int num=0;
printf("%s\n",c); //这里如果您输入: hello yuo dkege ,打印:
//hello,scanf();不能完整读取带有空格的字符串,系统把空格:当成字符串和字符串的分隔符号,多个字符串
//只能打印出前面的字符串 ,%s指一个字符串
printf("%d\n",strlen(c)); //这个遇到空格就会结束
printf("%d\n",sizeof(c)); //计算定义的字符数
// for(i=0;i<=;i++){
// }
return 0;
}
4.一行文本的单词个数:
#include<stdio.h>
#include<string.h> //引入,字符串的API ,
//stren();使用
int main(){
char c[50];
char b[30];
// scanf("%s",c); //这里的c就是 地址
gets(c);
int num=1; //这个从1开始, 一个空格有两个单词,
printf("%s\n",c); //这里如果您输入: hello yuo dkege ,打印:
//hello,scanf();不能完整读取带有空格的字符串,系统把空格:当成字符串和字符串的分隔符号,多个字符串
//只能打印出前面的字符串 ,%s指一个字符串
printf("%d\n",strlen(c)); //这个遇到空格就会结束
printf("%d\n",sizeof(c)); //计算定义的字符数
for(int i=0;i<=strlen(c);i++){
if(c[i]==' '){
num++;
}
}
printf("这行字符串有%d个单词",num);
return 0;
}
标签:空格,字符,scanf,pta,单词,printf,字符串,文本 来源: https://blog.csdn.net/qq_51813155/article/details/121696770
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。