请问我的C程序哪里错了?

来源:百度知道 编辑:UC知道 时间:2024/09/20 14:53:17
统计从终端输入的字符中每个大写字母的个数:
#include <stdio.h>
#include <ctype.h>
void main(void)
{ int num[26],I;
char c;
printf ("Input the character:\n ");
for (I=0;I<26;I++) num[I]=0;
while ((c=getchar())!='#')
if (isupper(c)) num[c-65]+=1;
for (I=0;I<26;I++)
if (num[I])
printf("%c:%d\n",I+65,num[I]);
return;
}

程序本身没有问题,可以正确地统计所输入字符中的大写字母的个数……不过当你输入的字符中,如果没有大写字母存在的话,运行结果是没有内容显示的(结果为空嘛)……因为每个大写字母的统计结果均为0,即num[I]=0,则执行判断语句if(num[I])时,条件结果为假,无法执行打印程序(printf("%c:%d\n",I+65,num[I]); )……

这种题很简单啊,代码如下所示
void main()
{
char *wps;
int wpi;
int count=0;
int foraide;
printf("Input words\n");
scanf("%s",wp);-
for(wpi=0;*(wps+wpi)!='\0';wpi++)
if(*(wps+wpi)>=65&&*(wps+wpi)<=90)
count++;
if(!count)
printf("0 capital letter\n");
else{
if(count==1)
printf("%d capital letter\n",count);
else
printf("%d capital letters\n",count);}
}