解题思路:
注意事项: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++代码)浏览:790 |
C语言程序设计教程(第三版)课后习题6.11 (C语言代码)浏览:2081 |
wu-理财计划 (C++代码)浏览:837 |
DNA (C语言描述,数据结构)浏览:864 |
哥德巴赫曾猜测 (C语言代码)浏览:2357 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:515 |
关于float,double变量的几点说明浏览:1825 |
The 3n + 1 problem (C语言代码)浏览:505 |
幸运数 (C++代码)浏览:2880 |
C语言程序设计教程(第三版)课后习题6.9 (C++代码)浏览:508 |