解题思路:
注意事项:
参考代码:
#include <stdio.h> #include <string.h> void fun(char* a, int* num1, int* num2, int* num3, int* num4) { for (int i = 0; i < strlen(a); i++) { if (a[i] >= 'a' && a[i] <= 'z' || a[i] >= 'A' && a[i] <= 'Z') *num1 += 1; //不能*num1++,因为这些单目运算符都是右结合性,会先++在取值,从而影响结果 else if (a[i] >= '0' && a[i] <= '9') *num2 += 1; else if (a[i] == ' ') *num3 += 1; else *num4 += 1; } } int main() { int num1 = 0, num2 = 0, num3 = 0, num4 = 0; char a[101]; gets(a); fun(a, &num1, &num2, &num3, &num4); printf("%d %d %d %d", num1, num2, num3, num4); return 0; }
0.0分
0 人评分