c++编写程序,实现从终端输入学生信息,根据学号查询并输出相应学生的信息

c++编写程序,实现从终端输入学生信息,根据学号查询并输出相应学生的信息。学生信息包括:学号no、姓名name、政治分数politic、数学分数maths、英语分数eng... c++编写程序,实现从终端输入学生信息,根据学号查询并输出相应学生的信息。学生信息包括:学号 no、姓名 name、政治分数 politic、数学分数 maths、英语分数 english和专业课分数 special。
在线等,急求
展开
 我来答
稳住大神
推荐于2017-09-15 · TA获得超过123个赞
知道小有建树答主
回答量:246
采纳率:0%
帮助的人:198万
展开全部
#include<stdio.h>
#include<malloc.h>
struct Student
{
    int num;  //学号
    char name[20]; //姓名
    struct Score score;
};

struct Score
{
float politic;
float maths;
float english;
float special;
};

int main()
{
    int M,N,i,j;
    printf("Please input M:");
    scanf("%d",&M);
    struct Student *stu = NULL;
    stu = (struct Student*)malloc(sizeof(struct Student)*M); //创建一个结构体含有N个数据
    for(i = 0; i < M; i++)
    {
        printf("Please input the No%d student's number:",i+1);
        scanf("%d",&stu[i].num);
        printf("Please input the No%d student's name:",i+1);
        scanf("%s",stu[i].name);
        stu[i].score.politic = 0.0; //初始化float 老版本编译器如果不初始化可能会报错
printf("Please input the No%d student' score of",i+1);
scanf("%f",&stu[i].score.politic);
stu[i].score.maths = 0.0; 
scanf("%f",&stu[i].score.maths);
stu[i].score.english = 0.0; 
scanf("%f",&stu[i].score.english);
stu[i].score.special = 0.0; 
scanf("%f",&stu[i].score.special);
    }
    printf("Please input N:");
    scanf("%d",&N);
for(i = 0; i < M; i++)
{
if(i+1 == N)
{
peinrf("%d %s %.2f %.2f %.2f %.2f\n",stu[i].num,stu[i].name,
 stu[i].score.politic,
 stu[i].score.maths,
 stu[i].score.english,
 stu[i].score.special);
}
}
    free(stu); //释放
    return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式