Mori SAMA 2023-10-30 17:44 采纳率: 100%
浏览 5
已结题

C语言如何简化对相同性质的数组的重复操作?

原题:输入三行字符串(每行以换行回车为结束符),每行不超过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;
}
  • 写回答

2条回答 默认 最新

  • Linux_春风 2023-10-30 17:47
    关注

    不知道学了函数没有。函数可以解决
    你把对数组的操作封装成一个函数,把数组作为传参传入就行了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月7日
  • 已采纳回答 10月30日
  • 创建了问题 10月30日