C语言高手帮帮忙修改一下源程序

来源:百度知道 编辑:UC知道 时间:2024/05/19 17:30:14
#include<stdio.h>
void main()
{
int score[11],age[11];
int i,j,k,x,y,temp;
printf("请输入10个学生的成绩和年龄:\n");
for(i=0;i<10;i++)
{
printf("请输入第%d个学生的成绩和年龄:",i+1);
scanf("%d%d",&score[i],&age[i]);
}
for(i=0;i<10;i++)
{
for(j=i+1;j<10;j++)
{
if(score[i]<score[j])
{
temp=score[i];
score[i]=score[j];
score[j]=temp;
}
}
}
for(i=0;i<10;i++)
{
k=i;
for(j=j+1;j<10;j++)
{
if(age[k]>age[j])
k=j;
if(i!=k)
{
temp=age[i];
age[i]=age[k];
age[k]=temp;
}
}
}
printf("学生成绩从高到低如下:\n%d\n",score[i]);
printf("学生年龄从小到大如下:\n%d\n",age[i]);
printf("请输入要插入的学生成绩和年龄:");
scanf("%d%d",&x,&y);
for(i=1;i<10;i++)
{
x=score[i];
j=i-1;
while(j>=0&&x<score[j])
{
score[j

你输出的时候没有用循环来输出数组里面的每一个元素。根据你的功能要求,我在你的代码基础上修改了一下。代码如下:
#include<stdio.h>
void main()
{
int score[11],age[11];
int i,j,x,y,temp;
printf("请输入10个学生的成绩和年龄:\n");
for(i=0;i<10;i++)
{
printf("请输入第%d个学生的成绩和年龄:",i+1);
scanf("%d%d",&score[i],&age[i]);
}
for(i=0;i<10;i++)
{
for(j=i+1;j<10;j++)
{
if(score[i]<score[j])
{
temp=score[i];
score[i]=score[j];
score[j]=temp;
}
if(age[i]>age[j]){
temp=age[i];
age[i]=age[j];
age[j]=temp;
}
}
}
printf("学生成绩从高到低如下:\n");
for(i=0;i<10;i++)
printf("%4d",score[i]);
printf("\n");
printf("学生年龄从小到大如下:\n");
for(i=0;i<10;i++)
printf("%4d",age[i]);
printf("\n");
printf("请输入要插入的学生成绩和年龄:");
scanf("%d%d&