新手的一个作业问题
题目的要求:输入一个不超过6位的正整数,输出最高和最低位还有位数。一位数的话只输出该数字还有位数。下面是我编写的内容。有个问题。无论输入什么数字。最高位输出的总是0,不知道为什么。#include<stdio.h>
main()
{
int X,a,b,N;
printf("请输入一个不超过6位的正整数X=");
scanf("%d",&X);
if(X>0&&X<=9)
N=1;
a=X;
if(X>=10&&X<=99)
N=2;
a=X/10;
b=X%10;
if(X>=100&&X<=999)
N=3;
a=X/100;
b=X%10;
if(X>=1000&&X<=9999)
N=4;
a=X/1000;
b=X%10;
if(X>=10000&&X<=99999)
N=5;
a=X/10000;
b=X%10;
if(X>=100000&&X<=999999)
N=6;
a=X/100000;
b=X%10;
switch(N)
{case 1:printf("%d\nN=%d",X,N);break;
case 2:
case 3:
case 4:
case 5:
case 6:printf("%d,%d\nN=%d",a,b,N);break;
default:printf("error");
};
}