【C语言】将n个数按输入时顺序的逆序排列输出,用函数和指针实现。
解题思路:先定义一个较大的整型数组,再从键盘获取将要输入几个数,一次接收这几个数并存入数组,调用函数将原来数组中的数颠倒次序,主函数再输出即可。编写程序:#include<stdio.h>int main(){void sort(int a[],int n);//函数声明int a[20]={0},i,num=0;int *p=a;//定义一个指针变量printf("要输入的数的个数(
文章共344字 · 阅读需要大约2分钟
一键AI生成摘要,助你高效阅读
问答
·
解题思路:先定义一个较大的整型数组,再从键盘获取将要输入几个数,一次接收这几个数并存入数组,调用函数将原来数组中的数颠倒次序,主函数再输出即可。
编写程序:
#include<stdio.h>
int main(){
void sort(int a[],int n); //函数声明
int a[20]={0},i,num=0;
int *p=a; //定义一个指针变量
printf("要输入的数的个数(<20):");
scanf("%d",&num); //获取需要输入的数的个数
printf("输入这%d个数:\n",num);
//输入数
for(i=0;i<num;i++)
scanf("%d",p++);
p=a; //重新指向数组首元素
sort(p,num); //调用函数(利用指针传入)
puts("逆序排列为:");
//输出结果
for(i=0,p=a;i<num;i++)
printf("%d,",*p++);
return 0;
}
/*数组元素颠倒排序函数*/
void sort(int a[],int n){
int i,t;
for(i=0;i<n/2;i++){
//与中心对称的元素进行交换
t=a[i];
a[i]=a[n-i-1];
a[n-i-1]=t;
}
}
运行截图:
更多推荐
已为社区贡献5条内容
所有评论(0)