从键盘输入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
遍历迭代输出即可。
代码如下:
#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;
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!