有C语言高手吗?分数统计:要求:(1):输入某班级学生的姓名,分数 (2):对(1)的分数进行排序,按分 c语言分数统计

作者&投稿:郴逸 (若有异议请与网页底部的电邮联系)
#include<stdio.h>
#include <string.h>
#define N 5 //人数
int main(void)
{
struct student
{
char name[20];
float score;
}st[N],temp;
int i,j;
int yn;

printf("请输入%d个学生的姓名和分数(姓名和分数用空格分隔)\n",N);
for(i = 0; i < N; i++)
{
scanf("%s %f",st[i].name,&st[i].score);
}
printf("是否要进行排序,是输入1,否输入0\n");

scanf("%d",&yn);
if(yn == 1)
{
for(i = 0; i < N - 2; i++)
{
for(j =i; j < N; j++)
{
if(st[i].score < st[j].score)
{
temp = st[i];
st[i] = st[j];
st[j] = temp;
}
}
}

for(i = 0; i < N; i++)
{
printf("NO %d:姓名:%s 分数:%f\n",i+1,st[i].name,st[i].score);
}
}
else
{
printf("不需要排序,原样输出为:\n");
for(i = 0; i < N; i++)
{
printf("NO %d:姓名:%s 分数:%f\n",i+1,st[i].name,st[i].score);
}
}
}
对先前那位的做出一点点改动,排序,此处使用的是选择排序算法,百度里面可以找到学习的资料,如果有什么疑问,可以直接问我的咯,qq:597304494
申明:我并不是什么高手的!

#include<stdio.h>
#include <string.h>
#define N 5 //人数
int main(void)
{
struct student
{
char name[20];
float score;
}st[N],temp;
int i,j;
int yn;

printf("请输入%d个学生的姓名和分数(姓名和分数用空格分隔)\n",N);
for(i = 0; i < N; i++)
{
scanf("%s %f",st[i].name,&st[i].score);
}
printf("是否要进行排序,是输入1,否输入0\n");

scanf("%d",&yn);
if(yn == 1)
{
for(i = 0; i < N - 1; i++)
{
for(j = 1; j < N; j++)
{
if(st[i].score > st[j].score)
{
temp = st[i];
st[i] = st[j];
st[j] = temp;
}
}
}

for(i = 0; i < N; i++)
{
printf("NO %d:姓名:%s 分数:%f\n",i+1,st[i].name,st[i].score);
}
}
else
{
printf("不需要排序,原样输出为:\n");
for(i = 0; i < N; i++)
{
printf("NO %d:姓名:%s 分数:%f\n",i+1,st[i].name,st[i].score);
}
}
}

分数统计 要求:(1)输入某班级学生的 姓名、分数; ...~

是用spss做吗?

