关于数组循环右移的问题! 求解一题题目:数组的循环移位 基本要求 (1)对于一个给定的...
C\u8bed\u8a00\u7f16\u7a0b\u95ee\u9898\uff1a\u6570\u7ec4\u5143\u7d20\u5faa\u73af\u53f3\u79fb\u95ee\u9898void shift(int* data, int num, int right) {int i;right %= num;for (i = 0; i = right) {data[lst] = data[lst - right];lst -= right;}data[lst] = v;}}void pt(int* data, int n) {int i = 0;while (i < n) {printf("%d ", data[i++]);}printf("\n");}int main() {int m[] = {1, 2, 3, 4, 5, 6};shift(m, 6, 2);pt(m, 6);return 0;}
int a[100];//\u7ed9\u5b9a\u7684\u6574\u578b\u6570\u7ec4,\u5047\u8bbe\u957f\u5ea6\u4e3a100
int main(){
int b;//\u5b58\u4e2d\u95f4\u503c
int i;
scanf("%d",&i);
while(i--){
b=a[99];
for(j=99;j>=1;j--)//\u6570\u503c\u5faa\u73af\u53f3\u79fb
a[j]=a[j-1];
a[0]=b;
}
return 0;
}
int data[10] ; 声明要移位的数组
void Init_data() 初始化数据内的数据。
{
int i;
for(i= 0;i < 10;i++)
{
data[i] = i;
}
}
void move() 将数组的数据右移一位
{
int temp;
int i;
temp = data[9];
for (i = 9;i > 0 ;i--)
{
data[i] = data[i-1];
}
data[0] = temp;
}
void main()
{
int i,n;
scanf("右移的位数%d",&d);
for( i= 0;i < n; i++)
{
move();
}
}
绛旓細include<stdio.h> int main(){char s[]="123456789",*p1,*p2,a,b;for(p1=s;*p1;p1++);p2=--p1;b=*p1;p2=p1-1;a=*(p2--);for(;p1>=s;)*p1--=*p2--;s[0]=a;s[1]=b;printf("%s\n",s);return 0;}
绛旓細寰幆鍙崇Щ鍙鍋氫笁娆¢嗗簭鎿嶄綔灏辫浜嗭紝浠g爜濡備笅锛岃閲囩撼銆傜湅娉ㄩ噴閮ㄥ垎锛岃鐪熸兂涓涓嬶紝涓嶆噦鍙拷闂 include <stdio.h>//灏鏁扮粍a鐨勭left浣嶅埌绗瑀ight浣嶄箣闂寸殑鍏冪礌閫嗗簭void reverse(int a[],int left,int right){ for(int i=0;i<=(right-left)/2;i++){ int tmp = a[left+i]; a[left+...
绛旓細include <iostream> include <iterator> include <algorithm> size_t gcd(size_t m, size_t n){ return n==0 ? m : gcd(n, m % n);} void rotate(int *arr, size_t n, int k) // n:鏁扮粍闀垮害锛 k:鍙崇Щ浣嶆暟 { size_t d = gcd(n, (k>0 ? k: -k)); // 鑾峰緱n鍜寍k...
绛旓細include <stdio.h> void move(int *a,int*b,int n){ for(int i=0,j=9;i!=10;++i,--j){ b[(a[j]+n)%10]=a[j];} printf("绉诲姩鍚庯細\n");for(int k=0;k!=10;++k)printf("%d ",b[k]);} int main(){ int a[10]={0,1,2,3,4,5,6,7,8,9};int b[10]=...
绛旓細include <stdio.h> / a 涓鏁扮粍棣栧湴鍧, n涓烘暟缁勯暱搴, k涓鸿绉荤殑浣嶆暟 / void shuffle(double* a, int n, int k){ int i;double temp;//姣忔寰幆绉涓浣嶏紝绉籯娆 while(k > 0){ i = n -1;temp = a[n - 1];while(i > 0){ a[i] = a[i-1];i--;} a[0] = temp;k-...
绛旓細int a[100];//缁欏畾鐨勬暣鍨鏁扮粍,鍋囪闀垮害涓100 int main(){ int b;//瀛樹腑闂村 int i;scanf("%d",&i);while(i--){ b=a[99];for(j=99;j>=1;j--)//鏁板寰幆鍙崇Щ a[j]=a[j-1];a[0]=b;} return 0;}
绛旓細temp鍒濆鍖栭敊璇紝寮濮嬭繘鍏寰幆鐨鏃跺檖鏄病鏈夊垵濮嬪寲鐨勶紝浣犵敤*(p+9)鏈夌敤涔堬紵
绛旓細鍙崇Щ灏辨槸闄や互2.寰幆鍙崇Щ锛屽墠闈㈡暟鏄鏁帮紝鍚庨潰鏁/2鍚庯紝鏈楂樹綅鍔1锛16浣嶆暣鏁帮紝瀵瑰簲2^15).涓涓暟/2鐨勪綑鏁帮紝鍔犲湪鍚庝竴鏁扮殑鏈楂樹綅,鏈鍚庝竴涓暟鐨/2鐨勪綑鏁帮紝鍔犲埌绗竴涓暟鐨勬渶楂樹綅銆
绛旓細include "stdio.h"/* 灏鏁扮粍arr寰幆鍙崇Щsize浣 */ void CMR(int *p, int len, int size){ int i, j;int temp;if(size<1 || size>=len)return;for(i=0,j=len-size-1; i<j; i++,j--){ temp = *(p+i);(p+i) = *(p+j);(p+j) = temp;} for(i=len-size,j=len...
绛旓細姣旇緝绠鍗曠殑鍋氭硶鏄紝寮杈熷彟涓涓鏁扮粍锛岀敤浜庡瓨鍌寰幆鍚绉荤殑鍏冪礌锛屾妸鍚庨潰鐨勬暟鎹墠绉诲悗锛屽啀鎶婄Щ鍑虹殑鏁版嵁绉诲洖鍘熸暟缁勩傝繖绉嶅仛娉曪紝鏄滀互绌洪棿鎹㈡椂闂粹濈殑鍋氭硶锛屽鍔犱簡绌洪棿鐨勫紑閿锛屾椂闂村鏉傚害涓篛(n)銆#includeusing namespace std;int main(){ int m,n,i,j,t,a[100],b[100]; cout<<"涓缁存暟缁勫厓绱犱釜...