C语言自定义数组值,并求最大最小值
时间: 2023-11-23 14:06:32 浏览: 36
好的,这个问题是关于编程的问题,答案如下:要自定义数组,你需要在定义数组时指定数组的数值。例如,定义一个长度为5的数组a,a={1,2,3,4,5}。要求最大值和最小值,你可以使用for循环来比较数组中的数值,找出最大值和最小值。具体实现可以参考以下代码:
```
#include<stdio.h>
int main()
{
int i;
int a[5]={1,2,3,4,5};
int max=a[0],min=a[0]; //先把第一个数赋值给最大值和最小值
for(i=1;i<5;i++) //从数组的第二个元素开始循环比较
{
if(a[i]>max)
max=a[i]; //如果该元素比最大值还大,就把该元素赋值给最大值
if(a[i]<min)
min=a[i]; //如果该元素比最小值还小,就把该元素赋值给最小值
}
printf("最大值:%d,最小值:%d",max,min); //输出最大值和最小值
return 0;
}
```
希望能对你有所帮助!
相关问题
C语言8. 从键盘输入5个整数,保存于数组中。编程找出其中最大值和最小值,把二者位置对调,然后输出调整后的数组。要求:使用自定义函数实现对调。
好的,这是一个比较常见的 C 语言编程题目,下面是解题思路和代码实现。
首先,我们需要定义一个数组来存储输入的 5 个整数,然后遍历数组找出其中的最大值和最小值,接着使用自定义函数实现对调,最后输出调整后的数组。
下面是完整的代码实现:
```c
#include <stdio.h>
// 自定义函数 swap,用于交换两个元素的值
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int arr[5];
// 从键盘输入 5 个整数,保存于数组中
printf("请输入 5 个整数:\n");
for (int i = 0; i < 5; i++) {
scanf("%d", &arr[i]);
}
// 找出数组中的最大值和最小值
int max_index = 0, min_index = 0;
for (int i = 1; i < 5; i++) {
if (arr[i] > arr[max_index]) {
max_index = i;
}
if (arr[i] < arr[min_index]) {
min_index = i;
}
}
// 对调最大值和最小值的位置
swap(&arr[max_index], &arr[min_index]);
// 输出调整后的数组
printf("调整后的数组为:\n");
for (int i = 0; i < 5; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
运行结果示例:
```
请输入 5 个整数:
3 5 2 8 1
调整后的数组为:
3 1 2 8 5
```
这样,我们就完成了这道 C 语言编程题目。
用C语言写代码:自定义一个4*4的二维整型数组(直接在程序中初始化该数组),先打印输出该数组,然后求出每一行中的最小值,将其组成一个新的一维数组并打印输出。
好的,这是一个 C 语言题目,我可以回答。以下是代码实现:
```
#include <stdio.h>
int main() {
int arr[4][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}, {13, 14, 15, 16}};
int min[4];
int i, j;
printf("原始二维数组:\n");
for (i = 0; i < 4; i++) {
for (j = 0; j < 4; j++) {
printf("%2d ", arr[i][j]);
}
printf("\n");
}
printf("每一行中的最小值:\n");
for (i = 0; i < 4; i++) {
min[i] = arr[i][0];
for (j = 1; j < 4; j++) {
if (arr[i][j] < min[i]) {
min[i] = arr[i][j];
}
}
printf("%d ", min[i]);
}
printf("\n");
return 0;
}
```
输出结果如下:
```
原始二维数组:
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
每一行中的最小值:
1 5 9 13
```
希望我的回答能够帮到您!