原题:输入三行字符串(每行以换行回车为结束符),每行不超过80个字符。统计并输出其有多少个大写字母。
本人所写如下,其中对三个数组进行了三次相同的操作。想尝试简化,但好像不能往数组名中放入变量以使用循环,有什么方法吗?(是否指针有相关方法(指针待学习))
#include<stdio.h>
int main()
{
char arr1[80],arr2[80],arr3[80];
int cnt=0;
for(int i=0;i<80;i++)
{
scanf("%c",&arr1[i]);
if(arr1[i]=='\n')
{
break;
}
else if(arr1[i]>='A'&&arr1[i]<='Z')
{
cnt++;
}
}
for(int i=0;i<80;i++)
{
scanf("%c",&arr2[i]);
if(arr2[i]=='\n')
{
break;
}
else if(arr2[i]>='A'&&arr2[i]<='Z')
{
cnt++;
}
}
for(int i=0;i<80;i++)
{
scanf("%c",&arr3[i]);
if(arr3[i]=='\n')
{
break;
}
else if(arr3[i]>='A'&&arr3[i]<='Z')
{
cnt++;
}
}
printf("%d",cnt);
return 0;
}