急急急,程序改错....
定义一个数组score[11],用以存放学生的成绩,定义一个数组age[11],用以存放学生的年龄。 从键盘输入10个学生成绩和年龄。
采用冒泡法,将学生成绩按照从高到低进行排序;采用选择排序法将学生年龄按从小到大顺序进行排序
再输入一个学生的成绩,将此成绩按照排序规律插入原学生成绩数组
输出最后的学生成绩和学生年龄
这是原题的要求....
#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",&x,&y);
for(i=0;i<10;i++)
{
if(score[i]<x)
{
for(j=10;j>i;j--)
{
score[j]=score[j-1];
}
break;
}
}score[i]=x;
for(i=0;i<10;i++)
{
if(age[i]>y)
{
for(j=10;j>i;j--)
{
score[j]=score[j-1];
}
break;
}
}
age[i]=y;
printf("\n学生成绩从高到低如下:\n");
for(i=0;i<11;i++)
printf("%4d",score[i]);
printf("\n学生年龄从小到大如下:\n");
for(i=0;i<11;i++)
printf("%4d",age[i]);
printf("\n");
}
进入那个黑色界面输入所有数据后最后的年龄显示那里老是有
-858993460出现的,怎么回事??????
wrong.rar
(12.89 KB)