一个c语言问题

【问题描述】n个整数,前面各数循环顺序后移m个位置,最后m个数变成最前面m个数。写函数voidfun(int*p,intn,intm),实现上述功能。在main()中输入... 【问题描述】n个整数,前面各数循环顺序后移m个位置,最后m个数变成最前面m个数。
写函数void fun(int *p,int n,int m),实现上述功能。在main()中输入与输出。
例如若输入m=14,程序输出 7 8 9 10 1 2 3 4 5 6 。注意,m可能大于n。
#include "stdio.h"
void fun(int *p,int n,int m)
{
}
int main()
{void fun(int *,int ,int );
int x[10]={1,2,3,4,5,6,7,8,9,10},i,m;
printf("Input m:");
scanf("%d",&m);
fun(x,10,m);
for(i=0;i<10;i++)
printf("%d ",x[i]);
printf("\n");
return 0;
}
【输入形式】输入循环移动数m
【输出形式】循环后移m位后的数组
【样例输入】Input m:14
【样例输出】7 8 9 10 1 2 3 4 5 6
展开
 我来答
英韦本樱花
2019-06-01 · TA获得超过3830个赞
知道大有可为答主
回答量:3068
采纳率:32%
帮助的人:218万
展开全部
/*空格显示不出来,就用“-”代替了*/
#include<stdio.h>
#define
N
10
void
main(){
int
n,i,j,k;
int
data[N][N];
data[0][0]=1;
printf("输入杨辉三角层数:");
scanf("%d",&n);
for(i=1;i<n;i++){
data[i][0]=1;
data[i][i]=1;
for(j=1;j<i;j++){
data[i][j]=data[i-1][j-1]+data[i-1][j];
}
}
for(i=0;i<n;i++){
for(k=0;k<(n-i);k++)
printf("-");
for(j=0;j<=i;j++){
printf("%d
",data[i][j]);
}
printf("\n");
}
}
执行结果:
输入杨辉三角层数:4
----1
---1
1
--1
2
1
-1
3
3
1
网页上的空格跟实际输出的空格不一样,在运行环境里就是标准的了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
上官清寒萌萌哒
2019-05-27 · TA获得超过2488个赞
知道大有可为答主
回答量:5654
采纳率:82%
帮助的人:299万
展开全部
说白了,就是两层循环,第五行就是i从1加到5,执行五次,第七行是j从1加到5,也是执行五次。
但要注意了,i=1的时候,里面的要执行一次,这一次包含j的五次执行,所以一共是5*5次执行
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式