c语言编程问题

时间:浏览65次 发布人:YOU918

c语言编程问题

已解决问题

谷歌YOU918用户在浏览65次提交了关于“回家的**c语言编程问题”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2024-07-30T06:57:01。求字符串长度
编程:连续输入一批以#结束的字符串(字符串的长度不超过80),遇##则全部输入结束。统计并输出每个字符串的有效长度。
例:括号内是说明
输入:
hello12#abc+0##(连续输入2个字符串"hello12"和"abc+0")
输出:
8("hello12"的有效长度是8)
5("abc+0"的有效长度是5)
最好是初学者水平的程序,用数组做希望大家能够帮助她。

详细问题描述及疑问:求字符串长度
编程:连续输入一批以#结束的字符串(字符串的长度不超过80),遇##则全部输入结束。统计并输出每个字符串的有效长度。
例:括号内是说明
输入:
hello12#abc+0##(连续输入2个字符串"hello12"和"abc+0")
输出:
8("hello12"的有效长度是8)
5("abc+0"的有效长度是5)
最好是初学者水平的程序,用数组做期待您的答案,当代劳模,所有人都应该向你学习 !

希望以下的回答,能够帮助你。

第1个回答

用户名:asdbjerq  

应该可以满足你的要求:如果需要,可以进行更人性化的界面或者处理细节的更改:
#include<stdi入创居便玉值胡马似o.h>
#include<string.h>
#defineN10//假定输入的字符串数不超过10,可以自己核处消绝笑低镇各春从杂修改
main()
{
charstr[N][30];
inti,j,t,flag=0;//flag记录##个数,i记来自录字符串数量,碰到一个#时字符串结束,新字符串开始,i+1,j记录字符串中字符个数,每一次新的字符串开始,j被重新置0
charc;
printf("请输入字符串,每个字符串以#结尾,结束输入请按下两次#\n");
i=0;
while(flag!=2)
{
j=0;
while((c=getchar())!='#')
{
flag=0;//当接收的字符不是#时flag被重置为0
str[i][j]=c;
j++;
}
flag++;//跳出了while循环,说明遇到了#,flag+1
str[i][j]='\0';//每个字符串最后添加个字符串结束符
i++;
}
for(t=0;t<i-1;t++)
秋者见认乐实王printf("%s长度为%d\n",str[t],strlen(str[t]));//strlen()函数返回字符串长度,不包括\0

}