方法一(使用结构体做法)
#include
#include
typedef struct namescore//定义结构体,包括姓名和分数
{
char name[10];
float score;
}NS;
main()
{
NS s[100];//定义结构体数组变量 ,可以存放100个学生的姓名和分数
NS temp;
int i=0,j=0;
int n=-1;
printf("请输入姓名和分数:(输入exit结束)");
while(1)//设置死循环
{
n++;
printf("
请输入姓名:");
scanf("%s",s[n].name);//赋值姓名
if(!strcmp("exit",s[n].name))//当输入exit时退出循环
{//strcmp包含在string.h头文件中,判断两个字符串是否相等
n--;break;//因为输入"exit"会保存到结构体中,所以要n--
}
printf("
请输入分数:");
scanf("%f",&s[n].score);//输入分数
}

for(i=0;i<n;i++)//用冒泡法排序
for(j=i+1;j<=n;j++)
{
if(s[i].score<s[j].score)//如果下一个数比前一个数大,则交换
{
temp=s[i];
s[i]=s[j];
s[j]=temp;
}
}
printf("成绩从大到小的排序:
");
printf("---姓名---------分数---------
");//输出姓名和分数
for(i=0;i<=n;i++)
{
printf("%6s",s[i].name);
printf(" %5.1f
",s[i].score);
}
}

//方法二(如果不会结构体的另一种方法)
#include
#include
#define N 100
main()
{
char name[N][10];//定义二维数组
char tempname[10];
float score[N];
float tempscore;
int i=0,j=0,n=0;
printf("请输入姓名和分数:(输入exit结束)");
while(1)
{
printf("
请输入姓名:");
scanf("%s",name[n]);
if(!strcmp("exit",name[n]))
{
break;
}
printf("
请输入分数:");
scanf("%f",&score[n]);
n++;
if(n>100)//当将要溢出时,就退出循环
break;
}
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
{
if(score[i]<score[j])//分数与姓名交换
{
tempscore=score[i];
score[i]=score[j];
score[j]=tempscore;
strcpy(tempname,name[i]);//strcpy在string.h头文件中
strcpy(name[i],name[j]);//将name[j]的值复制到name[i]中
strcpy(name[j],tempname);
}
}

printf("成绩从大到小的排序:
");
printf("---姓名---------分数---------
");//输出姓名和分数
for(i=0;i<n;i++)
{
printf("%6s",name[i]);
printf(" %5.1f
",score[i]);
}
getch();
}

用c语言设计一个程序统计一个班的学生成绩
答:printf("请输入学生成绩:");scanf_s("%lf", &score);Student[len].id = id;Student[len].score = score;len++;} printf("信息导入完毕!\n");} int main() { input();printf("全班总分为:%.2lf\n", getsum());printf("全班平均分为:%.2lf\n", getave());getmax();getmin...

c语言统计一个班10个人的成绩,找出最高分及序号,和不及格的人数_百度知 ...
答:for(i = 0; i < 10; i ++) { scanf("%f",&a[i]); if(a[i]>a[id]) id = i; if(a[i]<60) cnt ++; } printf("最高分序号:%d, 分数 %f\n不及格人数:%d\n", id, a[id], cnt); return 0;} ...

c语言:按百分制输入学生的考试成绩,统计及格率。 要求:先输入学生
答:include<stdio.h> int main(){ int i,n,score,count=0;scanf("%d",&n);for(i=1;i<=n;i++){ scanf("%d",&score);if(score>=60)count++;} printf("及格率为%d%%\n",count*100/n);return 0;}

各位帮忙给我这个题的c语言答案: 设计课题七:运动会分数统计系统
答:int integral[5]={7,5,3,2,1};//前五名得分 int Integral[3]={5,3,2};//前三名得分 void input(){ int i,j,y,x,sportman;printf("输入学校数目:");y=0;while(1){ scanf("%d",&n);if(n>=1&&n<=20)y=1;if(y)break;else printf("输入数据有误,请重新输入:");} fo...

C语言怎样编程用键盘输入学生的分数,并求平均分和不及格人数?
答:include <stdio.h> include <stdlib.h> int main(int argc, char *argv[]){ //num代表总人数,score用于记录当前输入的分数,sum记录总分,//average记录平均分,failed记录不及格人数,所有分数都定为“整数”。int num=0, score=0,sum=0,average=0,failed=0;do{ scanf("%d",&score);if(...

C语言 统计学生成绩
答:printf("第%d位学生的第%d门成绩\n",i+1,j+1);} } printf("\n");} int main(){ int i,j;for(i=0;i<10;i++){ for(j=0;j<5;j++){ printf("输入第%d位学生的第%d门功课的成绩: ",i+1,j+1);scanf("%lf",&s[i].score[j]);printf("\n");} printf("\n");} ...

c语言有十个评委,打的分数在1到10,去掉最高分去掉最低分,求平均值...
答:include <stdio.h> int main(){ int i=0,max=0,min=0;float a[10],aver,sum=0;while(i<10){ scanf("%f",&a[i]);sum+=a[i];if(a[i]>a[max]){ max=i;} if(a[i]

c语言 输入20位学生成绩,统计出平均成绩,最高成绩,最低成绩,并统计出优...
答:i]>=90)excellent++;else if(s[i]>=80)good++;else if(s[i]>=60)pass++;else fail++;} printf("平均成绩:%d,最高成绩:%d,最低成绩:%d\n", sum/20, max, min);printf("优秀人数:%d,良好人数:%d,及格人数:%d,不及格人数:%d\n", excellent, good, pass, fail);} ...

用C语言设计一个学生成绩统计程序,
答:改好了,问题不大,我都写在注释里了:include<stdio.h> include<math.h> define N 35 define COURSE 4 struct student { char num[10];/*如果把num当作字符串的话,不能用int,而是char数组。不然就用int num;*/ float score[4];float sum;float aver;} stu[N];void main(){ void ...

C语言统计若干学生的平均成绩,最低分以及最高分的人数
答:int main(){int a[10],i;float ave;printf("请输入分数:");for(i=0;i<10;i++)scanf("%d",&a[i]);...这么简单的你也不会做???还是自己动手写,不然你c语言肯定挂。。。 小安ァ | 发布于2011-05-01 举报| 评论 0 8 1条折叠回答 ...