有一个数组{1,2,3,4,5,6,7,8,9},输入一个1到9的数字n后,数组就向右移动n位,例 10
3个回答
展开全部
#include<stdio.h>
void main(){
int num[9]={1,2,3,4,5,6,7,8,9},i;
int order;
printf("请输入右移的位数:");
scanf("%d",&order);
while(order<1||order>9){
printf("输入非法,请重新输入!\n");
printf("请输入右移的位数:");
scanf("%d",&order);
}
for(i=0;i<9;i++){
if(order+num[i]>9){
num[i]=order+num[i]-9;
}else{
num[i]+=order;
}
}
for(i=0;i<9;i++){
printf("%d ",num[i]);
}
printf("\n");
}
void main(){
int num[9]={1,2,3,4,5,6,7,8,9},i;
int order;
printf("请输入右移的位数:");
scanf("%d",&order);
while(order<1||order>9){
printf("输入非法,请重新输入!\n");
printf("请输入右移的位数:");
scanf("%d",&order);
}
for(i=0;i<9;i++){
if(order+num[i]>9){
num[i]=order+num[i]-9;
}else{
num[i]+=order;
}
}
for(i=0;i<9;i++){
printf("%d ",num[i]);
}
printf("\n");
}
展开全部
#include <stdio.h>
int *loop(int a[],int n,int bit);
int main(){
int a[5] = {1, 2, 3, 4, 5};
int i;
int *b;
b = loop(a,5,1);
for(i = 0;i < 5;i++)
printf("%d ",b[i]);
printf("\n");
return 0;
}
int *loop(int a[],int n,int bit){
int i = 1;
int tmp;
while(bit--){
tmp = a[n-i];
for(i = 1;i <= 5 ;i++){
if((n - i) != 0)
a[n-i] = a[n-i-1];
else
a[n-i] = tmp;
}
i = 1;
}
return a;
}
int *loop(int a[],int n,int bit);
int main(){
int a[5] = {1, 2, 3, 4, 5};
int i;
int *b;
b = loop(a,5,1);
for(i = 0;i < 5;i++)
printf("%d ",b[i]);
printf("\n");
return 0;
}
int *loop(int a[],int n,int bit){
int i = 1;
int tmp;
while(bit--){
tmp = a[n-i];
for(i = 1;i <= 5 ;i++){
if((n - i) != 0)
a[n-i] = a[n-i-1];
else
a[n-i] = tmp;
}
i = 1;
}
return a;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1 9 23 8 45 7 6.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询