2023.5.27 学生成绩存储与计算

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h> 
#include <Windows.h>
#include <string.h>

int main()

{


    char name[3][20];
        for (int i = 0; i < 3; i++)
        {
            printf("请输入第%d名学生的姓名: ", i + 1);
            scanf("%s", &name[i]);
        }
    float a[3][3];

    for (int i = 0; i < 3; i++)
    {
        for (int j = 0; j < 3; j++)

        {
            if (j == 0)
            {
            
            printf("请输入%s的学生语文成绩: ", name[i]);
            scanf("%f", &a[i][j]);
            }
            else if (j == 1)
            {

                printf("请输入%s的学生数学成绩: ", name[i]);
                scanf("%f", &a[i][j]);
            }


            else if (j == 2)
            {

                printf("请输入%s的学生英语成绩: ", name[i]);
                scanf("%f", &a[i][j]);
            }
        }
    }
    
    
    for (int i = 0; i < 3; i++)
    {
        for (int j = 0; j < 3; j++)
        {
            printf("%f", a[i][j]);

            printf("\t");
                    
        }

        printf("\n");
    }


    printf("\n");

    int* q = a; 
    
    void sum(float (*q)[3], int n); 
    void aver(float (*q)[3], int n);
    int v=0;
    int i;
    printf("请输入你想要哪一名学生的全部成绩:");
    char input_name[20];
    scanf("%s", input_name);
    for (i = 0; i < 3; i++)
    {
        if (strcmp(name[i], input_name) == 0)
        {
            break;
        }
    }
    sum(a, i);

    printf("\n");
    printf("请输入你想要哪一名学生的平均成绩:");
    scanf("%s", &name[i]);
    aver(a, i);

}


void sum(float(*q)[3], int n)
{
    printf("该学生的全科成绩分别是:\t");
    printf("\n");
    for (int i = 0; i < 3; i++)
    {
        
        printf("\t");
        printf("%f", *(*(q + n ) + i));
        
    }
}

void aver(float(*q)[3], int n)
{
    printf("该学生的平均成绩是:\t");
    printf("\n");
    float b=0;
    for (int i = 0; i < 3; i++)
    {
        b = *(*(q + n) + i) + b;
    
    }
    printf("%f", b / 3);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值