数组作业求助
题目:全班10个同学的成绩单已经按降序排列好并保存在一个一维数组中,先要求输入一个成绩(假设10个学生的成绩都不相同),从该成绩单中删除该成绩。我写出来的代码:
#include "stdio.h"
#include "conio.h"
#define n 10
int main()
{
int i,j,istu={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)
{
for(j=i;j<n-1;j++);
{
istu=istu;
}
}
break;
}
printf("现在的数组排序为\n");
for(i=0;i<n-1;i++)
printf("%d",istu);
getch();
return 0;
}
但是为啥结果是这样的?
本帖最后由 jackz007 于 2020-11-29 18:02 编辑
for(j = i + 1 ; j < n ; j ++) ; // 删掉红色的分号 本帖最后由 赫尔曼·迈耶 于 2020-11-29 20:26 编辑
#include "stdio.h"
#include "conio.h"
#define n 10
int main()
{
int i,j,istu={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) //这里没索引号
{
for(j=i;j<n-1;j++); //分号问题,楼上的老哥也说了。
{
istu=istu;
}
}
break;
}
printf("现在的数组排序为\n");
for(i=0;i<n-1;i++)
printf("%d",istu); //这里也没索引号
getch();
return 0;
}
按理来说输出的应该是一串数组的内存地址,不知道你用的什么环境,竟然把值都输出来了,只能说很神奇。
建议搭个好点的开发环境,分号和索引号这种低级的问题真不值得上论坛问。
赫尔曼·迈耶 发表于 2020-11-29 20:17
按理来说输出的应该是一串数组的内存地址,不知道你用的什么环境,竟然把值都输出来了,只能说很神奇。
...
害,索引号我有标啊,可是还是这个结果{:10_254:} 平平无xi 发表于 2020-11-30 16:14
害,索引号我有标啊,可是还是这个结果
{:10_277:}……那就是分号的问题呗。
给你我改后的代码:
#include "stdio.h"
#include "conio.h"
#define n 10
int main()
{
int i, j, istu = {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)
{
for (j = i; j < n - 1; j++)
{
istu = istu;
}
}
break;
}
printf("现在的数组排序为\n");
for (i = 0; i < n - 1; i++)
printf("%d", istu);
getch();
return 0;
}
输出结果:
请输入删去的成绩
95
现在的数组排序为
908785807572706865
完全没问题。
页:
[1]