c语言有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数以十为例,为什么只有输入0 和1结果才对,其他的都不对啊,另外可以的话能帮我把子函数改成用指针的么,#include# define

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/05 15:49:33
c语言有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数以十为例,为什么只有输入0 和1结果才对,其他的都不对啊,另外可以的话能帮我把子函数改成用指针的么,#include# define

c语言有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数以十为例,为什么只有输入0 和1结果才对,其他的都不对啊,另外可以的话能帮我把子函数改成用指针的么,#include# define
c语言有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数
以十为例,为什么只有输入0 和1结果才对,其他的都不对啊,另外可以的话能帮我把子函数改成用指针的么,
#include
# define N 10
void main()
{
\x09int a[N]={1,2,3,4,5,6,7,8,9,10};
\x09int n,i;
\x09void change(int *a,int n);
\x09printf("原数组为:");
\x09for(i=0;i

c语言有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数以十为例,为什么只有输入0 和1结果才对,其他的都不对啊,另外可以的话能帮我把子函数改成用指针的么,#include# define
当q=0,a[q]=a[q-1]?你猜
每次a[m]=a[m+1],与q没关系,q根本没有用

#include<stdio.h>
# define N 10
void main()
{
\x09int a[N]={1,2,3,4,5,6,7,8,9,10};
\x09int n,i;
\x09void change(int *a,int n);

\x09printf("原数组为:");
\x09for(i=0;i<N;i++)
\x09\x09printf("%d ",a[i]);
\x09printf("\n");

\x09printf("请输入数n:");
\x09scanf("%d",&n);
\x09change(a,n);

\x09printf("结果为:");
\x09for(i=0;i<N;i++)
\x09\x09printf("%d ",a[i]);
\x09printf("\n");
}

void change(int *a,int n)
{
\x09int m, i, p;
\x09for(i=0;i<n;i++)
\x09{
\x09\x09p=a[0];
\x09\x09for(m=0;m<N-1;m++)
\x09\x09{
\x09\x09\x09a[m]=a[m+1];
\x09\x09}
\x09\x09a[9]=p;
\x09}
}