鱼C论坛

 找回密码
 立即注册
查看: 5140|回复: 8

请教大牛逆置前10个整数的问题!!先谢谢了

[复制链接]
发表于 2013-8-21 12:24:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include <stdio.h>
void main()
{
   int a[10]={56,78,32,16,34,68,92,6,27,63},i,t,n=10;    /*初始化*/
   printf("逆置前10个整数是:\n");
   for(i=0;i<n;i++)      /*输出逆置前的数组元素*/
       printf("%4d",a[i]);
   for(i=0;i<n/2;i++)      /*将数组中元素逆置,即交换对称位置的元素*/
      {
          t=a[i];      /*先将第i个元素赋值给临时变量t*/
          a[i]=a[n-i-1];     /*然后将第n-i-1个元素值赋值给第i个元素*/
          a[n-i-1]=t;      /*最后将t的值,即第i个元素值赋值给第n-i-1个元素*/
       }
   printf("\n逆置后10个整数是:\n");       /*输出提示信息*/
   for(i=0;i<n;i++)        /*输出逆置后的数组元素*/
        printf("%4d",a[i]);
}

就是这个a[n-i-1]中的n-i-1是什么意思一直没搞明白,希望大神给讲讲,比如n-i是什么意思,然后为什么又要-1   谢谢了!!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-8-21 12:39:00 | 显示全部楼层
你代一下数就知道了,n=10,a[0]代表第一个数,a[9]代表第十个数,没有a[10],所以当把第一个数和最后一个数交换时,i=0,最后一个数就是a[n-i-1],依次类推,i=1,2,...同理
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-21 12:44:40 | 显示全部楼层
就是a[0]的值与a[9]的值对换,a[1]-a[8],a[2]-a[7]。。。。以此类推,然后输出
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-21 13:01:32 | 显示全部楼层
有十个数是吧 下标是0~9 0和9换  1和8换......是吧 n=10
当i = 0 要互换的 是 9  m - i - 1 = 9
当i = 1 要互换的 是 8  m - i - 1 = 8
取余略
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-21 13:05:13 | 显示全部楼层
本帖最后由 苹果沃珂 于 2013-8-21 13:06 编辑

1,首先理解“前10个元素逆置”是什么意思。
     前10元素的位置顺序反过来吧。操作示意图如下:
        逆置前: 位置  0  1  2  3  4  5  6  7  8  9 (10个元素,位置下标最大为10-1=9)
        逆置后: 位置  9  8  7  6  5  4  3  2  1  0
                   ---------------------------------------------
                      常数  9  9  9  9  9  9  9  9  9   9
2,从上面的示意图,发现:某个元素逆置前的位置+逆置后的位置=常数9=要逆序操作的元素个数10-1
3,根据上面的规律,得到:
                  假设要操作的元素A的位置为x,则要跟元素A换位置的元素的位置就为常数9-x,即10-1-x
4, 扩大到要逆置n个元素的话:
            假设要操作的元素A的位置为x,则要跟元素A换位置的元素的位置就为常数(n-1)-x,即n-x-1
            把x写成I,就得到n-i-1了
5,希望对你有帮助
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-22 10:35:27 | 显示全部楼层
多谢各位的解答,有鱼C这样的平台真好!!有问题了就可以来求助而且还会有满意的答案{:1_1:}
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-5 11:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表