解题思路:
注意事项:scanf("%[^\n]*c",s); ^表示”非”,即读入其后面的字符就结束读入。这样想读入一行字符串带空格的字符直接用: scanf("%[^\n]%*c",str); 就可以了, %*c的作用忽略\n,否则后面读入的将一直是\n。
参考代码:
#include<stdio.h> #define MAX 100 void count(char*s) { int nums,numd,numb,numo; nums=numd=numb=numo=0; while(*s!='\0') { if( (*s>='a'&&*s<='z')||(*s>='A'&&*s<='Z') ) nums++; else if(*s>='0'&&*s<='9') numd++; else if(*s==' ') numb++; else numo++; s++; } printf("%d %d %d %d",nums,numd,numb,numo); } int main() { char s[MAX]; scanf("%[^\n]*c",s); count(s); return 0; }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:659 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:605 |
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:655 |
【简单计算】 (C语言代码)浏览:622 |
WU-小九九 (C++代码)浏览:1684 |
【蟠桃记】 (C语言代码)浏览:1024 |
K-进制数 (C语言描述,蓝桥杯)浏览:925 |
母牛的故事 (C语言代码)浏览:479 |
龟兔赛跑预测 (C++代码)浏览:1182 |
这是我的第一篇文章浏览:256 |