C小题目:输入10个整数,将其中最小的数与第1个数对换,将最大的数与最后一个对换。要求写3个函数:(1)输入10个数;(2)进行处理;(3)输出10个数。
题目要求如下:
输入10个整数,将其中最小的数与第1个数对换,将最大的数与最后一个对换。
要求写3个函数:(1)输入10个数;(2)进行处理;(3)输出10个数。
提示:
(1)定义void input(int *p)函数,用来输入10个整数,存放到指针变量p所指向的数组中;
(2)定义void max_min_value(int *p)函数,在指针变量p所指向的数组中,找出最大数、最小数,然后最小数与第1个数对换,将最大数与最后一个对换;
(3)定义void output(int *p)函数,输出指针变量所指向的数组的每个元素;
(4)在main函数中定义一个一维数组a,调用input函数,传递数组a,调用max_min_value函数,传递数组a,调用output函数,输出所有数组元素。
代码如下:
#include <stdio.h>
void input(int *p){
int i;
for(i=0;i<10;i++){
printf("请输入p[%d]=",i);
scanf("%d",p++);
}
}
void max_min_value(int *p){
int i,max=*(p+0),min=*(p+0);
for(i=0;i<10;i++){
if(max < *(p+i)){
max = *(p+i);
}
if(*(p+i) < min){
min = *(p+i);
}
}
*(p+0) = min;
*(p+9) = max;
printf("max = %d\n",max);
printf("min = %d\n",min);
}
void output(int *p){
int i;
printf("结果是:");
for(i=0;i<10;i++){
printf("%d ",*(p+i));
}
}
int main() {
int a[10];
input(a);
max_min_value(a);
output(a);
return 0;
}
结果如下:
请输入p[0]=9
请输入p[1]=5
请输入p[2]=6
请输入p[3]=3
请输入p[4]=7
请输入p[5]=8
请输入p[6]=4
请输入p[7]=2
请输入p[8]=1
请输入p[9]=8
max = 9
min = 1
结果是:1 5 6 3 7 8 4 2 1 9
Process returned 0 (0x0) execution time : 11.545 s
Press any key to continue.
分类:
C语言
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通