如何用if else写这个程序?

img

效果及代码如下:

img

代码:


#include <stdio.h>
int main()
{
    int i,n,ws=0;
    int buf[5];
    scanf("%d",&n);
    if (n >= 10000)
    {
        ws = 5;
        buf[0] = n/10000;
        buf[1] = n%10000/1000;
        buf[2] = n%1000/100;
        buf[3] = n%100/10;
        buf[4] = n%10;
    }else if (n>= 1000)
    {
        ws = 4;
        buf[0] = n/1000;
        buf[1] = n%1000/100;
        buf[2] = n%100/10;
        buf[3] = n%10;
    }else if (n >= 100)
    {
        ws = 3;
        buf[0] = n/100;
        buf[1] = n%100/10;
        buf[2] = n%10;
    }else if (n >=10)
    {
        ws = 2;
        buf[0] = n/10;
        buf[1] = n%10;
    }else
    {
        ws = 1;
        buf[0] = n;
    }
    

    
    printf("位数:%d\n",ws);
    printf("逆序输出:");
    for(i=ws-1;i>=0;i--)
        printf("%d",buf[i]);
    return 0;
}

#include "stdio.h"
void main()
{
    int n;
    int cnt = 0;
    
    scanf("%d",&n);
    
    while(n>0){
        cnt++;
        printf("%d",n%10);
        n = n/10;    
    }
    printf("\n该数字是%d位数",cnt);
}
 
#include <stdio.h>
int main()
{
    int d,t,i,n=0,a[5];
    scanf("%d",&d);
    t = d;
    while(d>0)
    {
        a[n++] = d%10 ;
        d/=10;
    }
    printf("%d是%d位数",t,n);
    printf("\n%d每位数字是:",t);
    for(i=0;i<n;i++)
        printf("%d ",a[i]);
    printf("\n%d逆序数为:",t);
    for(i=n-1;i>=0;i--)
        printf("%d",a[i]);
    return 0;
}