C语言: 键盘输入任意10个整数,找出最大数及最大数的序号。

例1:键盘输入任意10个整数,找出最大数。

解析如下:

这个题目可以用我们前面介绍的打擂台的方法来做:先输入一个数作为擂主,然后,从第二个数开始,每输入一个数都跟擂主比较,如果大于擂主,则记住该数,使该数成为新擂主,否则擂主不变……

代码如下:

#include<stdio.h>

int main()

{int  n, max, i;

 scanf(“%d”, &n);           //输入第一个数

 max = n;                    //第一个数作擂主

 for(i = 2; i <= 10; i++){

   scanf(“%d”, &n);

if(n > max)              //若n是更大的数

   max = n;               //n成为擂主*/

 }

printf(“最大数是:%d\n”, max);

getch();

return 0;

}

例2:键盘输入任意10个数,找出最大数的序号。比如,若键盘输入4,6,7,3,5,9,8,0,1,2,则程序输出6 (第6个数最大)。

解析如下

这个题目与例3.8类似,唯一不同的是要求输出最大数的序号而不是最大数的值。程序依然可以用打擂台的方法,但是在每个数与擂主比较的时候,若新数大于max,则要:

(1)记住这个数,使这个新数成为擂主(以便后面的数跟这个“新擂主”比较)。

(2)记住这个新擂主的序号。

代码如下:

#include<stdio.h>

int main()

{int  n, max, k, i;          //k用来记录最大数的序号

 scanf(“%d”,&n);         

 max = n;                     //第一个数作为擂主

 k = 1;                       //目前第一个数最大,记录其序号

 for(i = 2; i <= 10; i++){  //从第二个数开始打擂

    scanf(“%d”, &n);

if(n > max){              

    max = n;

    k = i;                  //记录新擂主的序号

}

 }

printf(“最大数的序号是:%d\n”, k);

getch();

 return 0;

}

程序的关键点在于:若新数大于擂主,既要记录这个数,又要记录它的序号。

 

 

  • 17
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值