关于数组
#include<stdio.h>int main ()
{
int a, i, j, temp;
for(i = 0;i < 10; i++)
{
scanf("%d",&a);
}
printf("\n");
for(i = 0;i < 9; i++)
{
for(j = 0;j < 9-i;j++)
{
if (a>a)
{
temp = a;
a = a;
a = temp;
}
for(i = 0;i < 10;i++)
{
printf ("%d\n",a);
}
}
}
}
这个是比较十个数的大小,并按从小到大排序的,运行完输入十个数后没有按从小到大排 本帖最后由 jackz007 于 2021-2-15 23:59 编辑
你的性子也太急了,起码应该等到排序操作完成了才能显示出排过序的效果啊。
#include <stdio.h>
int main(void)
{
int a , i , j , temp ;
for(i = 0 ; i < 10 ; i ++) scanf("%d" , & a);
for(i = 0 ; i < 9 ; i ++) {
for(j = 0 ; j < 9 - i ; j ++) {
if(a > a) {
temp = a ;
a = a ;
a = temp ;
}
}
}
printf("%d" , a) ;
for(i = 1 ; i < 10 ; i ++) printf("\t%d" , a) ;
printf("\n") ;
}
编译、运行实况
D:\00951F~1.EXC\C>g++ -o x x.c
D:\00951F~1.EXC\C>x
10 9 8 7 6 5 4 3 2 1
1 2 3 4 5 6 7 8 9 10
D:\00951F~1.EXC\C>
#include<stdio.h>
int main ()
{
int a, i, j, temp;
for(i = 0;i < 10; i++)
{
scanf("%d",&a);
}
printf("\n");
for(i = 0;i < 9; i++)
{
for(j = 0;j < 9-i;j++)
{
if (a>a)
{
temp = a;
a = a;
a = temp;
}
}
}
for(i = 0;i < 10;i++)
{
printf ("%d\n",a);
}
return 0;
}
里面的应该是j而不是i,而且输出应该是所有数排好再输出,你把输出的for循环都放里面了,这样变成了排一会输出一个,排一会输出一个的情况了
页:
[1]