求最大值的练习

练习总结


最大数练习

1.循环+scanf函数可以达到连续输入数据的目的

for(i=2;i<=n;i++)
{
   scanf("%d",&a);
   if(a<min)
  {
       min=a;
  }
   if(a>max)
  {
       max=a;
  }
}

2.

for(i=1;i<=n;i++)

图示表示循环n次


3.

printf("please a number:\n");
scanf("%d",&a);
min=a;
max=a;
for(i=2;i<=n;i++)

如果之前有过输入一个数据,则之后计数器i的初始值变成i=2


4.计次序功能的实现

for(i=1;i<=n;i++)
{
   scanf("%d",&a);
   if(a<min)
  {
       min=a;
       count_min=i;

注意:若将a<min改为a<=min,则优先后一个数;反之前一个数


拓展:找次大数

方法:通过增设变量,比较max变化前后的值,取变化前后值中较小的一个

终码

#include <stdio.h>
#include <stdlib.h>

int main()
{
   int min,n,a,i,count_max,count_min,next,max1;
   int max;
   printf("please input n:\n");
   scanf("%d",&n);
   printf("please a number:\n");
   scanf("%d",&a);
   min=a;
   max=a;
   max1=a;
   next=a;
   count_max=1;
   count_min=1;
   for(i=2;i<=n;i++)
  {
       scanf("%d",&a);
       if(a<=min)
      {
           min=a;
           count_min=i;
      }
       if(a>=max)
      {
           max1=a;
      }
       if(max<max1)
      {
           next=max;
      }
       if(a>=max)
      {
           max=a;
           count_max=i;
      }
  }
   printf("min=%d number=%d\n",min,count_min);
   printf("max=%d number=%d\n",max,count_max);
   printf("next=%d",next);
   return 0;
}
 
posted @ 2022-09-18 20:41  诩en  阅读(125)  评论(0)    收藏  举报