33,311
社区成员
发帖
与我相关
我的任务
分享
#include<stdio.h>
#include<string.h>
int main() {
char str[80];
int zm = 0, sz = 0, oth = 0, i = 0;
gets_s(str,80);
while (str[i] != '\0'){
if (str[i] >= 'a' && str[i] <= 'z' || str[i] >= 'A' && str[i] <= 'z')
{
zm++;
}
else if (str[i] >= '0' && str[i] <= '9') {
sz++;
}
else
oth++;
i++;
}
printf("zm", zm);
printf("sz", sz);
printf("oth", oth);
return 0;
}
看不懂你这两个代码差别在哪
#include<stdio.h>
#include<string.h>
int main() {
char str[80];
int zm = 0, sz = 0, oth = 0, i = 0;
gets_s(str,80);
while (str[i] != '\0'){
if (str[i] >= 'a' && str[i] <= 'z' || str[i] >= 'A' && str[i] <= 'z') // if后不能加; 否则后面的else无法匹配
{
zm++;
}
else if (str[i] >= '0' && str[i] <= '9') {
sz++;
}
else
oth++;
i++;
}
printf("zm=%d\n",zm);
printf("sz=%d\n",sz);
printf("oth=%d\n",oth);
return 0;
}