1118: 习题8-4 移动数据
时间限制: 1 Sec 内存限制: 12 MB题目描述
输入n个整数(不超过10),使前面各数顺序后移m个位置,最后m个数变成最前面的m个数(m<n),写一个函数实现上述功能。
在main函数中调用该函数,最后分行输出移动后的n个数,每个数占一行。
输入输出都在main函数中进行。
n和m以及n个数都需要从键盘上进行输入。
输入
输入分三行
第一行输入一个数字(假设该数字以n表示,不超过10),表示要输入的数据个数
第二行输入以空格分隔的n个数
第三行输入后移的位置(假设该数字以m表示,m<n)
输出
分行输出移动后的数据,每个数字单独占一行。
样例输入
10
1 2 3 4 5 6 7 8 9 0
3
样例输出
8
9
0
1
2
3
4
5
6
7
#include <stdio.h>
int main()
{
int a,i;
scanf("%d",&a);
int n[a], m, nn[a];
for(int i=0;i<a;i++)
scanf("%d", &n[i]);
scanf("%d", &m);
for(i=0;i<a;i++)
{
if(i<m)
nn[i]=n[a-m+i];
else
nn[i]=n[i-m];
printf("%d\n", nn[i]);
}
printf("\n");
}

#include <stdio.h>
int main()
{
int a,i;
scanf("%d",&a);
int n[a], m, nn[a];
for(int i=0;i<a;i++)
scanf("%d", &n[i]);
scanf("%d", &m);
for(i=0;i<a;i++)
{
if(i<m)
nn[i]=n[a-m+i];
else
nn[i]=n[i-m];
printf("%d\n", nn[i]);
}
printf("\n");
}
1057



被折叠的 条评论
为什么被折叠?



