c语言已知5个学生的4门课的成绩
❶ c语言编写程序,输入5个同学的4门课考试成绩,求每科的平均成绩和每位同学的总成绩
#include<stdio.h>
#define MP 5//学生人抄数 5
#define MS 4//科目门数 4
int main()
{
float sum1[MP]={0},sum2[MS]={0};
int i,j,scores[MP][MS];
for(i=0;i<MP;i++)
for(j=0;j<MS;j++)
scanf("%d",&scores[i][j]),sum1[i]+=scores[i][j],sum2[j]+=scores[i][j];
printf("每科平均成绩: ");
for(i=0;i<MS;i++)
printf("%.1f ",sum2[i]/MP);
printf(" 每为同学总成绩: ");
for(i=0;i<MP;i++)
printf("%.1f ",sum1[i]);
return 0;
}
❷ C语言:已知5个学生的4门课的成绩,要求求出每个学生的平均成绩,然后对平均成绩从最高到低将各学生的成绩
#include<iostream>
using namespace std;
void main()
{
int i,j,sum,t;
int a[5][5]=,,,,}; //5*5够用了
printf("\n");
for (i=0;i<5;i++)
{ sum=0;
for(j=0;j<4;j++) //加前4个成绩
sum+=a[i][j];
a[i][4]=sum/4;}//平均值除4!存在下标为4的元素内版;
for(int k=0;k<5;k++)// 加了层循环 参看起泡法
for(i=0;i<5-k;i++)
if(a[i][4]<a[i+1][4])//条件权移到循环外了
for(j=0;j<5;j++)
for(i=0;i<5;i++)
{for(j=0;j<5;j++)
printf("%8d",a[i][j]);
printf("\n");}
}
❸ C语言:设有5个学生,每个学生考4门课,试编写程序能检查这些学生有无考试不及格的课程。
int main()
{
float sco[5][4];
int i,j,num=0;
for(i=0;i<5;i++)//数组赋值
for(j=0;j<4;j++)
scanf("%f",&sco[i][j]);
for(i=0;i<5;i++)
{num=0;//记录不及格课程的数目
for(j=0;j<4;j++)
if(sco[i][j]<60) num++;
if(num!=0)//存在不及格课程
{ for(j=0;j<4;j++)//输出当前这个学生的所有成专绩
printf("%f",sco[i][j]);
printf("%d\n",i);//输出当前学属生的序号
}
}
return 0;
}
❹ c语言编程 假设数组score[10][5]中存放10个学生4门课程的成绩,以及10个学生的总成绩,
#include <stdio.h>
int main()
{
int i, j;
int k = 0;
int tmp = 0;
int flag;
int score[10][5] = {
{1, 2, 3, 4, 0},
{2, 2, 3, 4, 0},
{3, 2, 3, 4, 0},
{4, 2, 3, 4, 0},
{5, 2, 3, 4, 0},
{6, 2, 3, 4, 0},
{7, 2, 3, 4, 0},
{8, 2, 3, 4, 0},
{9, 2, 3, 4, 0},
{10, 2, 3, 4, 0},
};
// step 1: 累加计算学生总成绩
for (i=0; i<10; i++)
for (j=0; j<4;j++)
score[i][4] += score[i][j];
// step 2: 按学生总成绩进行降序排序
for (i=0; i<10; i++)
{
flag = i;
for (j=i+1; j<10; j++)
{
if (score[j][4] > score[i][4])
{
flag = j;
}
}
if (flag != i)
{
for (j=0; j<5; j++)
{
tmp = score[i][j];
score[i][j] = score[flag][j];
score[flag][j] = tmp;
}
}
}
// step 3: 输出学生成绩
for (i=0; i<10; i++)
{
for (j=0; j<5; j++)
{
printf("%4d", score[i][j]);
}
printf(" ");
}
return 0;
}
❺ c语言题目,已知5个学生4门成绩,求出平均成绩并且排序
#include<iostream>
using namespace std;
void main()
{
int i,j,sum,t;
int a[5][5]={{78,82,93,74},{91,82,72,76},{67,89,90,65},{77,88,99,89},{78,89,99,76}}; //5*5够用了
printf("\n");
for (i=0;i<5;i++)
{ sum=0;
for(j=0;j<4;j++) //加前4个成绩
sum+=a[i][j];
a[i][4]=sum/4;}//平均值除4!存在下标为4的元素内;
for(int k=0;k<5;k++)// 加了层循环回 参看答起泡法
for(i=0;i<5-k;i++)
if(a[i][4]<a[i+1][4])//条件移到循环外了
for(j=0;j<5;j++)
{t=a[i][j];a[i][j]=a[i+1][j];a[i+1][j]=t;}
for(i=0;i<5;i++)
{for(j=0;j<5;j++)
printf("%8d",a[i][j]);
printf("\n");}
}
❻ 已知5名学生各有4门课的成绩,试求个人平均成绩和各门课的平均成绩。使用C语言
#include<stdio.h>
#include<conio.h>
#defineARR_LEN255/*数组长度上限*/
intmain(void){
floatscore[ARR_LEN][ARR_LEN]={{87,88,93,83},
{76,78,89,93},
{97,89,96,88},
{54,62,71,68},
{65,79,70,69}};
charsubject[ARR_LEN][ARR_LEN]={"科目一","科目二","科目三","科目四"};
intstuCnt=5,subCnt=4;
floatavgStu[ARR_LEN],avgSub[ARR_LEN];
inti,j;
printf("# ");
for(j=0;j<subCnt;j++)
printf("%s ",subject[j]);
putchar(' ');
for(i=0;i<stuCnt;i++){
printf("%d ",i+1);
for(j=0;j<subCnt;j++){
printf("%.2f ",score[i][j]);
}
putchar(' ');
}
putchar(' ');
for(j=0;j<subCnt;j++){
avgSub[j]=0;
for(i=0;i<stuCnt;i++){
avgSub[j]+=score[j][i];
}
avgSub[j]/=stuCnt;
}
printf(" ");
for(j=0;j<subCnt;j++)
printf("%s ",subject[j]);
putchar(' ');
printf("各科目均值 ");
for(j=0;j<subCnt;j++)
printf("%.2f ",avgSub[j]);
putchar(' ');
putchar(' ');
for(i=0;i<stuCnt;i++){
avgStu[i]=0;
for(j=0;j<subCnt;j++){
avgStu[i]+=score[i][j];
}
avgStu[i]/=subCnt;
}
printf(" ");
for(i=0;i<stuCnt;i++)
printf("%d ",i+1);
putchar(' ');
printf("各学生均值 ");
for(i=0;i<stuCnt;i++)
printf("%.2f ",avgStu[i]);
putchar(' ');
getch();/*屏幕暂留*/
return0;
}
如有问题,点击头像联系我~~
❼ 求C语言程序:创建二维数组 输入5个学生的四门课成绩 编程计算每个学生的总分和每门课的平均分~~谢谢
类似的回答:
#include <stdio.h>
#define M 5
#define N 4
int sumStu(int a[][N],int n) //每个同学的总成绩
{
int sum=0,i;
for(i=0;i<N;i++)
sum+=a[n][i];
return sum;
}
int sumSco(int a[][N],int n) //每门课的总成绩,后求平均分
{
int sum=0,i;
for(i=0;i<M;i++)
sum+=a[i][n];
return sum;
}
void sort(int sum[M]) //冒泡排序
{
int i,j,t;
for(i=0;i<M;i++)
for(j=0;j<M-i-1;j++)
if(sum[j]<sum[j+1])
{
t=sum[j];
sum[j]=sum[j+1];
sum[j+1]=t;
}
}
void main()
{
int i,a[M][N],sum1[M],sum3[M],k,j;
float sum2[N];
printf("string:\n");
for(k=0;k<M;k++)
for(j=0;j<N;j++)
scanf("%d",&a[k][j]);
for(i=0;i<M;i++)
sum1[i]=sum3[i]=sumStu(a,i);
for(i=0;i<N;i++)
sum2[i]=sumSco(a,i);
sort(sum3);
printf("每个同学的总成绩:\n");
for(i=0;i<M;i++)
printf("%d ",sum1[i]);
printf("\n每门课的平均分:\n");
for(i=0;i<N;i++)
printf("%0.2f ",sum2[i]/5);
printf("\n每个同学的总成绩由大到小排序:\n");
for(i=0;i<M;i++)
printf("%d ",sum3[i]);
printf("\n");
}
❽ C语言程序设计答案 输入5学生4门课成绩后计算每学生的总分,每门课平均分,输出总分最高的学生姓名和总成
#include<stdio.h>
struct Info
{
char name[30];
float score[4];
}info[5];
void main()
{
int i,j;
float average,max=0;
float total[5]={0,0,0,0,0};
printf("请输入第一位学生的姓名:");
scanf("%s",info[0].name);
printf("请输入该学生四门课成绩:");
for(i=0;i<=3;i++)
scanf("%f",info[0].score+i);
printf("请输入第二位学生的姓名:");
scanf("%s",info[1].name);
printf("请输入该学生四门课成绩:");
for(i=0;i<=3;i++)
scanf("%f",info[1].score+i);
printf("请输入第三位学生的姓名:");
scanf("%s",info[2].name);
printf("请输入该学生四门课成绩:");
for(i=0;i<=3;i++)
scanf("%f",info[2].score+i);
printf("请输入第四位学生的姓名:");
scanf("%s",info[3].name);
printf("请输入该学生四门课成绩:");
for(i=0;i<=3;i++)
scanf("%f",info[3].score+i);
printf("请输入第五位学生的姓名:");
scanf("%s",info[4].name);
printf("请输入该学生四门课成绩:");
for(i=0;i<=3;i++)
scanf("%f",info[4].score+i);
for(j=0;j<=4;j++)
{
for(i=0;i<=3;i++)
total[j]+=info[j].score[i];
if(total[j]>max)max=total[j];
}
for(j=0;j<=4;j++)
if(total[j]==max)printf("%s同学的总分最高,有%g分\n",info[j].name,total[j]);
for(j=0;j<=3;j++)
{
average=(info[0].score[j]+info[1].score[j]+info[2].score[j]+info[3].score[j]+info[4].score[j])/5;
printf("科目%d的平均分是%g\n",j+1,average);
}
}
❾ C语言高手请进!帮小弟编编这个程序: 输入5个学生4门课程的成绩,求各学生成绩的总分和平均数.
#include <stdio.h>
void main()
{
int stu[5][4],i,j,t[5];
float sum=0,a[5];
for(i=0;i<5;i++)
for(j=0;j<4;j++)
scanf("%d",&stu[i][j]);
for(i=0;i<5;i++)
{t[i]=0;
for(j=0,j<4;j++)
{sum=sum+stu[i][j];
t[i]=t[i]+stu[i][j];每个来学自生的总成绩
}
printf("%-5d",t[i]);
a[i]=t[i]/4.0;每个学生的平均成绩
printf("%-5.2d",a[i]);}
}这样写还行啊吧