解题思路:
根据题意可知,首先需要定义三个函数用来输入十个整数,处理十个整数,输出十个整数;本题中用fun1,fun2,fun3来表示这三个函数,因为数组在函数之间传递的过程中,用数组名作函数实参时,并不是把数组元素的值传递给形参,而是把实参数组的首元素的地址传递给了形参的数组,这样两个数组就共占同一段内存单元。所以如果改变了形参数组中某一个元素的值,那么实参数组中相应元素的值也会发生改变。
注意事项:
参考代码:
#include<stdio.h> //定义fun1用来输入十个数 void fun1(int a[],int n) { //利用for循环依次输入十个数 for(int i=0;i<n;i++) { scanf("%d",&a[i]); } } //定义fun2用来处理输入的十个数 void fun2(int a[],int n) { //定义max和min分别保存十个数中的最大值和最小值 int max=a[0]; int min=a[0]; //index保存数组中最大值和最小值的下标 int index; int temp; int i; for(i=1;i<n;i++) { //用if判断句找出数组中的最大值 if(max<a[i]) { max=a[i]; index=i; } } //将最大值移入到数组最后一位 temp=a[n-1]; a[n-1]=max; a[index]=temp; for(i=1;i<n;i++) { //用if判断句找出数组中的最小值 if(min>a[i]) { min=a[i]; index=i; } } //将最小值移入到数组第一位 temp=a[0]; a[0]=min; a[index]=temp; } //定义fun3用来输出这十个数 void fun3(int a[],int n) { //利用for循环依次输出十个数 for(int i=0;i<n;i++) { printf("%d ",a[i]); } } int main() { //定义一个长度为10的数组 int a[10]; //调用函数fun1进行十个整数的输入 fun1(a,10); //调用函数fun2对十个整数进行处理 fun2(a,10); //调用函数fun3对十个整数进行输出 fun3(a,10); return 0; }
0.0分
2 人评分
C语言程序设计教程(第三版)课后习题10.1 (C语言代码)浏览:615 |
C语言程序设计教程(第三版)课后习题6.7 (C++代码)浏览:1121 |
众数问题 (C++代码)浏览:1212 |
2004年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:1239 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:539 |
回文数(一) (C语言代码)浏览:751 |
最长单词 (C语言代码)浏览:1376 |
蛇行矩阵 (C语言代码)浏览:753 |
WU-蓝桥杯算法提高VIP-Quadratic Equation (C++代码)浏览:1754 |
WU-格式化数据输出 (C++代码)浏览:1212 |