用循环实现统计5个学生的平均成绩和总成绩 用双重循环结构编写程序,从键盘输入5名学生的3门成绩,分别统...

   www.gaoxiao88.net
/*这个项目的核心是对存放学员信息的结构数组的操作*/
#includestdio.h
/*首先创建一个学员信息的结构*/
struct student
{
int num; //学号
char name[20]; //姓名
float score[3]; //三门课的成绩
float ave; //三门课的平均成绩
}stu[50];//声明一个结构类型的数组
/*定义录入学员信息的录入函数。因为要给结构数组stu[]赋值,
所以是有返回值的,返回类型是一个结构*/
struct student input()
{
struct student in;
int i;
float sum=0;
printf("\n 学号:");
scanf("%d",in.num);//注意,这里的in.num它是一个成员变量,是个变量,所以''别忘了
printf(" 姓名:");
fflush(stdin);
gets(in.name);
printf(" 三门课的成绩 \n");
/*用一个循环来为score[]赋值并累加成绩*/
for(i=0;i3;i++)
{
printf(" 成绩%d:",i+1);
scanf("%f",in.score[i]);
sum+=in.score[i];
}
in.ave=sum/3;//计算出平均成绩
return in;
}
/*定义显示学员信息的函数*/
void display(struct student *s,int n)
{
int i;
printf("\n 学号\t姓名\t平均成绩\n");
for(i=0;in;i++,s++)//指针循环遍历结构数组时,要让指针也++
{
printf(" %d\t%s\t%5.2f\n",s-num,s-name,s-ave);
}
}
/*定义按学员平均成绩排序的函数*/
void sort(struct student *s,int n)
{
int i,j;
struct student d;//定义一个中间交换变量
for(i=0;in;i++)
{
for(j=0;jn-1-i;j++)
{
if((s+j)-ave(s+j+1)-ave)
{ //交换的是结构数组里的结构变量
d=*(s+j);
*(s+j)=*(s+j+1);
*(s+j+1)=d;
}
}
}
}
/*定义插入函数*/
void insert(struct student *s,int n)
{
int i,j;
struct student in;
printf("\n 请输入要插入的学员信息");
in=input();
for(i=0;in;i++,s++)
{
if(s-avein.ave)//前面定义的排序函数是个降序排列,所以寻找一个比插入的平均成绩小的位置
break;
}
if(in)
{
for(j=n;ji;j--)
{
*(s+j)=*(s+j-1);//为插入的结构变量留出位置,其他结构变量往后移一位
}
*(s+i)=in;
}
else//当插入的平均成绩最低时
{
for(j=n;j0;j--)
{
*(s+j)=*(s+j-1);
}
*(s+0)=in;
}
}
/*定义删除函数*/
void delet(struct student *d,int n)
{
int i,j,no;
printf("\n 请输入要删除学员的学号:");
scanf("%d",no);
for(i=0;in;i++,d++)
{
if(d-num==no)
break;
}
if(i=n)
printf("\n 没有该学员。\n");
else
{
d=d-i;
for(j=i;jn;j++)
{
*(d+j)=*(d+j+1);
}
}
}
void main()
{
int i,count=0;//count用来统计输入学员的个数
char ans;
float sum=0;
/*由于不确定学员个数,所以用“回答 y or n ”
来确定是否继续输入学员信息*/
printf("\n 请输入所有学员的信息");
ans='y';
while(ans=='y')
{
if(count=50)
{
stu[count]=input();//调用录入函数
count++;
printf("\n 是否还要输入学员信息?(y/n)");
fflush(stdin);
ans=getchar();
}
else
printf("\n 学员的个数已超过了最多人数50");
}
printf("\n 排序前的学员信息如下:");
display(stu,count);//调用显示学员信息函数,传递的参数是结构数组和学员的个数
sort(stu,count);//调用排序函数
printf("\n 排序后的学员信息如下:");
display(stu,count);
printf("\n 是否要插入新学员?(y/n)");
fflush(stdin);
ans=getchar();
while(ans=='y')
{
insert(stu,count);//调用插入函数
count++;//插入一个,学员的人数也要加一个
printf("\n 是否还要插入新学员?(y/n)");
fflush(stdin);
ans=getchar();
}
printf("\n 插入新学员后的学员信息如下:");
display(stu,count);
printf("\n 是否要删除某个学员?(y/n)");
fflush(stdin);
ans=getchar();
while(ans=='y')
{
delet(stu,count);//调用删除函数
count--;//删除一个,学员的人数也要减一个
printf("\n 是否还要删除某个学员?(y/n)");
fflush(stdin);
ans=getchar();
}
printf("\n 删除某个学员后的学员信息如下:");
display(stu,count);
}

