关于#G#的问题,如何解决?(语言-c语言)

14:03
5G

标题:计算整数最大位
题目描述:输入一个不大于 9 位数的非负整数 n,计算 n 的最大数字位,并输出
整数位数。
输入说明:输入为一个整数 n,n 的范围为 0<=n<=999999999
输出说明:输出两个整数,分别表示整数 n 的最大数字位,以及 n 的位数,两个
整数之间以空格分隔。
输入样例 1:
2703
输出样例 1:
7 4

一个实现:


#include <stdio.h>

int main(void){
    
    int num;
    
    scanf("%d", &num);  //获取一个整数输入 
    
    int numLength, maxValue=0; //数字长度及数位最大数变量 
    int temp;  //存放每个数位的临时变量 
    
    while(num!=0){   //如果num经过处理后的值不等0,则继续进行数位和数字长度的计算 
    
        temp = num%10;   //获取这个整数的个位数字 
        
        if(temp>maxValue){  //如果当前数位的值大于最大数变量,则将这个大的值赋给最大数变量 
            maxValue=temp;
        }
        numLength++;  //数字长度增加一 
        num=num/10;  //处理这个整数下一个数位 
    }
    
    printf("%d %d",maxValue,numLength);//打印结果 
    
    return 0;
}