C语言:用指针实现,输入6个整数,把最小数与第1个数交换,最大数与最后1个数交换,其它数据不动。输入保证最大值和最小值唯一。请编写3个函数:(1)输入6个数;(2)进行处理函数;(2)输出6个数,每个数占3个宽度,左对齐。 函数接口定义: void inputdata(int *p); void swapdata(int *p); void printdata(int *p); p是传入的数组首地址。 裁判测试程序样例: #include <stdio.h> void inputdata(int *p); void swapdata(int *p); void printdata(int *p); int main(){ int a[6]; inputdata(a); swapdata(a); printdata(a); return 0; } 输入样例1: 2 1 6 5 4 3 输出样例1: 1 2 3 5 4 6
时间: 2024-01-08 17:01:50 浏览: 54
利用指针将最小数与第一个数调换,最大数与最后一个数对换(C语言练习例程)
5星 · 资源好评率100%
以下是代码实现:
```
#include <stdio.h>
void inputdata(int *p){
int i;
for(i=0;i<6;i++)
scanf("%d",p+i);
}
void swapdata(int *p){
int i,min,max,tmp;
min=max=0;
for(i=1;i<6;i++){
if(*(p+i)<*(p+min))
min=i;
if(*(p+i)>*(p+max))
max=i;
}
tmp=*(p+0);
*(p+0)=*(p+min);
*(p+min)=tmp;
tmp=*(p+5);
*(p+5)=*(p+max);
*(p+max)=tmp;
}
void printdata(int *p){
int i;
for(i=0;i<6;i++)
printf("%-3d",*(p+i));
}
int main(){
int a[6];
inputdata(a);
swapdata(a);
printdata(a);
return 0;
}
```
阅读全文