7-4 一维数组按规律输出

从键盘输入n个整数,将这n个整数按给定的规律输出。建议一维数组实现。

输入格式:
先输入n的值。再另起一行输入n个元素,空格分隔。

输出格式:
输出n行数据。数据的规律见输出样例。
( 共n行。第i行,从所给定数据的第i个开始,顺序输出给定的所有数据。
输出到最后一个数据后,再从头一个继续。注意:输出的每个数据后都有个空格)

输入样例:
6
1 2 3 4 5 6
输出样例:
1 2 3 4 5 6
2 3 4 5 6 1
3 4 5 6 1 2
4 5 6 1 2 3
5 6 1 2 3 4
6 1 2 3 4 5
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB

遍历迭代输出即可。

img

代码如下:

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int i, n,j=0;
    int* p;
    scanf("%d", &n);
    p = (int*)malloc(n * sizeof(int));
    for (i = 0; i < n; i++)
        scanf("%d", &p[i]);
    //输出
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < n; j++)
        {
            if (j < n - 1)
                printf("%d ", p[(i + j) % n]);
            else
                printf("%d \n", p[(i + j) % n]);
        }
    }
        
    return 0;
}

#include <stdio.h>
#include <string.h>
int main()
{
    int num[101],n;
    scanf("%d",&n);
    for(int i=0;i<n;i++){
       scanf("%d",&num[i]);
    }
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            printf("%d ",num[(i+j)%n]);
        }
         printf("\n");
    }
    return 0;
}
 
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632