编写一个c语言程序。

有5个学生,用n数组存放学号,a数组存放物理成绩,b数组存放数学成绩。程序要求计算并输出:①:数学和物理的平均成绩。②:输出2门课程都低于平均成绩的同学的学号和成绩。③:对数学成绩从高到低排序。符合题目要求的程序即得采纳,先到先得。

#include <stdio.h>

#define MAX_STUDENT 5

int main(void) {

int n[MAX_STUDENT] = {12345, 12346, 12347, 12348, 12349};
int a[MAX_STUDENT] = {60, 70, 80, 90, 100};
int b[MAX_STUDENT] = {65, 75, 85, 95, 100};
int i, j, temp;
float math_avg = 0.0f;
float phy_avg  = 0.0f;
/*
 *  计算平均分
 */
for( i = 0; i < MAX_STUDENT; i++ ) {

math_avg += b[i];
phy_avg  += a[i];
}
math_avg /= MAX_STUDENT;
phy_avg  /= MAX_STUDENT;
printf("数学平均分: %0.2f\n物理平均成绩: %0.2f\n", math_avg, phy_avg);
/*
 *   求两门成绩都低于平均分的学生
 */
for ( i = 0; i < MAX_STUDENT; i++ ) {

if ( a[i] < phy_avg && b[i] < math_avg ) {

printf("两门成绩都低于平均分的同学的学号: %d\n", n[i]);
printf("该同学的数学成绩: %d\n该同学的物理成绩: %d\n", b[i], a[i]);
}
}
/*
 *  冒泡排序
 */
for ( i = 0; i < MAX_STUDENT-1; i++ ) {

for ( j = i+1; j < MAX_STUDENT; j++ ) {

if ( b[i] < b[j] ) {

temp = b[i]; b[i] = b[j]; b[j] = temp;
}
}
}
printf("数学成绩从高到低排序:\n");
for ( i = 0; i < MAX_STUDENT; i++ ) {

printf("%5d", b[i]);
}
printf("\n");
return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-05-03
#include <stdio.h>
void main()
{
int i,j,t,n[5];
float m,a[5],b[5],sum1,sum2,,ave1,ave2;
printf("请输入5个学生的学号、物理成绩和数学成绩:");
for(i=0;i<5;i++)
scanf("%d %f %f",&n[i],&a[i],&b[i]);
for(i=0;i<5;i++)
{
sum1+=a[i];
sum2+=b[i];
}
ave1=sum1/5;
ave2=sum2/5;
printf("物理均分:%.2f,数学均分:%.2f\n",ave1,ave2);
printf("两门都低于均分的同学:");
for(i=0;i<5;i++)
if(a[i]<ave1&&b[i]<ave2)printf("%d %f %f",n[i],a[i],b[i]);
for(i=0;i<4;i++)
for(j=i+1;j<5;j++)
if(b[i]<b[j])
{
t=n[i];n[i]=n[j];n[j]=t;
m=a[i];a[i]=a[j];a[j]=m;
m=b[i];b[i]=b[j];b[j]=m;
}
printf("数学成绩从高到低情况:\n);
for(i=0;i<5;i++)
printf("%d %f %f",n[i],a[i],b[i]);
}
第2个回答  2019-05-02
以下为程序代码及执行结果: #include #include int main() { printf("hello world!\n"); system("pause"); return 0; } 执行结果:
第3个回答  2019-05-02
c语言代码按你的要求编写

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网