(用指针方法处理)有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数。编写一个函数实现上述功能,在主函数中输入n个整数,并输出调整后的n个数
2015-05-27 22:28
1181 查看
第一种方法:指针法
#include<stdio.h>
#include<stdlib.h>
int w(int *d,int e,int g)
{
int i,j,t;
int *r;
j=0;
for(i=0;i<g;i++)
{
t=*(d+i);
*(d+i)=*(d+e-g+j);
*(d+e-g+j)=t;
j++;
}
return *d;
}
int main()
{
int a[100];
int i,j,k,n,m;
scanf("%d%d",&n,&m);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
k=n;
w(a,k,m);
for(i=0;i<n;i++)
printf("%d ",a[i]);
printf("\n");
system("pause");
return 0;
}
第二种方法:数组法
#include<stdio.h>
#include<stdlib.h>
void w(int d[],int e,int g)
{
int i,j,t;
//int *r;
j=e;
for(i=0;i<g;i++)
{
t=d[i];
d[i]=d[j-1];
d[j-1]=t;
j--;
}
for(i=0;i<e;i++)
printf("%d ",d[i]);
printf("\n");
//return *d;
}
int main()
{
int a[100];
int i,j,k,n,m;
scanf("%d%d",&n,&m);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
k=n;
w(a,k,m);
/* for(i=0;i<n;i++)
printf("%d ",a[i]);
printf("\n");*/
system("pause");
return 0;
}
#include<stdio.h>
#include<stdlib.h>
int w(int *d,int e,int g)
{
int i,j,t;
int *r;
j=0;
for(i=0;i<g;i++)
{
t=*(d+i);
*(d+i)=*(d+e-g+j);
*(d+e-g+j)=t;
j++;
}
return *d;
}
int main()
{
int a[100];
int i,j,k,n,m;
scanf("%d%d",&n,&m);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
k=n;
w(a,k,m);
for(i=0;i<n;i++)
printf("%d ",a[i]);
printf("\n");
system("pause");
return 0;
}
第二种方法:数组法
#include<stdio.h>
#include<stdlib.h>
void w(int d[],int e,int g)
{
int i,j,t;
//int *r;
j=e;
for(i=0;i<g;i++)
{
t=d[i];
d[i]=d[j-1];
d[j-1]=t;
j--;
}
for(i=0;i<e;i++)
printf("%d ",d[i]);
printf("\n");
//return *d;
}
int main()
{
int a[100];
int i,j,k,n,m;
scanf("%d%d",&n,&m);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
k=n;
w(a,k,m);
/* for(i=0;i<n;i++)
printf("%d ",a[i]);
printf("\n");*/
system("pause");
return 0;
}
相关文章推荐
- 习题 8.4 有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数,见图8.43。写一函数实现以上功能,在主函数中输入n个整数和输出调整后的n个数。
- 有n个整数,使前面各数顺序向后移m个位置,最后m个数变成前面m个数,见图。写一函数:实现以上功能,在主函数中输入n个数和输出调整后的n个数。
- C++入门:有n个整数,使前面各数顺序向后移m个位置,最后m个数变成前面m个数,见图。写一函数:实现以上功能,在主函数中输入n个数和输出调整后的n个数
- (c++)有n个整数,使前面各数顺序向后移m个位置,最后m个数变成前面m个数,见图。写一函数:实现以上功能,在主函数中输入n个数和输出调整后的n个数。
- 有n个整数,使前面各数后移m个位置,最后m个数变成最前面m个数,在主函数输入n个整数和输出调整后n个整数.
- 有n个整数,使前面各数后移m个位置,最后m个数变成最前面m个数,在主函数输入n个整数和输出调整后n个整数.
- 习题 8.21 用指向指针的指针的方法对n个整数排序并输出。要求将排序单独写成一个函数。n个整数在主函数中输入,最后在主函数中输出。
- /* 用指向指针的指针的方法对n个整数排序并输出 。要求将排序单独写成一个函数。n个整数在主函数中输入,最后在主函数中输出*/
- 有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数。(指针)
- C语言_有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数
- 有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数(移动次数小于等于n)
- 有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。
- 有n个整数,使前面各数顺序向后移动m个位置最后m个数变成最前面的m个数
- 有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面m个数。
- 有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数
- 编写函数,其功能是:将一个数字字符串转换为一个整数(不得调用C语言中提供的将字符串转换成整数的函数。)要求在主函数中输入该字符串并输出转换后的整数的值。
- 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
- 【程序36】 题目:有n个整数,使其前面各数顺序向后移m个位置, 最后m个数变成最前面的m个数
- 【c语言】有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数
- 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。