c语言从键盘输入5个整数并保存到数组中,求该5个整数的最大值。使用getmax的其他函数
时间: 2023-11-28 16:49:13 浏览: 97
可以使用以下代码来实现:
```
#include <stdio.h>
int getmax(int arr[], int n) {
int max = arr[0];
for (int i = 1; i < n; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
return max;
}
int main() {
int arr[5];
printf("请输入5个整数:\n");
for (int i = 0; i < 5; i++) {
scanf("%d", &arr[i]);
}
int max = getmax(arr, 5);
printf("最大值为:%d\n", max);
return 0;
}
```
其中,`getmax` 函数用于求一个数组中的最大值,它接受两个参数,一个是数组 `arr`,一个是数组的长度 `n`。在函数内部,我们首先将数组第一个元素设为最大值,然后遍历数组,如果找到比当前最大值还大的元素,就将其设为最大值,最后返回最大值。
在 `main` 函数中,我们先定义一个长度为 5 的数组 `arr`,然后使用循环从键盘读入 5 个整数并保存到数组中。接着,我们调用 `getmax` 函数求出这 5 个整数的最大值,并将结果输出到屏幕上。
相关问题
请用C语言完成,输入 100 以内的 20 个正整数到数组中和一个需要查找的正整数 x,设计 5 个函数:(1)getdata 函 数完成输入数据输入(需要处理输入<=0 和>100 的数据);(2)最大值的函数getmax,返回最大值; (3)排序函数 sort,对 20 个数进行从小到大排序。(4)查找函数find 在 20 个数中查找 x,找到返 回数组中的下标,没有找到返回-1;(5)输出函数printdata,要求每行输出 5 个正整数,每个正整数 占 4 位,分 4 行输出。在 main 函数中定义数组,以菜单的形式调用 5 个函数,完成数据的输入,求最大值,排序,查找 x 和输出数据
以下是用C语言实现的代码,实现了输入数据、最大值、排序、查找和输出数据的功能,并使用菜单形式调用这些函数:
```c
#include <stdio.h>
#define SIZE 20
void getdata(int arr[]);
int getmax(int arr[]);
void sort(int arr[]);
int find(int arr[], int x);
void printdata(int arr[]);
void displayMenu();
int main() {
int arr[SIZE];
int x, max, index;
int choice;
do {
displayMenu();
scanf("%d", &choice);
switch (choice) {
case 1:
getdata(arr);
break;
case 2:
max = getmax(arr);
printf("Max value: %d\n", max);
break;
case 3:
sort(arr);
printf("Array sorted.\n");
break;
case 4:
printf("Enter the number to search: ");
scanf("%d", &x);
index = find(arr, x);
if (index == -1) {
printf("%d not found in the array.\n", x);
} else {
printf("%d found at index %d in the array.\n", x, index);
}
break;
case 5:
printdata(arr);
break;
case 0:
printf("Exiting program.\n");
break;
default:
printf("Invalid choice! Please try again.\n");
}
} while (choice != 0);
return 0;
}
void getdata(int arr[]) {
printf("Enter 20 positive integers less than or equal to 100:\n");
for (int i = 0; i < SIZE; i++) {
scanf("%d", &arr[i]);
// Check for valid input
while (arr[i] <= 0 || arr[i] > 100) {
printf("Invalid input! Enter a positive integer <= 100: ");
scanf("%d", &arr[i]);
}
}
}
int getmax(int arr[]) {
int max = arr[0];
for (int i = 1; i < SIZE; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
return max;
}
void sort(int arr[]) {
int temp;
for (int i = 0; i < SIZE - 1; i++) {
for (int j = 0; j < SIZE - i - 1; j++) {
if (arr[j] > arr[j+1]) {
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
int find(int arr[], int x) {
for (int i = 0; i < SIZE; i++) {
if (arr[i] == x) {
return i;
}
}
return -1;
}
void printdata(int arr[]) {
printf("Data in sorted order:\n");
for (int i = 0; i < SIZE; i++) {
printf("%4d ", arr[i]);
if ((i+1) % 5 == 0) {
printf("\n");
}
}
}
void displayMenu() {
printf("\nMenu:\n");
printf("1. Enter data\n");
printf("2. Find maximum value\n");
printf("3. Sort array\n");
printf("4. Find number\n");
printf("5. Print data\n");
printf("0. Exit\n");
printf("Enter your choice: ");
}
```
这段代码实现了一个菜单系统,通过输入不同的选项来调用相应的函数,完成数据的输入、求最大值、排序、查找指定数和输出数据的功能。用户可以根据菜单选择不同的操作。
用C语言编写从键盘上输入10个整数,用函数调用的方式求其最大值和平均分。
好的,我可以为您提供这个问题的解决方案。
以下是用C语言编写从键盘上输入10个整数,用函数调用的方式求其最大值和平均分的代码:
```c
#include <stdio.h>
// 函数声明
int getMax(int arr[], int n);
float getAverage(int arr[], int n);
int main() {
int arr[10];
int i;
// 从键盘上输入10个整数
printf("请输入10个整数:\n");
for (i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
// 调用 getMax 函数获取数组中的最大值
int max = getMax(arr, 10);
printf("最大值为:%d\n", max);
// 调用 getAverage 函数获取数组的平均值
float average = getAverage(arr, 10);
printf("平均值为:%f\n", average);
return 0;
}
// 获取数组中的最大值
int getMax(int arr[], int n) {
int max = arr[0];
int i;
for (i = 1; i < n; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
return max;
}
// 获取数组的平均值
float getAverage(int arr[], int n) {
int sum = 0;
int i;
for (i = 0; i < n; i++) {
sum += arr[i];
}
return (float) sum / n;
}
```
在上面的代码中,我们定义了两个函数 getMax 和 getAverage,分别用于获取数组中的最大值和平均值。在 main 函数中,我们首先从键盘上输入了10个整数,并将它们存储到数组 arr 中。然后,我们分别调用了 getMax 和 getAverage 函数,并将它们的返回值打印出来。
希望这个代码可以帮助您解决问题,如果您有任何疑问,请随时问我。
阅读全文