C //例 7.9 输入10个数,要求输出其中值最大的元素和该数是第几个数。

编程入门 行业动态 更新时间:2024-10-24 04:42:01

C //例 7.9 输入10<a href=https://www.elefans.com/category/jswz/34/1769671.html style=个数,要求输出其中值最大的元素和该数是第几个数。"/>

C //例 7.9 输入10个数,要求输出其中值最大的元素和该数是第几个数。

C程序设计 (第四版) 谭浩强 例 7.9

例 7.9 输入10个数,要求输出其中值最大的元素和该数是第几个数。

IDE工具:VS2010
Note: 使用不同的IDE工具可能有部分差异。

 

代码块
方法1:使用数组
#include <stdio.h>
#include <stdlib.h>#define N 10void max(int num[], int n){int max = num[0];int s;for(int i = 0; i < n; i++){if(num[i] > max){max = num[i];s = i + 1;}}printf("The largest number is %d, it is the %dth number.\n", max, s);
}int main(){int num[N];printf("Enter %d numbers: ", N);for(int i = 0; i < N; i++){scanf("%d", &num[i]);}max(num, N);system("pause");return 0;
}
方法2:使用指针、动态分配内存
#include <stdio.h>
#include <stdlib.h>#define N 10//初始化数组
void initialArr(int **num, int n, int **s){*num = (int*)malloc(n * sizeof(int));*s = (int*)malloc(sizeof(int));
}//输入数组
void inputArr(int *num, int n){printf("Enter %d numbers: ", n);for(int i = 0; i < n; i++){scanf("%d", &num[i]);}
}//最大值函数,同时通过指针返回最大值的个数
int max(int *num, int n, int *s){int max = num[0];for(int i = 0; i < n; i++){if(num[i] > max){max = num[i];*s = i + 1;}}return max;
}//释放分配内存
void freeArr(int **num, int **s){free(*num);free(*s);
}int main(){int *num = NULL;int *s = NULL;initialArr(&num, N, &s);inputArr(num, N);printf("The largest number is %d, ", max(num, N, s));printf("it is the %dth number.\n", *s);freeArr(&num, &s);system("pause");return 0;
}

更多推荐

C //例 7.9 输入10个数,要求输出其中值最大的元素和该数是第几个数。

本文发布于:2023-11-15 02:18:58,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1592003.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:个数   中值   元素

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!