当前位置: 代码迷 >> C语言 >> [求助]VC中Strlenl求整数长度(新增问题)
  详细解决方案

[求助]VC中Strlenl求整数长度(新增问题)

热度:150   发布时间:2006-05-22 14:59:00.0
[求助]VC中Strlenl求整数长度(新增问题)

这个论坛怎么连个标题也要限制
害得我不知怎么表示~~汗
所以吓弄个VC中字符串求长度可以用strlen

题目:输入一个正整数 如123
123的长度就是3位

如果是输入0123
则长度就是4位

要求用VC实现输入整数的长度
最好用int实现功能
用char实现功能太过于简单
小弟想了N久就是没想出一点思路
请各位指教
谢谢

================================5月22日4:46分修正===============================
有位仁兄给的代码小弟觉得最好
原代码:
=================不包括本行===================
#include <stdio.h>
#include <conio.h>

int main(void)
{

int i;

for (i = 0; getchar() != '\n'; i++) ;
printf("count = %d\n", i);

getch();
return 0;
}
=================不包括本行===================



小弟小改了一下

=================不包括本行===================
#include <stdio.h>
void main(void)
{
int i;
for (i= 0;getchar()!= '\n'; i++) ;
printf("长度为:%d\n",i);
}
=================不包括本行===================

但是如果要求输入的数值存到一个int变量里面
怎么弄
麻烦指教下
谢谢
小弟在线等
================================5月22日4:46分修正===============================

[此贴子已经被作者于2006-5-22 16:51:05编辑过]

搜索更多相关的解决方案: 整数  Strlenl  长度  

----------------解决方案--------------------------------------------------------

自己重新写个函数Strlen()就行了

等着看谁又来表演?


----------------解决方案--------------------------------------------------------
2楼版主
自己写个strlen函数
什么意思
你可以自己写么?
小弟不明
我也知strlen是求字符串的长度

----------------解决方案--------------------------------------------------------
这问题好象真的用链表,要不然前边的0处理不掉啊
----------------解决方案--------------------------------------------------------
把整数输入当成字符输入可否?
#include "stdafx.h"
#include<stdio.h>
#include <string>
int main()
{
char str[100];
printf("input number");
scanf("%s", str);
int i = strlen(str);
printf("result is %d\n", i);
return 0;
}
----------------解决方案--------------------------------------------------------
4楼大哥
链表我也知一点
你能说个思路么
最好是弄个代码看看
小弟先谢过了
----------------解决方案--------------------------------------------------------

5楼大哥
你代码好像没给全呀
#include "stdafx.h"
上面那个头文件没看到呀
我倒。。。
牢烦看看
在线等


----------------解决方案--------------------------------------------------------

不用链表,我和2楼开个玩笑

#include <stdio.h>
#include <conio.h>
#define N 20

int main(void)
{
char sa[N];
int i;

for (i = 0; i < N - 1 && (sa[i] = getchar()) != '\n'; i++)
{
;
}
printf("count = %d\n", i);

getch();
return 0;
}



----------------解决方案--------------------------------------------------------
处理0?乱扯


一直录入字符,每次判断是不是0--9之间的,如果是,继续录入,如果不是,那出循环
求出数组长度就行

----------------解决方案--------------------------------------------------------
8楼不对,都到这程度了,楼主应该会了,都罢手吧
----------------解决方案--------------------------------------------------------
  相关解决方案