吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1198|回复: 9
收起左侧

[求助] 求教,计算一个学生的总分需要使用数组吗,

[复制链接]
回帖奖励 7 CB吾爱币 回复本帖可获得 1 CB吾爱币奖励! 每人限 1 次(中奖概率 50%)
Leon19960120 发表于 2021-12-16 19:13
本帖最后由 Leon19960120 于 2021-12-20 20:11 编辑

声明一个结构体类型如下:
[C] 纯文本查看 复制代码
struct student{

int Num; /*学号*/

char Name[20]; /*姓名*/

float Chinese; /*中文成绩*/

float Math ; /*数学成绩*/

float English ; /*英语成绩*/

float Tscore ; /*总分*/

}
请使用该结构体,编写一个简单的程序,要求输入一个学生的学号、姓名、中文成绩,数学成绩和英语成绩后,
计算出该同学的总分。
最后输出该学生的学号、姓名、中文成绩,数学成绩、英语成绩和总分。
哪个大佬给个答案,要求就是c,

免费评分

参与人数 2吾爱币 +1 热心值 +1 收起 理由
lin文 + 1 我很赞同!
shane2021 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

zxl1227 发表于 2021-12-16 19:49
不用数组,结构体就分配不同的储存单元,就设个结构体数组就行

#include <stdio.h>
struct student{

int Num; /*学号*/

char Name[20]; /*姓名*/

float Chinese; /*中文成绩*/

float Math ; /*数学成绩*/

float English ; /*英语成绩*/

float Tscore ; /*总分*/

}boy[1000];
int main()
{
正常写就行
}
demo_plus 发表于 2021-12-16 20:27

回帖奖励 +1 CB吾爱币

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define SIZE 5


typedef struct Student {
        int Num;
        char Name[20];
        float Chinese;
        float Math;
        float English;
        float Tscore;
}student[SIZE];


int main() {

        student stu;
        for (int i = 0; i < SIZE; ++i) {
                printf("第%d个学生信息\n", i + 1);

                printf("请输入学号:");
                scanf("%d", &(stu[i].Num));
               

                printf("请输入名字:");
                scanf("%s", &(stu[i].Name));

                printf("请输入中文成绩:");
                scanf("%f", &(stu[i].Chinese));

                printf("请输入数学成绩:");
                scanf("%f", &(stu[i].Math));

                printf("请输入英语成绩:");
                scanf("%f", &(stu[i].English));

                stu[i].Tscore = stu[i].Chinese + stu[i].Math + stu[i].English;
        }

        for (int i = 0; i < SIZE; ++i) {
                printf("学号:%d, 名字:%s, 中文成绩:%f, 数学成绩:%f,英语成绩:%f, 总分:%f\n", stu[i].Num, stu[i].Name, stu[i].Chinese, stu[i].Math, stu[i].English, stu[i].Tscore);
        }
       
       
        printf("\n");
        return 0;
}

免费评分

参与人数 2热心值 +2 收起 理由
vita123 + 1 热心回复!
Leon19960120 + 1 热心回复!

查看全部评分

ShyGW 发表于 2021-12-16 20:29
huzp 发表于 2021-12-16 20:42
c语法都忘了,哈哈,方法有很多种的,主要看自己怎么用
内存空间不足 发表于 2021-12-16 20:43
我的想法和三楼一样
侃遍天下无二人 发表于 2021-12-16 21:13
只是一个学生吗?那样连结构体都不需要,放两个变量就行了
leoking0001 发表于 2021-12-16 21:17

回帖奖励 +1 CB吾爱币

都已经结构体用上了,还啥数组
JackEddy2021 发表于 2021-12-16 21:46
结构体是啥?
 楼主| Leon19960120 发表于 2021-12-19 09:02
本帖最后由 Leon19960120 于 2021-12-19 09:04 编辑

[C] 纯文本查看 复制代码
#include<stdio.h>
#define N 1
struct student
{
        int  Num;          /*学号*/
                char Name[20];     /*姓名*/
                float Chinese;     /*中文成绩*/
                float Math;       /*数学成绩*/
                float Tscore;     /*总分*/

};
int main()
{
        struct student stu[N];
        int i; float ave = 0;
        printf("请输入学生学号、姓名、中文成绩和数学成绩:\n");


        for (i = 0; i < N; i++)
        {
                scanf("%d%s", &stu[i].Num, stu[i].Name);
                getchar();
                scanf("%f%f", &stu[i].Chinese, &stu[i].Math);
                stu[i].Tscore = stu[i].Chinese + stu[i].Math;
        }
        
        for (int i = 0; i < N; ++i) {
                printf("%.2f\n", stu[i].Tscore);
        }
                
        
        return 0;
}
请问getchar的目的是什么,不算有scanf了吗
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 18:59

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表