请用C语言编写如下程序:有一个班的4个学生,有5门课 C语言错误,指针,有一个班4个学生,5门课程。 ①求第1门课...

作者&投稿:朱蚁 (若有异议请与网页底部的电邮联系)
#include "stdio.h"
struct student
{
char cord[10];
double cj[5];
double av;
int jg;
};
double input(student *st)
{
int i,j;
double s,s1;
s1=0;
for(i=0;i<4;i++)
{
s=0;
printf("输入第%d名学生的学号和5门成绩:",i+1);
scanf("%s",st[i].cord); 
for(j=0;j<5;j++)
{
scanf("%lf",&st[i].cj[j]);
s+=st[i].cj[j];
if(j==0)
s1+=st[i].cj[j];
}
st[i].av=s/5;
}
printf("

");
return s1;
}
void jg2(student *st)
{
int i,j,k;
for(i=0;i<4;i++)
{
st[i].jg=0;
for(j=0;j<5;j++)
{
if(st[i].cj[j]>=60) 
st[i].jg+=1;
}
if(st[i].jg<3)
{
printf("%10s: ",st[i].cord);
for(k=0;k<5;k++)
{
printf("%3.0lf ",st[i].cj[k]);
}
printf("%3.2lf
",st[i].av);
}
}
printf("

");

void gf(student *st)
{
int i,j,k,m;
for(i=0;i<4;i++)
{
if(st[i].av>=90)
{
m=0;

}
else
{
for(j=0;j<5;j++)
{
if(st[i].cj[j]<85)
{
m=1;
break;
}
else
{
m=0;
}
}
}
if(m==0)
{
printf("%10s: ",st[i].cord);
for(k=0;k<5;k++)
{
printf("%3.0lf ",st[i].cj[k]);
}
printf("%3.2lf
",st[i].av);
}
}
printf("

");
}
int main()
{
double av1;
struct student st1[4];
av1=input(st1)/4;
printf("第一门课的平均分:%lf

",av1);
printf("两门不及格:
");
jg2(st1);
printf("平均成绩在90分以上或全部成绩在85分以上的学生:
");
gf(st1);
}



像这类的程序我做过很多都是采用模块化设计,需要可以给你,希望能了个帮助你

int c[4][5];
int i,j,m,n;
...
/*行表示学生,列表示课程吧*/
c[1][0]=1;学号
c[1][1]=89;第一名课程成绩
。。。
m=0;
n=0;
for (i=1;i<5;i++)
m=m+c[i][1];
m=m/4;
printf("di yi men ke jun fen %d" ,m);

for (i=1;i<5;i++)
{
n=0;
for( j=1;i<=5;j++)
if (c[i][j]<60)n++
if (n>1)
{
for( j=0;i<=5;j++)
输出此人各科成绩
}
}
。。。

C语言 有一个班4个学生,5门课程分别用函数求:~

按照你的要求,代码编译调试过了。修改N便可以随意输入多少个同学,默认为4。
输入格式为:
tom 75 60 35 20 15


#include
#include
#include
#define N 4



struct Boy{
char name[20];
int c1;
int c2;
int c3;
int c4;
int c5;
int sum;
};
typedef struct Boy boy;
boy classmate[N];
void initboy(boy * mem,int num);
void sort_print(boy* mem,int num);
int cmp ( void const* b1 ,void const * b2);

int main(int argc, char *argv[]){
initboy(classmate,N);
sort_print(classmate,N);
system("PAUSE");
return EXIT_SUCCESS;
}


void initboy(boy * mem,int num){
int i=0;
int error=0;
printf("总共 %d 同学
",num);
for (i=0;i<num;i++){

res:
printf("输入 第%d同学: 姓名 成绩1 成绩2 成绩3 成绩4 成绩5:
",i+1);
error=0;
error+=scanf("%s",&mem->name);
error+=scanf("%d",&mem->c1);
error+=scanf("%d",&mem->c2);
error+=scanf("%d",&mem->c3);
error+=scanf("%d",&mem->c4);
error+=scanf("%d",&mem->c5);

if(error!=6) {
fflush(stdin);printf("input error
重新");
goto res;}
mem->sum= ( mem->c1 + mem->c2 + mem->c3 +
mem->c4 + mem->c5)/5;
mem++;
}

}


void sort_print(boy* mem,int num){
int i=0;
printf("

%10s%5s%5s%5s%5s%5s%5s
", "name","c1","c2",
"c3","c4","c5","av");
for (;i<N;i++){
printf("%10s%5d%5d%5d%5d%5d%5d
", classmate[i].name,classmate[i].c1,
classmate[i].c2,classmate[i].c3,
classmate[i].c4,classmate[i].c5,
classmate[i].sum);
}
qsort(classmate,N,sizeof(boy),cmp);
printf("

%10s%5s%5s%5s%5s%5s%5s
", "name","c1","c2",
"c3","c4","c5","av");
i=0;
for (;i<N;i++){
printf("%10s%5d%5d%5d%5d%5d%5d
", classmate[i].name,classmate[i].c1,
classmate[i].c2,classmate[i].c3,
classmate[i].c4,classmate[i].c5,
classmate[i].sum);
}
}
int cmp (void const * b1 ,void const * b2){
boy *a1=(boy *)b1;
boy *a2=(boy *)b2;
if (a1->sum > a2->sum)
return -1;
if (a1->sum sum)
return 1;
return 0;
}

//错误看代码里的注释#includeint main(){ float cour_aver(float (*p)[5],int cour);void fail_two(float (*p)[5]);void excellent(float (*p)[5]);int i,j;float score[4][5]; for(i=0;i=2){ printf("Student No.%d",i+1);for(j=0;j=85)b++;}stu_aver=sum/5;if(stu_aver>=90||b==5)printf("Student No.%d",i+1);}printf("
");}

2、c语言:假定某班有40个同学参加了计算机等级考试,编写一个程序求该...
答:将所有同学的成绩全部加到一起,然后除以该班级的人数,然后用该班级总人数除以该班级通过人数,就能求出班级考试平均分和通过率。pp--8627--516---36--- for i=1 to 40 sum=sum+a(i)next i ave=sum/40 for i=1 to 40 if a(i)>ave then n=n+1 next i printf n ...

如何用c语言写一个程序输入班级学号的内容?
答:下面是一个用C语言编写的程序,可以输入班级和学号的内容,并打印出来:c include <stdio.h> int main() { char class[20]; // 定义班级字符串,长度为20 int number; // 定义学号整数 printf("请输入班级:");scanf("%s", class); // 输入班级字符串 printf("请输入学号:");scanf("%d...

用c语言do……while编写一个班级平均分计算程序每次执行该程序都能够处...
答:以下是使用C语言do…while编写的班级平均分计算程序:```c include <stdio.h> int main() { int grade, sum = 0, count = 0;float average;do { printf("请输入学生成绩(输入负数表示结束):");scanf("%d", &grade);if (grade >= 0) { sum += grade;count++;} } while (grade >...

编写程序求一个班学生C语言成绩的平均分。用0表示循环结束
答:include <stdio.h>int main(){ int score; int t=0; int n=0; while(1) { scanf("%d",&score); if(score==0) break; t+=score; n++; } printf("%f\n", (float)t/n); return 0;} ...

...成绩各分数段的分布人数,每个人的成绩随机输入?用c语言
答:scanf("%d",score[i-1],eng);} printf("\n")for(i=1;i<=20;i++){ for(j=1;j<=100;j++){ if(j==score[i-1])num[j-1]+=1;} } for(j=1;j<=100;j++){ if(num[j-1]!=0)printf("\n分数段在%d内的人数为%d",j,num[j-1]);} getchar();return 0;} 现写的...

用C语言写学生成绩管理系统基本功能:1、 输入一个班级的学生基本信息...
答:fscanf(fp,"%ld%c%c%d%ld%ld",&ID,&name,&sex,&age,&dormnumber,&phonenumber);p->ID=ID;strcpy(p->name,name);strcpy(p->age,age);p->dormnumber=dormnumber;p->phonenumber=phonenumber;p->next=NULL;if(head==NULL) head=p;else tail->next=p;tail=p;} printf("\n1.继续输入...

设计一个统计班级学生成绩的c语言程序
答:sum;//总分double avr;//平均分}stu[N];void input(int n){int i;for(i=0;i<n;i++){int sum=0;double avr=0.0;printf("请输入第%d个学生信息\n",i+1);printf("请输入学号:");scanf("%d",&stu[i].num);printf("请输入姓名:");scanf("%s",stu[i].name);...

...从键盘输入一个名字,判断该名字是否在 list 中,C语言程序...
答:以这个班有6个学生为例。//#include "stdafx.h"//vc++6.0加上这一行.include "stdio.h"include "string.h"include "stdlib.h"void main(void){ char list[][20]={"abc","bcd","cde","efg","fgh","ghi","hij"},x[20];int i;printf("Enter the name of a student...\n");...

求一个C语言程序设计,班级信息管理系统
答:C语言编写的班级信息管理系统有 班级信息录入,班级信息查询,班级信息修改,班级信息全部显示。录入的信息有:班级 级别 专业 班主任 总人数 男生人数 女生人数。 代码:#include <stdio.h> #include <malloc.h> #include <string.h> #include <io.h> #define NULL 0 #define LEN sizeof(struct student) #define...

用C语言编程序:有若干个班级,每个班的学生人数不等,每个学生含姓名、分...
答:你好!程序要求也不少,什么时间交作业,可以尝试帮你完成,有个类似的,你看看