下面几个问题用C语言编写程序,求大神帮帮忙
2.任意输入一个小班(30人)的所有同学《程序设计技术》科目的期末成绩,要求输出最好的2个成绩。3.任意输入一个小班(30人)的所有同学《程序设计技术》科目的期末成绩,要...
2
.任意输入一个小班(
30
人)的所有同学《程序设计技术》科目的期末成绩,
要求输出最好的
2
个成绩。
3
.任意输入一个小班(
30
人)的所有同学《程序设计技术》科目的期末成绩,
要求输出最高分的同学及其标号(或者学号)
4
.任意输入一个小班(
30
人)的所有同学《程序设计技术》科目的期末成绩,
计算出该科目全班的平均分,要求求得并输出与平均分最近的同学的成绩及其
标号(或者学号) 展开
.任意输入一个小班(
30
人)的所有同学《程序设计技术》科目的期末成绩,
要求输出最好的
2
个成绩。
3
.任意输入一个小班(
30
人)的所有同学《程序设计技术》科目的期末成绩,
要求输出最高分的同学及其标号(或者学号)
4
.任意输入一个小班(
30
人)的所有同学《程序设计技术》科目的期末成绩,
计算出该科目全班的平均分,要求求得并输出与平均分最近的同学的成绩及其
标号(或者学号) 展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励20(财富值+成长值)+提问者悬赏70(财富值+成长值)
1个回答
展开全部
#include <stdio.h>
#define N 30
struct {
int id;
char name[10];
int sore;
}stu[N],st;
int main()
{
void selectMax_1();
void selectMax_2();
void fun_3();
int i;
puts("C语言作业:");
for(i = 0;i < N;i++){
printf("请输入第%d个学生的id 姓名 成绩:\n",i+1);
scanf("%d %s %d",&stu[i].id,&stu[i].name,&stu[i].sore);
}
selectMax_1();
selectMax_2();
fun_3();
return 0;
}
void selectMax_1(){
int i, max_sore = 0;
for(i = 0;i < N;i++){
if(stu[i].sore > max_sore)
max_sore = stu[i].sore;
}
printf("最高的成绩是: %d\n",max_sore);
}
void selectMax_2(){
int i;
st.sore = 0;
for(i = 0;i < N;i++){
if(stu[i].sore > st.sore)
st = stu[i];
}
printf("最高成绩的学生信息: id = %d name = %s sore = %d \n",st.id,st.name,st.sore);
}
void fun_3(){
int i,count;
float ave,differ = 101 ;
for(i = 0;i < N;i++){
count += stu[i].sore;
}
ave = (float)count / (float)N;
for(i = 0;i < N;i++){
if(differ > (stu[i].sore - ave)){
differ = stu[i].sore - ave;
st = stu[i];
}
}
printf("最接近平均分的学生信息: id = %d name = %s sore = %d \n",st.id,st.name,st.sore);
}
写完了,有不懂的地方或是要改的地方可以回复,毕竟有太多的算法可以实现。
#define N 30
struct {
int id;
char name[10];
int sore;
}stu[N],st;
int main()
{
void selectMax_1();
void selectMax_2();
void fun_3();
int i;
puts("C语言作业:");
for(i = 0;i < N;i++){
printf("请输入第%d个学生的id 姓名 成绩:\n",i+1);
scanf("%d %s %d",&stu[i].id,&stu[i].name,&stu[i].sore);
}
selectMax_1();
selectMax_2();
fun_3();
return 0;
}
void selectMax_1(){
int i, max_sore = 0;
for(i = 0;i < N;i++){
if(stu[i].sore > max_sore)
max_sore = stu[i].sore;
}
printf("最高的成绩是: %d\n",max_sore);
}
void selectMax_2(){
int i;
st.sore = 0;
for(i = 0;i < N;i++){
if(stu[i].sore > st.sore)
st = stu[i];
}
printf("最高成绩的学生信息: id = %d name = %s sore = %d \n",st.id,st.name,st.sore);
}
void fun_3(){
int i,count;
float ave,differ = 101 ;
for(i = 0;i < N;i++){
count += stu[i].sore;
}
ave = (float)count / (float)N;
for(i = 0;i < N;i++){
if(differ > (stu[i].sore - ave)){
differ = stu[i].sore - ave;
st = stu[i];
}
}
printf("最接近平均分的学生信息: id = %d name = %s sore = %d \n",st.id,st.name,st.sore);
}
写完了,有不懂的地方或是要改的地方可以回复,毕竟有太多的算法可以实现。
追问
这是三个小题,可以分开写么。
追答
3个方法对应3个小问题
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询