题解 | 神秘石像的镜像序列

神秘石像的镜像序列

https://www.nowcoder.com/practice/fa34eea974234610b6d3d81790cb2949

#include <stdio.h>
#include <stdlib.h>
const int n = 101;
int main() {
    int arr[n];
    int i,cnt = 0;
    while(i != 0){
        scanf("%d",&i);
        arr[cnt++] = i;
	  // 把每次输入的数字存给数组中,用次数来代表元素位置
    }
    for (int i = cnt - 2 ; i >= 0; i--) {
	  // 这里对cnt-2的解释可以看我文字的解释
        printf("%d ", arr[i]);
    }
    return 0;
}

假设你输入了1,2,3,4,5,0六个数字,对while循环中的cnt而言,可以理解为开始cnt是由1-->6了(while循环中),然后输入的每一个i(元素)在数组中被存入从0开始的位置上,所以cnt-1代表每一个元素在数组的下标,而cnt-2(for循环中)代表除去最后一位输入的数字,之前的每一位数字所对应的下标。这样在for循环中i从cnt-2的位置开始遍历,每一次i--,最后就可以逆序输出除了最后一位数字(如果i最后输入0)的其余每一个数字。

全部评论
希望对和我一样的新手有帮助
1 回复 分享
发布于 04-23 20:14 安徽

相关推荐

点赞 评论 收藏
分享
再懒也要睡懒觉:大学4年玩的挺爽的哈😅
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务