本文主要是介绍每天一道编程题——数组元素循环右移问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目摘自:https://pta.patest.cn/pta/test/17/exam/4/question/262
- (浙大PTA)
一个数组 A 中存有
输入格式:
每个输入包含一个测试用例,第1行输入 N(1≤N≤100) 和 M(≥0) ;第2行输入 N <script type="math/tex" id="MathJax-Element-253">N</script>个整数,之间用空格分隔。
输出格式:
在一行中输出循环右移MMM位以后的整数序列,之间用空格分隔,序列结尾不能有多余空格。
输入样例:
6 2
1 2 3 4 5 6
输出样例:
5 6 1 2 3 4
代码如下:
#include<stdio.h>
int main()
{
//by sunyiint t = 0,N,M,i,j;int a[100]= {0};scanf("%d %d",&N,&M); for(i=0;i<N;i++)scanf("%d",&a[i]);for(j=0;j<M;j++){t=a[N-1];for(i=N-2;i>=0;i--){a[i+1]=a[i];}a[0]=t;}for(i=0;i<N;i++){if(i<N-1)printf("%d ",a[i]);elseprintf("%d",a[i]);}//printf("\n");return 0;
}
没有注意到输出格式,提交了n次都是格式错误。。。浪费了n个小时,好气啊!!!!
在网上也看到了更好的算法,还需要继续学习。
这篇关于每天一道编程题——数组元素循环右移问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!