| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 330 人关注过本帖
标题:没有思路。。。。
只看楼主 加入收藏
欢笑LL
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-6-21
结帖率:0
收藏
已结贴  问题点数:20 回复次数:3 
没有思路。。。。
有10个学生,每个学生的数据包括学号、姓名、及3门课的成绩、总成绩及平均成绩,从键盘上输入10个学生的数据(包括学号、姓名及3门课的成绩),要求打印出每位学生的学号、姓名、3门课的成绩、总成绩及平均成绩,最后再打印出3门课的总平均成绩以及最高分的学生数据(包括姓名和总成绩)。要求:
1.    根据学生信息定义一个结构体类型,再说明一个该结构体的数组。
2.    用inupt函数从键盘上输入10学生的数据
3.    用average函数求出每个学生的总成绩、平均成绩、和所有学生的总平均成绩
4.    用maximum函数找出最高分的学生数据
5.    在主函数中输出每位学生学号、姓名、三门课的成绩、总成绩、和平均成绩以及总平均分和最高分学生数据。
输出形式如下:
NO.     name     score1     score2     score3   total     average
101      wang     80         79        81       240     80.00
102      li         91         90        89     270       90.00
Average=85.00
The  highest  score:li,scoretotal:270
搜索更多相关主题的帖子: average 结构体 总成绩 键盘 信息 
2011-06-21 19:44
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:10 
请继续想
2011-06-21 19:47
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:10 
姓名、及3门课的成绩、总成绩及平均成绩
struct Student {
    int id;
    char name[512];
    double score[3];
    double total;
    double average;
};

struct Student stu[10];

—>〉Sun〈<—
2011-06-21 20:29
欢笑LL
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-6-21
收藏
得分:0 
回复 2楼 voidx
我是这么写的但是不让运行。。。。哪错了啊。。。。
#include <stdio.h>
#define N 10
struct stu_info
{int num;
char name [10];
int score [3];
int total;
float aver;
}
stu [N];
void input()
{
int i;
for (i=0;i<N;i++)
{printf ("inupt the %d student xuehao, xingming ,3menkedechengji:\n",i+1);
scanf ("%d%s%d%d%d",&stu[i].num,&stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);
}
}
float average ()
{
int i;
float ave=0.0;
for (i=0;i<N;i++)
{stu[i].total=stu[i].score[0]+stu[i].score[1]+stu[i].score[2];
stu [i].aver=stu [i].total/3.0;
ave +=stu[i].aver;
}
return ave;
}
void maximum (struct stu_info*maxstu)
{
int i;
*maxstu=stu[0];
for (i=1;i<N;i++)
if (maxstu->total<stu[i].total)
*maxstu=stu[i];
}
int main()
{
struct stu_info maxstu;
float Average;
int i;
inupt ();
printf ("NO. name score1 score2 score3 total average\n");
Average=average();
for (i=0;i<N;i++)
printf ("%-8d%-8s%-5d%8d%8d%8d%8.2f\n",stu[i].num,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].total,stu[i].aver);
printf ("Average=%.2f\n",Average);
maximum (&maxstu);
printf ("The highest score: %s,scoretotal:%d\n",maxstu.name,maxstu.total);
return 0;
}
2011-06-22 09:34
快速回复:没有思路。。。。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011874 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved