帝昊羽 发表于 2016-8-7 21:15:48

急 求助

#include<stdio.h>
int main (void)
{
        int i;
        int x;
        for(i=0;i<7;i++){
                printf("x[%d]:",i);
                scanf("%d",&x);
        }
        for(i=0;i<3;i++){
                int temp=x;
                x=x;
                x=temp;
        }puts("倒序排列了.");
        for(i=0;i<7;i++)
                printf("x[%d]=%d\n",i,x);
                return 0;
       
}
为什么要小于3

donkkong 发表于 2016-8-7 22:13:15

因为数组为7个整形,x与x换,x与x换,x与x换,x不用换,所以i < 3,也就是操作重复三次掉转,i=0,i=1,i=2就够了,再多的话又会返回来了,你可以改成改成i < 6试试看

lx_Zz 发表于 2016-8-8 12:11:44

楼主这个程序是将输入的7个数再倒序输出来吧、
比如输入1234567
流程如下:
7234561
7634521
7654321
所以只需要交换前三个数、
因为数组是从0开始的、
0123456
所以只用交换012、所以<3

帝昊羽 发表于 2016-8-9 08:43:57

谢谢
页: [1]
查看完整版本: 急 求助