解题思路以及注意事项:
这里大家可能想到scanf()以空格或者回车为结束标准就头疼了,不要紧,我给大家推荐一个函数,可以接收字符串,仅仅以回车结束,它就是gets();功能强大到爆炸。
其他都是一些比较常规的,看起来比较长,其实非常容易懂。
还是跟以前一样,别忘了中英文的区别,注意别忘了分号,其他就简单了。
实例代码:
#include"stdio.h" int main() { int i,word=0,number=0,space=0,others=0,zero=0,sum=0; char words[100]; gets(words); for(i=0;i<100;i++){ if(words[i]=='\0') { break; } sum++; } for(i=0;i<sum;i++){ if('a'<=words[i]&&words[i]<='z'||'A'<=words[i]&&words[i]<='Z') { word++; } else if('0'<=words[i]&&words[i]<='9') { number++; } else if(words[i]==' ') { space++; } else if(words[i]=='\0') { zero++; } else { others++; } } printf("%d %d %d %d",word,number,space,others); return 0; }
还有什么不懂的请在下方评论区留言,小方会在看到的第一时间为您解疑
0.0分
3 人评分
for(i=0;i<100;i++){ if(words[i]=='\0') { break; } 楼主,请问这几句代码的作用是什么捏? sum++; }
#include<stdio.h> int main () { int i,m=0,n=0,p=0,q=0; char a[100]; gets(a); for(i=0;i<100;i++) { while(a[i]!='\n') { if(a[i]==' ') n=n+1; if((65>=a[i]>=90)||(97>=a[i]>=122)) { m=m+1; } if(48>=a[i]>=57) q=q+1; else p=p+1;} } printf("%d %d %d %d",m,q,n,p); return 0; }为什么不对呢?
不是说函数吗?
你这也叫传参数?
2004年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:701 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:1271 |
C语言程序设计教程(第三版)课后习题9.10 (C语言代码)浏览:626 |
简单的a+b (C语言代码)浏览:689 |
C语言训练-排序问题<2> (C++代码)浏览:934 |
printf基础练习2 (有点不明白)浏览:887 |
字符逆序 (C语言代码)浏览:645 |
有关字符,字符串的输入输出函数说明浏览:498 |
C语言训练-大、小写问题 (C语言代码)浏览:719 |
C二级辅导-等差数列 (C语言代码)浏览:891 |