c语言编程:有一个这样的数字集合,由n个整数组成。如8 109 20 17 90 62 85,这是一个由7个整数组成的集合。其中5的倍数有20 95 80三个数,这其中90是最大的,所以答案是90。现在输入n和n个整数,请找出其中最大的5的倍数。

1个回答
展开全部
摘要 这个问题的解法可以分为以下几个步骤:1. 对于输入的n个数字,逐一判断是否为5的倍数。2. 如果是5的倍数,判断这个数是否比之前找到的最大的5的倍数还大。3. 如果是,那么更新最大的5的倍数为当前这个数。下面是示意代码:```c#include int main() { int n, num, max = -1; scanf("%d", &n); for (int i = 0; i n; i++) { scanf("%d", &num); if (num % 5 == 0 && num > max) { max = num; } } printf("最大的5的倍数为:%d", max); return 0;}```这段代码首先通过`scanf`函数读取了输入数字的总数n,并定义了变量`num`和`max`,分别表示当前读入的数字和目前找到的最大5的倍数。
咨询记录 · 回答于2023-03-25
c语言编程:有一个这样的数字集合,由n个整数组成。如8 109 20 17 90 62 85,这是一个由7个整数组成的集合。其中5的倍数有20 95 80三个数,这其中90是最大的,所以答案是90。现在输入n和n个整数,请找出其中最大的5的倍数。
这个问题的解法可以分为以下几个步骤:1. 对于输入的n个数字,逐一判断是否为5的倍数。2. 如果是5的倍数,判断这个数是否比之前找到的最大的5的倍数还大。3. 如果是,那么更新最大的5的倍数为当前这个数。下面是示意代码:```c#include int main() { int n, num, max = -1; scanf("%d", &n); for (int i = 0; i n; i++) { scanf("%d", &num); if (num % 5 == 0 && num > max) { max = num; } } printf("最大的5的倍数为:%d", max); return 0;}```这段代码首先通过`scanf`函数读取了输入数字的总数n,并定义了变量`num`和`max`,分别表示当前读入的数字和目前找到的最大5的倍数。
请问我的程序哪里错了?
这个程序有两处错误:1. `max v`应该写成`max_v`,中间不能有空格2. `a>=5&&a>max_v&&a%5==0`条件中的`a>=5`和`a>max_v`重复了,可以只保留`a>max_v`以下是修改后的代码:```c++#includeusing namespace std;int main() { int n,a,max_v=0; cin>>n; for(int i=0;i>a; if(a>max_v&&a%5==0) max_v=a; } cout<
下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消