1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > c语言以空格分割字符串 C语言程序要读入一行文本 以空格分隔若干个单词 以‘.’结

c语言以空格分割字符串 C语言程序要读入一行文本 以空格分隔若干个单词 以‘.’结

时间:2023-04-06 11:26:56

相关推荐

c语言以空格分割字符串 C语言程序要读入一行文本 以空格分隔若干个单词 以‘.’结

对于每个英文字母分别判断个数,并累计,最终输出即可。一、算法:1、循环读取字符,直到换行为止。对于每个字符,执行以下流程。2、判断是否为英文字母,即小写和大写两种。3、如果是英文字母,则统计个数。输入部分,可以存为数组,也可以每输入一个字符计算一次。二、参考代码:includeint main(){int c;int cnt[52]={0};while((c=getchar())!'\\n')/读取每个字符,直到遇到换行为止。{if(c>='A'&c)/大写cnt[c-'A']+;统计。else if(c>='a'&c)/小写cnt[c-'a'+26]+;统计。}for(c=0;c;c++)/输出大写字母统计结果。if(cnt[c]!0)printf("%c:%d\\n",c+'A',cnt[c]);for(c=26;c;c++)/输出大写字母统计结果。if(cnt[c]!0)printf("%c:%d\\n",c-26+'a',cnt[c]);return 0;}防采集。

1、首先,定义一个常量,控制2113字符串的5261长度。

#include include define MAX 100 int main() { char str[MAX];输入的字符串,最大长度是MAX-1,因为有一个字符串结束符 int i=0,count[52]={ 0 };count 数组用来存储各个字母出现的次数 scanf(\"%

2、定义两个数组,保存4102文章中的字符和最短单词。

关键技巧:每行数据个数随机,可用 c=fgetc(fin);ungetc(c,fin);检查是否读到 换行符或文件结束符。例如: a.txt 1 2 3 45 56 6 7 8 9 10 至于记录每行数据个数,存放到数组,等等,可以自己补充

3、用1653do-while循环控制输入文章,条件是不等于句号。

#include include void main() { char str[20];int i,j=0;printf(\"输入知字道符串回:\\n\");gets(str);for(i=0;i(str);i+) if(str[i]!答=' ')str[j+]=str[i];str[j]='\\0';puts(str);}

4、取文章中的字符,保存在数组art中。

printf(\"输入一行字符:\\n\");scanf(\"%s\",a);for(i=0;a[i]!'\\0';i+){ b[i]=a[i];} printf(\"%s\\n\",b);return 0;} 扩展资2113料:使用scanf()函数需要注意的5261问题: 1.对于4102字符串数组或字符串指针变量

5、用for循环控制获取文章中的最短单词,条件是小于等于l。

给你提供一个思想 1.不断的读入字符直到遇到.就结束 2.需要2个标记 A和B 默认为0 读入一个字符的时候 若不是空格 A=A+1 若是空格 就A-B得出长度输出 然后 B=A

6、用if语句判断是否为空格和句号,获取一个单词。

7、获取最短单词,并保存在数组word中。运行程序,输入以句号结束的英文文章,电脑就会输出最短的单词和单词长度。

#include#includevoidmain(){2113charstr[256]="";chartmp[sizeof(str)]="";char*p;gets(str);strncpy(tmp,str,strlen(str)-1);//去掉后5261面4102的.p=strtok(tmp,"");printf("%d",strlen(p));while((p=strtok(NULL,"")))1653printf("%d",strlen(p));printf("\n");}更多追问追答追问输出格式:在一行中输出这行文本对应的单词的长度,每个长度之间以空格隔开,"行末没有最后的空格"。这个行末没有空格如何实现?追答不符合你的要求???这个行末没有空格啊追问提交系统自动判定,有四个测试数据,一个没过。追答#include#includevoidmain(){charstr[1024]="";char*p;intcount=0;fgets(str,sizeof(str),stdin);p=str;while(1){if(*p!=''&&*p!='.')count++;elseif(*p==''){printf("%d",count);count=0;}elseif(*p=='.'){printf("%d",count);break;}p++;}printf("\n");}追问程序异常,exit code非0追答你是拿什么系统测试的啊测试的数据是哪些?追问网上的一个系统。具体我也不清楚。本回答被网友采纳

好久不编程,忘了,思路应该就是每次读一个字符看是不是空格,不是空格就设个计数器累计这里计数器可以弄个数组,然后输出就行了,没难度呀追问如何在开始定义的时候不指定str的长度?

内容来自请勿采集。

c语言以空格分割字符串 C语言程序要读入一行文本 以空格分隔若干个单词 以‘.’结束。你要输出这行文本中每个单词的长度。...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。