题目:输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数; ①输入10个数;②进行处理;③输出10个数。
分析:1,输入10个整数,并实现各个整数的交换,要用到数组(arr)。连续输入10个整数需要循环,用for语句即可。
2,找出数组中的最大值与最小值,可以先假设数组首元素为最大和最小值,即arr[0]。再用该值与数组中的一 一比较,记下最大和最小值的坐标。
3,用一个参数将数组中的数值调换过来,具体见下列代码。
4,用循环语句输出数组中的每个元素
参考代码:
#include<stdio.h>
int input(int arr[])//数组中元素的输入
{
for (int i = 0; i < 10; i++)
{
scanf_s("%d", &arr[i]);
}
return 0;
}
int mark(int arr[])//进行处理
{
int max = arr[0], min = arr[0];//将最大值和最小值设为首元素
int s = 0, m = 0;
int temp, temp2;
for (int j = 1; j < 10; j++)//j从1开始,后面的元素与首元素arr[0]依次比较
{
if (arr[j] > max)
{
max = arr[j];//将最大值换成找到的数组元素
s = j;//记下该元素的坐标
}
}
temp = arr[s];//使用temp将最大值和最后一位数进行调换
arr[s] = arr[9];
arr[9] = temp;
for (int j = 1; j < 10; j++)//找最小值
{
if (arr[j] < min)
{
min = arr[j];//将最小值换成找到的数组元素
m = j;////记下该元素的坐标
}
}
temp2 = arr[m];//使用temp2将最小值和第一位数进行调换
arr[m] = arr[0];
arr[0] = temp2;
return 0;
}
void output(int arr[])//数组元素的输出
{
for (int m = 0; m < 10; m++)
{
printf("%d ", arr[m]);
}
}
int main(void)
{
int arr[10] = { 0 };
input(arr);//输入
mark(arr);//进行处理
output(arr);//输出
return 0;
}
0.0分
1 人评分
点我有惊喜!你懂得!浏览:1392 |
简单的a+b (C语言代码)浏览:690 |
数组输出 (C语言代码)浏览:811 |
简单的a+b (C语言代码)浏览:564 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:634 |
用筛法求之N内的素数。 (C语言代码)浏览:711 |
字符串输入输出函数 (C语言代码)浏览:2605 |
C语言程序设计教程(第三版)课后习题12.2 (C语言代码)浏览:839 |
C语言训练-8除不尽的数 (C语言代码)浏览:1469 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:820 |