8.3 输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。
8.3 输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。
写三个函数:1.输入10个数;2进行处理;3输出10个数。
个人代码如下
#include <stdio.h> int main() { int a[10]; void input_number(int *a); //声明输入函数 void sort_number(int *a); //声明输入函数 void output_number(int *a); //声明输入函数 input_number(a); sort_number(a); output_number(a); } //输入函数 void input_number(int *a) { int *m; for (m=a, printf("Please enter 10 numbers: "); m<a+10; scanf("%d", m++)); } //调换函数 void sort_number(int *a) { int m1,m2; //m1,m2分别为最小数和最大数所在的列 int t1,t2,i; for(i=0,t1=t2=*a,m1=m2=0;i<10;i++) { if(*(a+i)>t1) // 寻找最大数以及所在列 { t1=*(a+i);m1=i; } if(*(a+i)<t2) // 寻找最小数以及所在列 { t2=*(a+i);m2=i; } } *(a+m1)=*(a+9);*(a+9)=t1; //最大数和最后一个数对换 *(a+m2)=*a;*a=t2; //最小数和最后一个数对换 } //输出函数 void output_number(int *a) { int i; for(i=0;i<10; printf("%3d",*(a+(i++)))); }
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。