c语言程序,最好调试好再发给我!最好用win tc
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励20(财富值+成长值)
2个回答
展开全部
#include<stdio.h>
typedef struct
{
char name;
int score;
}student;
void change(student* a,student* b)
{
student t;
if((*a).score<(*b).score)
{
t=*a;
*a=*b;
*b=t;
}
}
float equal(const student* a,int n)
{
float equal=0.0;
int i;
for(i=0;i<n;i++)
equal+=a[i].score;
equal/=n;
return equal;
}
int main()
{
int i,j;
float e;
student t[11];
for(i=0;i<11;i++)
{
scanf("%c",&t[i].name);
while(t[i].name==10||t[i].name==32)
scanf("%c",&t[i].name);
scanf("%d",&t[i].score);
}
for(i=0;i<11;i++)
for(j=0;j<10-i;j++)
change(&t[j],&t[j+1]);
e=equal(t,11);
printf("\n排序后的顺序表如下:\n");
for(i=0;i<11;i++)
printf("%c:%d\n",t[i].name,t[i].score);
printf("\n平均成绩:%g\n",e);
return 0;
}
typedef struct
{
char name;
int score;
}student;
void change(student* a,student* b)
{
student t;
if((*a).score<(*b).score)
{
t=*a;
*a=*b;
*b=t;
}
}
float equal(const student* a,int n)
{
float equal=0.0;
int i;
for(i=0;i<n;i++)
equal+=a[i].score;
equal/=n;
return equal;
}
int main()
{
int i,j;
float e;
student t[11];
for(i=0;i<11;i++)
{
scanf("%c",&t[i].name);
while(t[i].name==10||t[i].name==32)
scanf("%c",&t[i].name);
scanf("%d",&t[i].score);
}
for(i=0;i<11;i++)
for(j=0;j<10-i;j++)
change(&t[j],&t[j+1]);
e=equal(t,11);
printf("\n排序后的顺序表如下:\n");
for(i=0;i<11;i++)
printf("%c:%d\n",t[i].name,t[i].score);
printf("\n平均成绩:%g\n",e);
return 0;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询