数组相关,统计计数,C语言练习

一 编写程序,从键盘任意输入10个数,输出这些偶数,并统计偶数的个数,并计算这些偶数之和。

二 编写程序,从键盘输入一个字符串,并统计各字母出现的次数(不区分大小写)。

三 从键盘输入10名学生的成绩,统计出高于平均分的学生人数。

四:三位数由键盘输入,找出百位数字加十位数字等于个位数字的所有三位整数,把这些整数放在一个一维数组中,然后输出,并统计满足条件数据的个数。

五:给5*5的二维数组赋初值后,使数组左下半三角元素中的值都加上5后输出。要求每行每列元素值由随机函数rand函数产生,且为1~20的整数。
备注:用rand()%20+1产生1-20之间的整数。rand()%k的作用是产生的随机数大于等于0,且小于k的整数。

5个题,网上基本都能找到例子
(1)

#include <stdio.h>
int main()
{
    int a[10], i, cnt = 0;
    int sum = 0;
    printf("请输入10个整数:\n");
    for (i = 0; i < 10; i++)
    {
        scanf("%d", &a[i]);        
    }
    printf("偶数:");
    for (i = 0; i < 10; i++)
    {
        if (a[i] % 2 == 0)
        {
            printf("%d ", a[i]);
            sum += a[i];
            cnt++;
        }
    }
    printf("\n共%d个,偶数和为:%d\n", cnt, sum);
    return 0;
}

(2)

#include <stdio.h>
int main()
{
    char str[1000];
    int a[26] = { 0 }, i;
    gets_s(str);
    for (i = 0; str[i] != '\0'; i++)
    {
        if (str[i] >= 'a' && str[i] <= 'z')
            a[str[i] - 'a'] += 1;
        if (str[i] >= 'A' && str[i] <= 'Z')
            a[str[i] - 'A'] += 1;
    }
    for (i = 0; i < 26; i++)
    {
        if (a[i] > 0)
            printf("%c: %d\n",(char) (a[i] + 'a'), a[i]);
    }
    return 0;
}

(3)

#include <stdio.h>
int main()
{
    float a[10], ave = 0;
    int i, cnt = 0;
    printf("请输入10个学生的成绩:\n");
    for (i = 0; i < 10; i++)
    {
        scanf("%f", &a[i]);
        ave += a[i];
    }
    ave /= 10;
    for (i = 0; i < 10; i++)
    {
        if (a[i] > ave)
            cnt++;
    }
    printf("高于平均分的人数:%d", cnt);
    return 0;
}

(4)


#include <stdio.h>
int main()
{
    int n, a, b, c;
    int all[100], cnt = 0;
    for (n = 100; n <= 999; n++)
    {
        a = n / 100;
        b = n / 10 % 10;
        c = n % 10;
        if (a + b == c)
        {
            all[cnt] = n;
            cnt++;
        }
    }
    for (n = 0; n < cnt; n++)
        printf("%d ", all[n]);
    printf("共%d个", cnt);
    return 0;
}

(5)

#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int main()
{
    int a[5][5], i, j;
    srand(time(0));
    printf("请输入5*5的二维数组:\n");
    for (i = 0; i < 5; i++)
    {
        for (j = 0; j < 5; j++)
            scanf("%d", &a[i][j]);
    }
    //左下半三角
    for (i = 0; i < 5; i++)
    {
        for (j = 0; j <= i; j++) //这个写法包含对角线,如果不包含对角线,j<=i改为j<i即可
            a[i][j] += rand() % 10 + 1;
    }
    //输出
    for (i = 0; i < 5; i++)
    {
        for (j = 0; j < 5; j++) 
            printf("%d ", a[i][j]);
        printf("\n");
    }
    return 0;
}


#include<stdio.h>
int main()
{
int i,a[10],s=0,b=0;
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<10;i++) 
{
if(a[i]%2==0)
{ 
printf("偶数为:%d\n",a[i]);
s=s+a[i];
b++;
} 
}
printf("偶数的和为:%d\n",s);
printf("偶数的个数为;%d\n",b);
return 0;
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632