关于c语言的问题!!! 统计全班的成绩,要求输入3个成绩,计算平均分和总分

大于85为优秀
60到85为通过
计算通过人数和优秀人数

#include<stdio.h>
main()
{
int a,b,c,x,y,z,k;

float l,j;
printf("三门成绩和班人数");
scanf("%d%d%d%d",&a,&b,&c,&z);
for(k=1,x=0,y=0;k<=z;k++)
{
l=a+b+c;
j=l/3;
printf("总分%3.2f\n",l);
printf("平均分%3.2f\n",j);
if(j>=85)
printf("优秀");
x++;
else
if(j>60)
printf("通过");
y++;
}
printf("优秀人数%d\n",x);
printf("通过人数%d\n",y);
}
#include<stdio.h>
main()
{
int a,b,c,x,y,z,k,d=0;
float j;
printf("三门成绩和班人数");
scanf("%d",&z);
for(k=1,x=0,y=0;k<=z;k++)
{scanf("%d%d%d",&a,&b,&c);
d=a+b+c;
printf("总分%d\n",d);
j=d/3;
printf("平均分%f\n",j);
if(j>=85)
{ printf("优秀");
x++;}
else
if(j>60)
printf("通过");
y++;
}
printf("优秀人数%d\n",x);
printf("通过人数%d\n",y);
}

第1个回答  2013-05-28
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define N 2

struct student
{
char name[8];
char num[8];
float score[3];
float sum,are;
};

struct Stunum
{
struct student stu[N];
int stunum;
};

struct Stunum *p;

void scan(struct Stunum *p)
{
int j,i;
for(i=1;i<N+1;i++)
{
printf("第%d位学生的信息::\n",i);
printf("name:\n");
scanf("%s",p->stu[i].name);
printf("Number:\n");
scanf("%s",p->stu[i].num);
p->stu[i].sum = 0;
for(j=0;j<3;j++)
{
printf("第%d门课程的成绩\n",j+1);
scanf("%f",&p->stu[i].score[j]);
p->stu[i].sum+=p->stu[i].score[j];
}
printf("总成绩%.2f \n",p->stu[i].sum);
p->stu[i].are=p->stu[i].sum/3;
printf("平均成绩%.2f \n",p->stu[i].are);

p->stunum = N;
}
}

void print(struct Stunum *p)
{
int k,i = 0,j = 0;
for(k=1;k<N + 1;k++)
{
printf("name:%s\n\n num:%s\n\n sum:%.2f\n\n are:%.2f\n\n",p->stu[k].name,p->stu[k].num,p->stu[k].sum,p->stu[k].are);
printf("****************");
if(p->stu[k].are > 80)
{
i++;
}
if(p->stu[k].are < 60)
{
j++;
}
// p++;
}
printf("不及格人数为:%d",j);
printf("优秀的人数为:%d",i);
}

int main()
{

p = (struct Stunum*)malloc(sizeof(struct Stunum));
scan(p);
print(p);
}
这个是我写的一段,你可以看一下,有不明白的在联系
第2个回答  2013-05-16
思路不对
应该先输入总人数 然后总人数循环,对每个人输入成绩
你这样做只输入了四个数字,也就是说只输入了一个人的成绩本回答被提问者采纳

c语言编程:输入三个学生的成绩,输出总分及平均值
float sum, avg;printf("请输入3个学生的成绩");scanf("%d%d%d", &x, &y, &z); \/\/要先接收才能运算,先运算结果当然不对 sum = x + y + z;avg = sum \/ 3;printf("3个学生的总成绩及平均分为");printf("sum=%.2f,avg=%.2f\\n", sum, avg);return 0;...

c语言编程要求输入全班3门课的成绩,输出全班的总成绩以及平均分还有每个...
printf("全班级总分为%f,平均分为%f",total,total\/(N*3));}

C语言输入某学生3个学科成绩 输出成绩 总分和平均分
int a[5];int b,c,d=0;a[3]=0;printf("\\n输入学生三门功课成绩:");for(b=0;b<3;b++){ scanf("%d",&a[b]);a[3]+=a[b];} a[4]=a[3]\/3;printf("总分为:\\n");printf("%d \\t",a[3]);printf("平均分为:\\n");printf("%d \\t",a[4]);} ...

C语言编写一程序,输入3个学生的成绩,计算并输出总分与平均分。在线等...
include <stdio.h>#include <stdlib.h>int main(){ float as,sd,df; scanf("%g%g%g",&as,&sd,&df); double sum=0.; double anverage; sum=as+sd+df; anverage=sum\/3.; printf("%.*lf\\n",2,sum); printf("%.*lf",2,anverage); return 0;} ...

...多名学生3门课程成绩,并统计成绩的平均分和总分,并根据总分输出名次...
tail->average=tail->count\/3;tail->next=NULL;} } p=head;i=1;while(p){ printf("第%d个学生的总分为:%d 平均分为: %d\\n",i,p->count,p->average);if(p->average>=85){ good_num++;}else if(p->average>=60){ pass_num++;} p=p->next;i++;} printf("全班学生成绩...

c语言新手:输入某学生三个成绩,求出总分与平均分。例输入70 85 92,求...
include<stdio.h> void main(){ int a,b,c;printf("请输入三个学生成绩:\\n");scanf("%d%d%d",&a,&b,&c);printf("三个学生总分是:%d\\n",a+b+c);printf("三个学生平均分是:%f\\n",(a+b+c)*1.0\/3);}

共3门学科,要求用C语言编程,输入全班成绩,并把它们的平均分进行排序,如 ...
\/\/学科平均分}XK;int main(){ int y[stuNum],s[stuNum],w[stuNum],i,j;\/\/定义语文 数学 外语 三学科 int numsave,sum[]={0,0,0};\/\/记录三科成绩和 char *nameSave=(char *)malloc(sizeof(char)*nameLen); XK xk[3];\/\/记录三科名称及平均分 \/\/录入成绩 pri...

用c语言写程序 给定某个学生三门课成绩,求其总分和平均分。
include"stdio.h"int main (void){int a,b,c;\/\/定义三个变量啊a,b,c分别存放三门课的成绩double sum,ave;\/\/定义sum和ave分别存放三门成绩的和与平均值printf("请输入三门课程的成绩a= b= c= ");scanf("%d%d%d",&a,&b,&c);sum=a+b+c;\/\/求三门课程的和ave=(a+b+c)\/3...

C语言怎么用数组录入3个学生成绩,每个学生有5门课成绩,并统计每个学 ...
include "stdio.h"int main(int argc,char *argv[]){int stu[3][6],i,j;printf("Please enter the student's score...\\n");for(i=0;i<3;i++){printf("STU%d: ",i+1);for(j=0;j<5;scanf("%d",stu[i]+j++));stu[i][5]=stu[i][0]+stu[i][1]+stu[i][2]...

请用C语言编一个程序计算3位学生3门课成绩总分和平均成绩?
printf("\\n三门成绩:\\n");for(j=0;j<3;j++){ printf("成绩%d: ",j+1);scanf("%d",&str[count].score[j]);sum+=str[count].score[j];} str[count].avr=sum\/3;printf("\\n是否继续?(y or n)");fflush(stdin);scanf("%c",&ch);count++;} return stud;} \/\/成绩排序函数...

相似回答