#include<stdio.h>
void main()
{
int a[5];
printf("输入5个学生的成绩,以空格间隔");

int i;
for(i=0;i<5;i++) // 输入数据
{
scanf("%d",&a[i]);
}

int nsum = 0;
for(i=0;i<5;i++) // 循环
{
nsum += a[i]; //求总成绩
}
double dbmean = (double)nsum / 5; //求平均成绩
printf("%d %f", nsum, dbmean);
}

main()
{
float x,s=0;
int i;
for(i=1;i<=5;i++)
scanf("%f",&x);
for(i=1;i<=5;i++)
s=s+x;
printf("%.2f,%.2f",s/5.0,s);}

一楼写的够详细,都不懂就是你自己的事啦,到手的馒头都不知怎么吃~~~汗~

从键盘上输入5个学生的成绩,统计并输出最高成绩和最低成绩。(使用while语句) 昨天刚学循环结构

c语言?学生成绩是 整数 还是有小数的?
只输入分数,不要名字 ,学号之类的?
#include int main(){int max=0,min=10000,t,i=0;while(it)min=t;i++;}printf("最高分:%d,最低分:%d
",max,min);return 0;}

#include
#include
intmain(intargc,char*argv[])//这里如果编译错误的话改成intmain()就可以了
{
inti,c,s=0,temp;
for(i=0;i<=5;i++)
{
for(c=1;c<=5;c++)
{
printf("请输入第%d位学生的第%d门功课成绩:1",i+1,c);
scanf("%d",&temp);
s+=temp;
}
printf("平均成绩:%.2f
",s/5.0);
s=0;
}
system("PAUSE");
return0;
}
//dev-c下编译通过

常见的两种循环结构
①当型循环:先判断所给条件p是否成立,若p成立,则执行A(步骤);再判断条件p是否成立;若p成立,则又执行A,若此反复,直到某一次条件p不成立时为止。
②直到型循环:先执行A,再判断所给条件p是否成立,若p不成立,则再执行A,如此反复,直到p成立,该循环过程结束。
以上内容参考:百度百科-循环结构

相关参考:

用循环实现统计5个学生的平均成绩和总成绩
printf("\\n 学号\\t姓名\\t平均成绩\\n");for(i=0;in;i++,s++)\/\/指针循环遍历结构数组时,要让指针也++ { printf(" %d\\t%s\\t%5.2f\\n",s-num,s-name,s-ave);} } \/*定义按学员平均成绩排序的函数*\/ void sort(struct student *s,int n){ int i,j;struct student d;\/\/定义一...

C语言题目 输入五个同学的成绩,用循环程序求平均成绩,输出最高成绩...
sum += score;if (score > max) { max = score;} } avg = (float)sum \/ 5;printf("平均成绩为:%.2f\\n", avg);printf("最高成绩为:%d\\n", max);return 0;} 程序中使用了一个for循环,循环五次,每次从键盘输入一个同学的成绩,并将其累加到sum变量中,同时判断该成绩是否是最高...

...用数组输入5个学生的成绩求出这些学生的平均成绩,并输出所有高出平均...
} Console.WriteLine("最高成绩为;{0}",a[0]);Console.WriteLine("平均成绩为;{0}",s/a.Length);} } } 运行效果:

...五个人,求每个小组的总成绩,平均成绩。(用双循环编程,用while循环...
int main(){ int a[4][5]={{1,2,3,4,11},{5,6,7,8,22},{9,10,11,12,33},{13,14,15,16,44}};int i,j,line=0,sum=0;double aver;for(i=0;i<4;i++){ for(j=0;j<5;j++)line+=a[i][j];printf("第%d小组总成绩为%d\\n",i+1,line);sum+=line;} aver=su...

python输入五门成绩,求总分和平均分?
有5个学生,每个学生修4门课程,求每个学生所有成绩的总分和平均分 include <stdio.h> define First 5 define Second 6 int main(void){ float a[First][Second],sum=0.0;int i,j,cnt=1;printf("分别输入5名同学的4门成绩:\\n");for(i=0;i<First;i++){ for(j=0;j<Second-2;j...

使其提示用户输入每个学生5门测试的成绩,一共5个学生,然后计算每个学生...
\/\/5个问题\/\/每个学生的总分与平均分,每门科目的平均分,最高,和最低。#include "stdio.h"#define N 5void main(){ int i,j,a[N][N]; \/\/a[N][N]表格于各个同学与各位成绩 float b[N]={0},c[N]={0}; \/\/float声明用于计算后续的平均分 char nume[N]={'A','B'...

...5名学生的3门成绩,分别统计出每个学生的平均成绩
printf("请输入第%d位学生的第%d门功课成绩:1",i+1,c);scanf("%d",&temp);s+=temp;} printf("平均成绩:%.2f\\n",s\/5.0);s=0;} system("PAUSE");return0;} \/\/dev-c下编译通过 常见的两种循环结构 ①当型循环:先判断所给条件p是否成立,若p成立,则执行A(步骤);再判断条件p...

C语言 计算5个学生的成绩,总成绩和平均成绩,输入最大值和最小值._百度...
if(score[i]>max) max = score[i]; if(score[i]<min) min = score[i]; } avg=all\/5; printf("总成绩:%g\\n平均成绩:%3.2f\\n最大值:%g\\n最小值:%g\\n",all,avg,max,min)return 0;} \/* %g是自动简化输出,省略后面的0 *\/ 经过调试 没有有问题 运行如下 ...

C语言结构体编程:计算5个学生的总成绩、平均成绩和低于140分以下的人 ...
printf("成绩低于140的学生信息为:\\n");for(i=0;i<5;i++)if(stus[i].score<140)printf("学生名:%s,成绩:%.1f\\n",stus[i].name,stus[i].score);printf("\\n");} void printStus(STU *stus){ int i;printf("结构数组中的信息为:\\n");for(i=0;i<5;i++)printf("学生...

...及成绩放入到数组中,然后计算这5个学生的平均分,最后输出格式如下...
main(){int i,sum=0;core[5];char name[5][20]for(i=0;i<5;i++,){scanf("%s %d",name[i],&core[i]);sum=sum+core[i];} printf("姓名是:%s 成绩是:%d\\n",name[i],core[i])printf("平均成绩是:%.2f",sum\/5.0);} ...

相关评论

  • 籍倩4897: 用循环和数组实现:从键盘接受五名学员的年龄,输出平均年龄,最大年龄和最小年龄 -
    13217375122: #include <stdio.h> int main() { int a[5]; int i; float ave=0; int max,min; for(i = 0; i < 5; i ++) scanf("%d",&a[i]); ave = a[0]; max=min=a[0]; for(i = 1; i < 5; i ++) { ave+=a[i]; if(max<a[i]) max=a[i]; else if(min>a[i])min=a[i]; } ave/=5; printf("max=%d, min=%d, ave=%f\n", max,min,ave); return 0; }

  • 籍倩4897: 从键盘上输入5个学生的成绩,统计并输出最高成绩和最低成绩.(使用while语句) 昨天刚学循环结构 -
    13217375122: c语言?学生成绩是 整数 还是有小数的? 只输入分数,不要名字 ,学号之类的? #include <stdio.h> int main() { int max=0,min=10000,t,i=0; while(i<5){ scanf("%d",&t); if(max<t)max=t; if(min>t)min=t; i++; } printf("最高分:%d,最低分:%d\n",max,min); return 0; }

  • 相关话题

    ap在线精英在线最新简短笑话,好笑的段子,搞笑句子,男女朋友校园冷笑话,搞笑歌词对白台词,夫妻搞笑对话,手机流行笑话,逗人笑的动物经典笑话,最新幽默搞笑图文,好笑的视频分享给朋友
    若有事情,请联系电邮
    © <搞笑吧