C语言题目,设计一个程序,: 给出一个不多于5位数的正整数,判断它是几位数!
答案:3 悬赏:10 手机版
解决时间 2021-01-03 02:18
- 提问者网友:遮云壑
- 2021-01-02 19:49
C语言题目,设计一个程序,: 给出一个不多于5位数的正整数,判断它是几位数!
最佳答案
- 五星知识达人网友:春色三分
- 2021-01-02 21:21
#include
main()
{ long int num;
int indiv,ten,hundred,thousand,ten_thousand,place;printf("请输入一个整数(0~99999):");
scanf("%ld",&num);
if (num>9999) place=5;
else if(num>999) place=4;
else if(num>99) place=3;
else if(num>9) place=2;
else place=1;
printf("place =%d\n", place);
全部回答
- 1楼网友:罪歌
- 2021-01-02 23:28
#include unsigned short bits(int n) {
int i = 0;
if(n < 0) n = -n;
while(n > 0) {
i++;
n /= 10;
}
return i;
}int main() {
int i,a[4] = {65535,-96854,33025,180};
for(i = 0;i < 4;i++) printf("%d是%d位数。\n",a[i],bits(a[i]));
printf("\n");
return 0;
}
- 2楼网友:掌灯师
- 2021-01-02 22:36
思路是:①判断这个数是否小于10000并且大于0(检查输入的正确性)②假设输入数字是a,判断a是否等于1000、100、10。③判断a%1000是否大于0,如果是,则这个数是四位数,如果不是,判断a%100是否大于0,如果是,则这个数是三位数,判断a%10是否大于0,如果是,则这个数是两位数,如果以上情况都不是,就是一位数。
注释:a%1000的结果表示a除以1000后的余数(小学数学里的除法余数概念),如果大于0,说明有余数,说明a至少大于1000.如果等于0,说明a小于或等于1000
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