1. 程式人生 > >C高級地一次作業 編程題第一題

C高級地一次作業 編程題第一題

定義 長度 循環 一位 平移 gpo AI for循環 include

#include<stdio.h>
#define N 100
int main()
{
int a[N];
int i,j,k,n,m,temp=0;
scanf("%d %d",&n,&m);
i=0;
while(i<n)
{
scanf("%d",&a[i]);
i++;
}
for(j=0;j<m;j++) //移動次數
{
temp=a[n-1]; //保存最後一位數
for(k=n-1;k>=0;k--)
{
a[k]=a[k-1]; //向後移動
if(k==0)
{
a[k]=temp;
}
}
}
for(i=0;i<n;i++)
{

if(i==n-1)
printf("%d",a[i]);
else
printf("%d ",a[i]);
}
return 0;
}

自己做不會,在網上找的,看懂了,

先宏定義N為100,輸入n,m確定書組長度和移動距離,for循環輸入數組元素

再一個for循環控制整體向右平移的次數即m,用<m控制,進入內層循環進行的是用a[k]=a[k-1]將某個元素向右平移一次,將n個元素依次做相同的操作,直到進行到第一位即k=0時,將最後一位的值付給第一個即a[k]=temp;最後依次for循環依次輸出元素,完成程序。

C高級地一次作業 編程題第一題