如何显示整数的最大数字

  • 本文关键字:数字 整数 何显示 显示 c
  • 更新时间 :
  • 英文 :


我需要找到整数的最大数字。

我尝试了一下,但它没有做任何事情:

#include<stdio.h>
int main(){
  int n,max,min,i;
  printf("Give me a positive integer: ");
  scanf("%d", &n);
  i=1;
  while(n>=0){
    if(i==1) {min=n%10; max=n%10;}
    else {if(min>(n%10)) min=(n%10); if(max<(n%10)) max=(n%10);}
    n=(int)n/10;
  }
  printf("max. figure:%d  min. figure:%d ", max, min);
  return 0;
}

这里有两个问题:

首先,您永远不会在循环内部更改i。结果,if(i==1)始终是正确的,因此您在每次迭代中重置minmax。您需要在循环结束时增加i

第二,您有一个无限的循环。如果n为正或零,则测试(n>=0)将是正确的。您想在n变为0后退出循环,因此将测试更改为n>0

  while(n>0){
    if(i==1) {
      min=n%10; 
      max=n%10;
    } else {
        if (min>(n%10)) 
          min=(n%10); 
        if(max<(n%10)) 
          max=(n%10);
    }
    n=(int)n/10;
    i++;
  }