用c语言编一个程序:有10个学生,每个学生的数据包括:学号、姓名、三门课的成绩。

作者&投稿:葛费 (若有异议请与网页底部的电邮联系)
C语言:有10个学生,每个学生的数据包括学号、姓名、3门课的成绩~

我直接给你吧,不用等他们了
#include
struct student
{
char name[20];
int xue;
char sex;
int age;
double cheng[4];
double ping;
}stu[1000];
int main()
{
int i,j,n;
double sum;
struct student item;
scanf("%d",&n);
getchar();
for(i=0;i<n;i++)
{
sum=0.0;
scanf("%s %d %c %d",stu[i].name,&stu[i].xue,&stu[i].sex,&stu[i].age);
for(j=0;j<4;j++)
scanf("%lf",&stu[i].cheng[j]);
for(j=0;j<4;j++)
sum=sum+stu[i].cheng[j];
stu[i].ping=sum/4;
}
for(j=1;j<n;j++)
for(i=0;i<n;i++)
if(stu[i].ping<stu[i+1].ping)
{
item=stu[i];
stu[i]=stu[i+1];
stu[i+1]=item;
}

for(i=0;i<n;i++)
{
printf("%s %d %c %d ",stu[i].name,stu[i].xue,stu[i].sex,stu[i].age);
for(j=0;j<4;j++)
printf("%lf ",stu[i].cheng[j]);
printf("%lf ",stu[i].ping);
printf("
");
}
return 0;
}
自己写的,你可以测试下,我的好像多个性别把,用M代表男,W代表女,还有什么问的。可追问 ,希望是你的满意答案,谢谢

#include
#define NUM 10
#define SHOW 3

struct student {
int id; //学号
char name[20]; //名字
float score[3]; //3门成绩
float average; //平均分
}info[NUM];

void getdata() //接受学生数据
{
int i;

for(i=0; i<NUM; i++)
{
printf("please input the %d student infomation like:
",i+1);
printf("id name score(1) score(2) score(3)
");
scanf("%d %s %f %f %f",&info[i].id,info[i].name,&info[i].score[0],&info[i].score[1],&info[i].score[2]);
info[i].average = (info[i].score[0] + info[i].score[1] + info[i].score[2])/3.0;
}
return ;
}

void showlist() //输出成绩表
{
int i;

printf("the student information list:
");
printf("idnamescore(1)score(2)score(3)average
");
for(i=0; i<NUM; i++)
{
printf("%d%s%.2f",info[i].id,info[i].name,info[i].score[0]);
printf("%.2f%.2f%.2f
",info[i].score[1],info[i].score[2],info[i].average);
}

}

void showtop() //平均分前3名的名字和平均分
{
int i,j;
struct student top;

for(i=0; i<NUM; i++)
{
for(j=0; j<(NUM-i); j++)
{
if(info[j].average > info[j+1].average)
{
top = info[j];
info[j] = info[j+1];
info[j+1] = top;
}
}
}

printf("the top three average is:
");
printf("nameaverage
");
for(i=NUM; i>NUM-SHOW; i--)
{
printf("%s%.2f
",info[i].name,info[i].average);
}

return;
}

int main()
{
getdata();
showlist();
showtop();
return 0;
}

看到题目现写的,完全按照题目的意思,编译通过,请采纳! 另外可以通过更改宏NUM的值修改学生的个数,更改宏SHOW的值修改显示最高平均分的人数。

#include<stdio.h>
#include"stdlib.h" //用于system("pause...");语句
#include"math.h" //用于函数7
#include"string.h"
#include"iostream.h" //fflush(stdin);

int q=0,p=0;

struct stu
{
char name[100];
char cour[10];
float score[100];
};

float f031(struct stu a[])
{
float x;
{
x=(a[q].score[0]+a[q].score[1]+a[q].score[2]+a[q].score[3]+a[q].score[4])/5;
q++;
}
return(x);
}

float f032(struct stu a[])
{
float y[5]; //*
int i;
y[p]=0;
for(i=0;i<10;i++)
y[p]=y[p]+a[i].score[p];
y[p]=y[p]/10;
p++;
return(y[p-1]);
}

float f033(struct stu a[])
{
float c,max=0;
int i,j;
for(i=0;i<10;i++)
for(j=0;j<5;j++)
if(a[i].score[j]>=max)
max=a[i].score[j];

for(i=0;i<10;i++)
for(j=0;j<5;j++)
if(a[i].score[j]==max)
c=a[i].score[j];
return(c);
}

int f034(struct stu a[])
{
float max=0;
int i,j,w;
for(i=0;i<10;i++)
for(j=0;j<5;j++)
if(a[i].score[j]>=max)
max=a[i].score[j];
for(i=0;i<10;i++)
for(j=0;j<5;j++)
if(a[i].score[j]==max)
w=i;
return(w);
}

int f035(struct stu a[])
{
float max=0;
int i,j,r;
for(i=0;i<10;i++)
for(j=0;j<5;j++)
if(a[i].score[j]>=max)
max=a[i].score[j];

for(i=0;i<10;i++)
for(j=0;j<5;j++)
if(a[i].score[j]==max)
r=j;
return(r);
}

float f036(struct stu a[])
{
float x,y=0,z=0;
int i,j;
for(i=0;i<10;i++)
{
x=0;
for(j=0;j<5;j++)
x=x+a[i].score[j];
x=x/5;
y=y+x*x;
z=z+x;
}
return(y/10-(z*z)/(10*10));
}

void main()
{
float f031(a),f032(a),f033(a),f036(a);
int f034(a),f035(a);
struct stu a[100];
int i,j;

printf("此函数为: 输入10个学生5门课的成绩,分别用函数求出:\n (1)每个学生的平均分;(2)每门课的平均分;(3)找出最高的分数所对应的学生和课程;\n(4)求出平均分方差 x0=(x1^+x2^+...+xn^)/n+((x1+x2+...+xn)/n)^ . \n");
printf("请分别输入五门课程\n");
for(i=0;i<5;i++)
scanf("%s",a[i].cour);

printf("请输入十个姓名\n");
for(i=0;i<10;i++)
scanf("%s",a[i].name);
printf("请分别输入十行成绩(每行五列)\n");
for(i=0;i<10;i++)
for(j=0;j<5;j++)
scanf("%f",&a[i].score[j]);

printf("输出为:\n");
printf("姓名");
for(i=0;i<5;i++)
printf("%12s",a[i].cour);
printf("\n");
for(i=0;i<10;i++)
{ printf("%-12s",a[i].name);
for(j=0;j<5;j++)
printf("%-12.1f",a[i].score[j]);
printf("\n");
}

printf("每个学生的平均分为:\n");
for(i=0;i<10;i++)
printf("%-8s%0.1f\n",a[i].name,f031(a));
q=0;
printf("每门课的平均分为:\n");
for(i=0;i<5;i++)
printf("%-12s%0.1f\n",a[i].cour,f032(a));
p=0;
printf("最高的分数所对应的学生和课程为: \n");
printf("%-8.1f%12s%12s\n",f033(a),a[f034(a)].name,a[f035(a)].cour);
printf("平均分方差= ");
printf("%0.2f\n",f036(a));

system("pause...");

}
很相似,自己试着改改吧

呵呵

到我空间里看看!里面有你要的程序!


怎样用C语言编一个两数相加的程序?
您可以使用C语言中的加法运算符(+)来编写一个两数相加的程序。以下是一个简单的示例程序:在上面的程序中,我们首先定义了三个变量:num1、num2和sum。num1和num2用于存储用户输入的两个数字,而sum用于存储这两个数字的和。接下来,我们使用printf函数提示用户输入两个数字,并使用scanf函数将用户...

编写一个C语言程序?
include <stdio.h> int main() { int n, c = 0, num = 0;do { printf("请输入一个二位数n(80<=n<=99): ");scanf("%d", &n);}while (n < 80 || n > 99);int a[100];for (int i = 1; i <= n; i++)a[i] = 1;while (c < n - 1) { for (int i = ...

C语言编一个程序
){ xmax = x[i];} sum += x[i];} sum = sum \/ 10.0;for ( i = 0; i < N; i++ ){ temp = fabs( x[i] - sum );if ( temp < xmax ){ xmax = temp;xP = i;} } fp = fopen ("c:\\\\design.dat", "w");fprintf (fp, "%5f", x[xP]);fclose(fp);} ...

C语言编写程序,将一个一维数组的值按逆序重新存放。
include<stdio.h> int main(){ int a[5]={8,6,5,4,1},i,n=5,temp;for(i=0;i<n\/2;i++){ temp=a[i];a[i]=a[n-i-1];a[n-i-1]=temp;} for(i=0;i<n;i++){ printf("%d\\t",a[i]);} system("pause");return 0;} ...

c语言编程代码
i<3;i++)for(j=0;j<10;j++)if(p[i][j]=='a')printf("发现:第%d行第%d个元素是‘a’,已替换\\n",i+1,j+1),p[i][j]='1';} void show(char (*p)[10]){ int i,j;for(i=0;i<3;i++,printf("\\n"))for(j=0;j<10;j++)printf("%c ",p[i][j]);} ...

c语言编一个小程序
include<stdio.h> include<stdlib.h> int main(){ int i,j;for(i=1;i<=4;i++){ for(j=1;j<=4-i;j++)printf(" ");for(j=1;j<=i;j++)printf("*");for(j=i-1;j>=1;j--)printf("*");printf("\\n");} for(i=3;i>=1;i--){ for(j=1;j<=4-i;j++)printf...

编写一个c语言程序。
include <stdio.h>#define MAX_STUDENT 5int 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 ...

编写一个C语言程序?
对应题目:输入n(n<100)个整数,将所有的偶数倒序输出 代码截图 代码 运行结果 结果 完整代码 include <stdio.h> \/\/输入n(n<100)个整数,将所有的偶数倒序输出 int main(){ int n;int num[105]={0};int i=0;scanf("%d",&n);\/\/输入n for(i=1;i<=n;i++){\/\/循环n次 scanf("%d...

急啊!请编写一个C语言程序,根据以下公式求π的值(要求满足精度0.0005...
include <stdio.h> include <math.h> double fun(double eps){ double s=1.0;float t=1,pi=0,n=1.0;while((fabs(s))>=eps){ pi+=s;t=n\/(2*n+1);s*=t;n++;} pi=pi*2;return pi;} main(){ double x;printf("Input eps:");scanf("%lf",&x); printf("\\neps=%...

用c语言编写一个简单计算器程序
#include<stdio.h>//计算器 voidmenu()//自定义的菜单界面 { printf("---\n");printf("请输入你的选择\n");printf("1.+\n");printf("2.-\n");printf("3.*\n");printf("4./\n");printf("---\n");} intmain(){ int...

三门县19724402054: c语言:编写程序输入 10 个学生的成绩,计算并输出最高成绩和平均成绩,然后统计低于平均成绩的人数 -
逄冒安达: #include<stdio.h> int main() { int i; float a[10],min,max,avg;//max表示最高分,min表示最低分,avg表示平均分 printf("请输入10位学生的分数\n"); printf("********************************\n"); for(i=0;i<=9;i++) { printf("请输入一位学生的分数:"...

三门县19724402054: 用C语言编程:从键盘输入10个学生的成绩,由高到低排序输出成绩 -
逄冒安达: 你好,我们这里需要用到数组镶套使用for函数以及冒泡算法,具体的代码如下. #include <iostream> using namespace std; int main() { int s [10], i, j, t; cout << "输入10个数:"; for (i = 0; i < 10; i++) { cout << "请输入第" << i+1 << "名学生的...

三门县19724402054: C语言编程1、编写一个程序实现如下功能:输入10个学生5门课程的成绩,分别用函数求:①每个学生的平均分;②每门课程的平均分;③找出最高的分数所... -
逄冒安达:[答案] 第一题:#include #include #define STUDENT_NUM 2 //学生数量,修改成10即可#define COURSE_NUM 5 //课程数量,为5typedef struct { float course[COURSE_NUM]; float ave;} student;void main(){ student s...

三门县19724402054: 帮忙用C语言编程:有10个学生,每个学生数据包括学号,姓名,四门课的成绩,从键盘输入10个学生的数据记录 -
逄冒安达: 这个容易哦,不过分太少了. 因为分太少,所以偷了点懒.按E和按F键的功能,我没有做.就是说,少写两个函数. 而且输入格式方面也有点问题.当然,改起来不难. 如果你加分的话,我会帮你做完. 呵呵,其实做到这里,其它的也不难了,可以自己...

三门县19724402054: 用C语言编程:从键盘输入10个学生的成绩和学号,将其排序输出,并输出中要有相应的学生学号 -
逄冒安达: # include<stdio.h>struct student {int id;int score; }stu[10];int main(void) {int i,m;struct student j; for( i=0; i<10; i++){printf("请输入学生的学号:");scanf("%d",&stu[i].id);printf("请输入学生的成绩:");scanf("%d",&stu[i]....

三门县19724402054: C语言 编写程序处理10个学生的信息,每个学生的信息包括:学号、姓名、三门成绩. -
逄冒安达: #include<stdio.h> #define N 5 struct Student { int num; char name[8]; float score[3]; }stu[5]; void input(struct Student stu[]) { int i; for( i = 0; i < N; i++ ) scanf("%ld,%s,%f,%f,%f\n",&stu[i].num,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);...

三门县19724402054: C语言:编写一个程序,从键盘输入10个学生成绩,求平均成绩. -
逄冒安达: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16/* C语言:编写一个程序,从键盘输入10个学生成绩,求平均成绩*/ #include <stdio.h> #define N 10 intmain() {floatarr[N]={0.0},s=0.0;inti;for(i=0;i!=N;++i){//输入scanf("%f",&arr[i]);s+=arr[i];}printf("%0.2f\n", s/N);//输出平均数return0; }

三门县19724402054: c语言编程:有一个数组,内放10个学生的成绩,求平均数 -
逄冒安达: void main() {double sum,avg,score(10); int i; for(i=0;i<10;i++) scanf('%f',&score(i)); for(i=0;i<10;i++) sum+=score(i); avg=sum/10; printf('%f',avg); }

三门县19724402054: C语言编程关于10个学生的信息包括学号,姓名几三门课的成绩
逄冒安达: #include "stdio.h"#include "conio.h"#include "math.h" struct node {int num; char *name;int a;int b;int c;int d;}; typedef struct node AA; shuchu(AA *p) {int i; printf("学号\t姓名\t语文\t数学\t英语\t平均分\n"); for(i=0;i<10;i++,p++) { printf("%...

三门县19724402054: 求C语言高手帮忙!1.编写程序,输入10个学生的成绩数据,计算并输出平均分及低于平均分的学生的人数.
逄冒安达: #include "stdafx.h"#include <stdio.h>#include <string.h>int main(int argc, char* argv[]){ int iCount=0,i=0; float fAvg=0,fSum=0,a[10]; printf("请输入10个学生的成绩:"); while(i<10) { scanf("%f",&fAvg); a[i]=fAvg; fSum=fSum+fAvg; i++; } ...

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