c语言题目,已知5个学生4门成绩,求出平均成绩并且排序
#include
main()
{
int chengji[5][4]={{51,52,53,0},{61,62,63,0},{71,72,73,0},{81,82,83,0},{91,92,93,0}};//定义二维数组并初始化
int i=0;//用于循环
int j=0;//用于子循环
int t=0;
for (i=0;i<5;i++)
{
chengji[i][3]=(chengji[i][0]+chengji[i][1]+chengji[i][2])/3;
}
printf("排序前:
");
for (i=0;i<5;i++)
{
for (j=0;j<4;j++)
{
printf("%6d",chengji[i][j]);
}
printf("
");
}
for (i=0;i<5;i++)
{
for (j=i;j<5;j++)
{
if (chengji[i][3]<chengji[j][3])
{
t=chengji[i][0];
chengji[i][0]=chengji[j][0];
chengji[j][0]=t;
t=chengji[i][1];
chengji[i][1]=chengji[j][1];
chengji[j][1]=t;
t=chengji[i][2];
chengji[i][2]=chengji[j][2];
chengji[j][2]=t;
t=chengji[i][3];
chengji[i][3]=chengji[j][3];
chengji[j][3]=t;
}
}
}
printf("排序后
");
for (i=0;i<5;i++)
{
for (j=0;j<4;j++)
{
printf("%6d",chengji[i][j]);
}
printf("
");
}
}
由于时间关系,所以排序写的有点不好,不过功能实现了
#include
struct stu{
char name[10];
float score[5];
}stu1[5];
int main()
{
void sort(struct stu* ss);
int i,j,sum;
for(i = 0; i < 5; i++){
printf("%s
","请输入姓名:");
scanf("%s",stu1[i].name);
printf("%s
","请分别输入成绩:");
for(j = 0; j < 4; j++){
scanf("%d",&stu1[i].score[j]);
sum+=stu1[i].score[j];
}
stu1[i].score[5] = sum/4;
}
sort(stu1);
printf("%s","平均成绩从高到底是:");
for( i = 0; i < 5; i++){
printf("%s %d",stu1[i].name,stu1[i].score[5]);
}
return 0;
}
void sort(struct stu* ss)
{
int i ,j,q,temp;
for ( i = 0; i < 4; i++){
q = i;
for( j = i+1; j<5; j++){
if( stu1[q].score[5] < stu1[j].score[5])
q = j;
}
if( q != i){
temp = stu1[i].score[5];
stu1[i].score[5] = stu1[q].score[5];
stu1[q].score[5] = temp;
}
}
}
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");}
}
再给你补充个更完善滴
#include<stdio.h>
#include<string.h>
struct student
{ char name[20];
int Chinese;
int math;
int english;
int computer;
float ave;
};
void main()
{
int sum,num=0;
float array[5][2];
struct student stu_num[5];
void order ();
clrscr();
for(num=0;num<5;num++)
{ printf("please enter the name of student:");
scanf("%s",stu_num[num].name);
printf("please enter the score of Chinese:");
scanf("%d",&stu_num[num].Chinese);
printf("please enter the score of math:");
scanf("%d",&stu_num[num].math);
printf("please enter the score of english:");
scanf("%d",&stu_num[num].english);
printf("please enter the score of computer:");
scanf("%d",&stu_num[num].computer);
sum=0;
sum=stu_num[num].Chinese+stu_num[num].math+stu_num[num].english+stu_num[num].computer;
stu_num[num].ave=(float)sum/4;
clrscr();
}
for(num=0;num<5;num++)
{array[num][1]=stu_num[num].ave;
array[num][0]=num;
}
order(array);
printf("name Chinese math english computer average\n");
for(num=0;num<5;num++)
{printf("%-10s%-10d%-10d%-10d%-10d%-10f\n",stu_num[array[num][0]].name,stu_num[array[num][0]].Chinese,stu_num[array[num][0]].math,stu_num[array[num][0]].english,stu_num[array[num][0]].computer,stu_num[array[num][0]].ave);
}
}
void order(float *score)
{ int i,j,orderno;
float score1;
for(i=0;i<5;i++)
{
for(j=i+1;j<5;j++)
{
if(score[i*2+1]<score[j*2+1])
{ orderno=score[i*2+0];
score1=score[i*2+1];
score[i*2+0]=score[j*2+0];
score[i*2+1]=score[j*2+1];
score[j*2+0]=orderno;
score[j*2+1]=score1;
}
}
}
}
用C 语言数组解题 :已知5个学生的4门课的成绩,要求求出全部学生的门成绩...
include <stdio.h>void main() {int i,j,a[5][4],b[4]={0};for(i=0;i<4;i++)for(j=0;j<5;j++){scanf("%d",&a[i][j]);b[i]+=a[i][j];}for(i=0;i<4;i++)printf("第%d门课程总分: %d,平均分: %.1f\\n",i+1,b[i],b[i]\/5.0);} ...
C语言 求程序 已知有五个学生的数据已存放在文件“studata.txt”中...
include<stdio.h>#include<stdlib.h>#define N 5struct Student{ long num; char name[10]; int score[3]; float ave;}stu[N];void input(int);void save(int,char *);void read(int,char *);void stu_sort(int);void insert(int);int main(){ input(N);\/*输入数据...
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个成绩...
C语言,∑xy ,已知y的5个数,能连续输入5个数充当x数组,并计算出x1y1+x...
Parameter:int n:接收整型数的个数;int num[]:接收所输入的整型数 Return: 0:表示接收成功;-1表示接收失败.\/ int get_n_int(int n,int num[]);int main(void){ int i=0;int len;int sum=0;int x_num[5];int y_num[5]={1,2,3,4,5};len = sizeof(x_num)\/sizeof(x_n...
已知5个连续整数的和为45则在他们后面的五个连续整
根据题目列出方程 设第1个整数为x 则有 x+x+1+x+2+x+3+x+4=45 5x+10=45 x=7 ∴这五个整数是7,8,9,10,11 后五个整数是12,13,14,15,16,他们的和为70 满意请采纳
C语言编程题:有5个学生,每个学生有3门课成绩,从键盘上输入以上数据(包 ...
unsigned int Uint32;typedef struct stu{char name[NAME_MAX];char stu_number[NUMBER_MAX];Uint32 chinese;Uint32 math;Uint32 english;} stu;int main(void){stu students[STUDENTS_MAX];int idx=0;printf("输入5个学生的信息\\n");for(idx=0;idx<STUDENTS_MAX;idx++){printf("name:"...
已知5个有理数,其中每三个数的和为如下的10个数:-12,-4,1,-3,2,10...
(3)式-(4)式得 c=-3 将c=-3代人(2)式 得 a+b=-9 所以 d+e-(a+b)=15-(-9)=24 答,p点在-3点时,有p到5个点的距离和最小为24。.这个题目的已知条件多了,这就是为了迎合SB的出题者,YY的简便方法,变态,阴暗的,心理。显然这位同学 似水流年8716 对5个点的计...
C语言题目 输入五个同学的成绩,用循环程序求平均成绩,输出最高成绩...
您好,很高兴为您作答。通过如下C语言程序,可以实现从键盘输入五个同学的成绩,用循环程序求平均成绩,输出最高成绩:include <stdio.h> int main() { int i, score, sum = 0, max = 0;float avg;for (i = 1; i <= 5; i++) { printf("请输入第%d个同学的成绩:", i);scanf("...
c语言 输入5个数,找出其中最大的数(函数嵌套)
include<stdio.h> int max(int x, int y){return x>y?x:y;} int main(){int a,b,c,d,e;scanf("%d%d%d",&a,&b,&c,&d,&e);printf("%d\\n",max(max(max(max(a,b),c),d),e));return 0;}
高分急求C语言答案! 已知数组中有5个数1 3 5 7 9 按序排列!输入一个数...
兄弟大一吧!我也大一刚学!!不过这题我会!!include<stdio.h> main(){ int a[6] = {1,3,6,7,9};int i,j,x;scanf("%d",&x);for(i=0;i<5;i++) { if(x=j;i--)a[i+1]=a[i];a[j] = x;for(i=0;i<6;i++)printf("%d ",a[i]);printf("\\n");} ...
齐庾得尔: #include<stdio.h> void main() { int a[5][4]; float b[5]; int i; printf("请输入五个学生的四门成绩!"); for(i=0;i<5;i++) for(j=0;j<4;j++) scanf("%d",&a[i][j]); for(i=0;i<5;i++) { sum=0; for(j=0;j<4;j++) sum+= a[i][j]; sum=sum/4; b[i]=sum; } } for(i=0;i<5;i+...
监利县18688044482: c语言题目,已知5个学生4门成绩,求出平均成绩并且排序 - ?
齐庾得尔: #include <stdio.h> main() { int chengji[5][4]={{51,52,53,0},{61,62,63,0},{71,72,73,0},{81,82,83,0},{91,92,93,0}};//定义二维数组并初始化 int i=0;//用于循环 int j=0;//用于子循环 int t=0; for (i=0;i<5;i++) { chengji[i][3]=(chengji[i][0]+chengji[i][1]+...
监利县18688044482: 求C语言程序:创建二维数组 输入5个学生的四门课成绩 编程计算每个学生的总分和每门课的平均分~~谢谢 - ?
齐庾得尔: 类似的回答: #include <stdio.h> #define M 5 #define N 4int 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;...
监利县18688044482: 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;...
监利县18688044482: 输入5个学生4门功课的成绩,然后求出: A每个学生的总分 B没门学科的平均分 C 输出总分最高(C语言) - ?
齐庾得尔: #include <stdio.h> void main() { char name[5][10]; int score[5][4]; int al[5]; int i,j; int k[4]; for (i=1;i<=5;i++) { scanf("%s %d %d %d %d\n",&name[i],&score[i][1],&score[i][2],&score[i][3],&score[i][4]); } for (i=1;i<=5;i++) { al[i]=0; for (j=1;j<=4;j++) { al[i]=...
监利县18688044482: c语言二维数组:创建一个二维数组,从键盘输入5个学生的4门成绩, - ?
齐庾得尔: #include<stdio.h> #include<stdlib.h> #define A 5 #define B 4 int main(void) {int a[A][B],zcj[A],i,j,sum,t;double ave;for(i=0;i<A;i++){printf("请输入第%d个学生的第4门成绩:",i+1);for(j=0;j<B;j++)scanf("%d",&a[i][j]);}for(i=0;i<A;i++)...
监利县18688044482: 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("请输入该学生四门课成绩:"...
监利县18688044482: C语言!对于五个学生的四门课成绩,利用全局变量,用函数求出所有成绩的最高分及最低分 - ?
齐庾得尔: #include <stdio.h> float min,max; struct student { float a[4]; }s[5]; main() { int i,j; for(i=0;i<5;i++) { printf("Input the %dth student's scores:"); for(j=0;j<4;j++) scanf("%f",&s[i].a[j]); } min=max=s[0].a[0]; for(i=0;i<5;i++) for(j=0;j<4;j++) { if(min>s[i].a[j]) ...
监利县18688044482: c语言用指针的方法,输入五位同学四门课的成绩并输出没有不及格科目的同学的 - ?
齐庾得尔: #include using namespace std; int main() { int flag[5] = {1,1,1,1,1};//标识 全部及格时为1 刚开始时默认全部及格 int a[5][4] = {0}; int* p = a[0];//成绩数组头指针 //每位同学有四科成绩要记录 则每两个同学成绩的开始指针间隔为4 printf("请输入...
监利县18688044482: 成绩的编程:如何用C语言编程这个题目:有5个学生,每个学社有四门课程,将有不及格课程的学生成绩输出 - ?
齐庾得尔: 建立一个两维数组,学生为第一个下标,课程为第二个下标,成绩做数组项的值,然后遍历数组,如果小于60就输出成绩就可以了 或者建立五个一维数组,课程做下标,成绩做值,然后遍历输出就可以了