----------------解决方案--------------------------------------------------------
回复
1)我在VX++6.0里面试过了,楼主的写的程序能得到正确的结果。2)楼主写的程序有些太那个了,前面几楼的兄弟说得好,这种情况用数组好。
3)如果楼主坚持用for循环,那不妨把第一次输入的数放在循环外:
printf("Input number 1=");
scanf("%d",&integer);
----------------解决方案--------------------------------------------------------
程序没有错误,能输出正确结果.
----------------解决方案--------------------------------------------------------
回复
1)楼主写的程序,我在VC++6.0里编译通过并得到想得到的结果了。2)建议楼主以后遇到此类情况用数组写。
3)如果楼主非要用for循环,可以在循环外先输入第一个数,然后将此数分别赋值给max和min:
...
printf("Input number 1");
scanf("%d",&integer);
max=integer;
min=integer;
for(...) //for循环从第二个数开始
{
...
if(max<integer)
max=integer; //如果输入的数大于max,就把此数赋值给max
if(min>integer)
min=integer; //如果输入的数小于min,就把此数赋值给min
...
}
...
这样就不必让max=-32768,min=32767了。
----------------解决方案--------------------------------------------------------
#include"stdio.h"
main()
{
int i,j,a[10],temp;
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+1];
a[j+1]=a[j];
a[j]=temp;
}
for(i=0;i<10;i++)
printf("%4d",a[i]);
printf("\n");
getchar();
}
这个是排序!从大到小!怎么运行不出来!给我看一下!
----------------解决方案--------------------------------------------------------
楼上的,没仔细看,扫了一眼发现一个错误,估计是你些错了:
for(j=0;j=10-i;j++);
中间的条件你用了=号
----------------解决方案--------------------------------------------------------
会用数组吗,用数组啊
----------------解决方案--------------------------------------------------------
回复15#正确结果
/*从大到小排列 */#include"stdio.h"
main()
{
int i,j,k,a[10],temp;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<9;i++)
{k=i;
for(j=i+1;j<10;j++)
if(a[j]>a[k])
k=j;
{ temp=a[k];
a[k]=a[i];
a[i]=temp;
}
}
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
}
----------------解决方案--------------------------------------------------------