解题思路:
1.使用gets()函數讀取句子(含空白不能使用scanf() );
2.使用for偱環,遍历每一個字符;
3.利用<ctype.h>標頭檔裡的函數去做檢查每一個字符是否符合條件,if true則為變量(相當於counter)+1;
注意事项:
function in <ctype.h> be used:
isalpha(),isdigit(),isspace(),ispunct();
参考代码:
#include<stdio.h> #include<ctype.h> #include<string.h> int main() { char s[500]; int letter = 0,digit =0,space = 0,symbol = 0; //a counter for each condition int i; gets(s); for(i = 0; i < strlen(s);i++){ if(isalpha(s[i])) letter++; else if(isdigit(s[i])) digit++; else if(isspace(s[i])) space++; else if(ispunct(s[i])) symbol++; } printf("%d %d %d %d",letter,digit,space,symbol); return 0; }
0.0分
0 人评分
C语言训练-排序问题<1> (C++代码)浏览:632 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:790 |
C语言程序设计教程(第三版)课后习题7.1 (C语言代码)浏览:539 |
C语言程序设计教程(第三版)课后习题8.7 (C语言代码)浏览:934 |
1908题解浏览:680 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:1100 |
数组输出 (C语言代码)浏览:749 |
C语言程序设计教程(第三版)课后习题12.1 (C语言代码)浏览:689 |
简单的a+b (C语言代码)浏览:444 |
C语言程序设计教程(第三版)课后习题5.8 (C语言代码)浏览:692 |