你这个程序有几个问题哈! (1)你只是找出了max,然后把它放到了头部,但是你没有找到最大的值是在哪个位置,所以没有和首部进行交换 (2)max如果一开始设置为0的话,若输入的三个数都是负数,那最大值就错误了 纠正如下:(测试通过,望采纳...
你代码看不清,但是按照你思路做出来的也是挺对,可能你忽略了细节。
#include
int main()
{
char a;
int i=0,j=0,k=0,n=0;
while((a=getchar())!='\n')
{
if((a>=65&&a<=90)||(a>=97&&a<=122)) i++;
else if(a==32) j++;
else if(a>=48&&a<=57) k++;
else n++;
}
printf("英文字母有:%d 空格: %d数字: %d 其他:%d",i,j,k,n);
}
这个运行没有错,你对比试试