永发信息网

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
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