|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
题目:全班10个同学的成绩单已经按降序排列好并保存在一个一维数组中,先要求输入一个成绩(假设10个学生的成绩都不相同),从该成绩单中删除该成绩。
我写出来的代码:
#include "stdio.h"
#include "conio.h"
#define n 10
int main()
{
int i,j,istu[n]={95,90,87,85,80,75,72,70,68,65},idelete;
printf("请输入删去的成绩\n");
scanf("%d",&idelete);
for(i=0;i<n;i++)
{
if(idelete==istu[i])
{
for(j=i;j<n-1;j++);
{
istu[j]=istu[j+1];
}
}
break;
}
printf("现在的数组排序为\n");
for(i=0;i<n-1;i++)
printf("%d ",istu[i]);
getch();
return 0;
}
但是为啥结果是这样的?
 ……那就是分号的问题呗。
给你我改后的代码:
- #include "stdio.h"
- #include "conio.h"
- #define n 10
- int main()
- {
- int i, j, istu[n] = {95, 90, 87, 85, 80, 75, 72, 70, 68, 65}, idelete;
- printf("请输入删去的成绩\n");
- scanf("%d", &idelete);
- for (i = 0; i < n; i++)
- {
- if (idelete == istu[i])
- {
- for (j = i; j < n - 1; j++)
- {
- istu[j] = istu[j + 1];
- }
- }
- break;
- }
- printf("现在的数组排序为\n");
- for (i = 0; i < n - 1; i++)
- printf("%d ", istu[i]);
- getch();
- return 0;
- }
复制代码
输出结果:
- 请输入删去的成绩
- 95
- 现在的数组排序为
- 90 87 85 80 75 72 70 68 65
复制代码
完全没问题。
|
|