当前位置: 代码迷 >> C语言 >> 任意输入一个数,如何知道他是几位数
  详细解决方案

任意输入一个数,如何知道他是几位数

热度:107   发布时间:2007-02-19 17:20:11.0
一直除10取整
----------------解决方案--------------------------------------------------------
#include<stdio.h>
void main()
{
char c[100];
printf("输入你要整的数字:");
gets(c);
printf("这数应该是%d位!!",strlen(c));
}
----------------解决方案--------------------------------------------------------
strlen()
只是 一个 统计 字符串 长度的 函数 !
----------------解决方案--------------------------------------------------------

同意31楼 的 !


----------------解决方案--------------------------------------------------------
#include "stdio.h"
#include "math.h"
main()
{int i;
long a;
printf("input a num");
scanf("%ld",&a);
if(a!=0)
i=log10(a)+1;
else i=1;
printf("%d",i);
}
----------------解决方案--------------------------------------------------------

我觉得首先应该解决100000000000000000000000。。。。。。。。。这种形式的数。


----------------解决方案--------------------------------------------------------
以下是引用多维数组在2007-2-13 11:22:40的发言:
sorry,我还是个初一学生
什么是log10(x)??????

好惭愧哦,我初一时还不知什么是编程

好样的,中国的未来就在你们身上了!!!


----------------解决方案--------------------------------------------------------
[CODE]

#include <iostream>
#include <cstring>

using namespace std;

int main()
{
char exp[200];
cin >> exp;

int n = strlen(exp); // 得出位数
cout << "位数为 " << n << endl;

int num[200];
for (int i = 0; i < n; i++) // 由字符转成数字
num[i] = exp[i] - 48;

for (int i = 0; i < n; i++)
cout << num[i];

system("pause");

return 0;
}

// 这个可以实现大数位数的判断

[/CODE]
----------------解决方案--------------------------------------------------------
真强初一现在就学编程
----------------解决方案--------------------------------------------------------
  相关解决方案