回 帖 发 新 帖 刷新版面

主题:记数程序怎么改?

#include <stdio.h>
void main()
{
 long i;
 int n;
 scanf("%dl",i);
  if(i>9999&&i<=99999) n=5;
  else
  if(i>999&&i<=9999)   n=4;
  else
  if(i>99&&i<=999)     n=3;
  else
  if(i>9&&i<=99)       n=2;
  else
  if(i>0&&i<=9)        n=1;
 printf("%d\n",n);
}
是给出个不多于5位的正整数,求出是几位数?

回复列表 (共3个回复)

沙发

#include <stdio.h>
void main()
{
 long i;
 int n;
 scanf("%dl",&i);
  if(i>9999&&i<=99999||i==10000) n=5;
  else
  if(i>999&&i<=9999||i==1000)   n=4;
  else
  if(i>99&&i<=999||i==100)     n=3;
  else
  if(i>9&&i<=99||i==10)       n=2;
  else
  if(i>0&&i<=9)        n=1;
 printf("该数是%d位数\n",n);
}
现丑了.

板凳

#include "math.h"
int main(void)
{
    int len;
    int val;
    scanf("%d",&val);
    len = (int)log10(val);
    printf("这个数一共有%d位\n",len);
    return 0;
}

3 楼


#include <stdio.h>
void main()
{
int a,j=1;
scanf("%d",&a);
while((a/10)!=0)
{
j++;
a=a/10;
}
printf("%d",j);
}

我来回复

您尚未登录,请登录后再回复。点此登录或注册