标题:[求助]没有报错,但是运行后达不到预期的效果
只看楼主
菜鸟1号
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2006-4-7
 问题点数:0 回复次数:5 
[求助]没有报错,但是运行后达不到预期的效果
从键盘输入10个数,然后从下到大排列,然后输出排列后的数
#include "stdio.h"
main()
{int a[10],i,j,temp;
printf("please input ten integers:");
for(i=1;i<=10;i++)
scanf("%d",&a[i]);
for(i=1;i<10;i++)
for(j=1;j<10-j;j++)
if(a[i]>a[i+1])
{temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
}
for(i=1;i<=10;i++)
printf("%7d",a[i]);
getch();
}
麻烦了!



搜索更多相关主题的帖子: 键盘 include 
2006-04-07 13:00
ヤ順祺冄繎ヤ
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:3032
专家分:0
注 册:2005-11-9
得分:0 
以下是引用菜鸟1号在2006-4-7 13:00:00的发言:
从键盘输入10个数,然后从下到大排列,然后输出排列后的数
#include "stdio.h"
main()
{int a[10],i,j,temp;
printf("please input ten integers:");
for(i=1;i<=10;i++)/*i有機會等於10,那麽a[10]等於多少?*/
scanf("%d",&a[i]);
for(i=1;i<10;i++)
for(j=1;j<10-j;j++)
if(a[i]>a[i+1])
{temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
}
for(i=1;i<=10;i++)
printf("%7d",a[i]);
getch();
}
麻烦了!



程序我沒仔細看,算法也沒看,只看到了個錯誤。

2006-04-07 13:23
ヤ順祺冄繎ヤ
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:3032
专家分:0
注 册:2005-11-9
得分:0 
[CODE]我適當的改了下,能達到排序的效果。
#include "stdio.h"
main()
{int a[10],i,j,temp;
printf("please input ten integers:");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
for(j=i+1;j<9;j++)
if(a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
for(i=0;i<10;i++)
printf("%7d",a[i]);
getch();
}[/CODE]
2006-04-07 13:37
菜鸟1号
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2006-4-7
得分:0 
谢谢你,朋友

虽然我是一只菜鸟...但是菜鸟也有飞上蓝天的那一天...
2006-04-07 13:40
菜鸟1号
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2006-4-7
得分:0 
以下是引用ヤ順祺冄繎ヤ在2006-4-7 13:37:00的发言:
[CODE]我適當的改了下,能達到排序的效果。
#include "stdio.h"
main()
{int a[10],i,j,temp;
printf("please input ten integers:");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
for(j=i+1;j<9;j++)/*可是我觉得这里没有必要每个都比较9次吧!*/
if(a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
for(i=0;i<10;i++)
printf("%7d",a[i]);
getch();
}[/CODE]


虽然我是一只菜鸟...但是菜鸟也有飞上蓝天的那一天...
2006-04-07 13:47
lliubei
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-4-6
得分:0 
#include "stdio.h"
main()
{int a[10],i,j,temp;
printf("please input ten integers:");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
for(j=0;j<10-i;j++)
if(a[j]>a[j+1])
{temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
for(i=0;i<10;i++)
printf("%7d",a[i]);
getch();
}
2006-04-07 14:09



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-55783-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.145762 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved