C语言中怎么样人工数字符串的长度?

我说的不是用程序,是考试是自己数

给你一个程序,可以计算字符串里数字、英文字符、和其他占用一个字节的字符个数。不能统计中文的个数,因为他们的编码不一样。。要想实现中文的话,自己在循环判断时候可以稍稍修改就行了,对于前几楼说的空格和字符串结束标志,你看看ASCII码,做相应的判断就好了。。。。
英文字符 1B (1个字节,8位)
中文字符 2B
以下程序在VC6.0编译通过:
#include <stdio.h>
#include <string.h>
#define N 1000
void main()
{
char str[N];
int len[4]={0};//用于存放长度和统计相应字符个数
int i;
do
{
printf("请输入不少于10长度的字符串:\n");
gets(str);
}while(strlen(str)<10);
len[0]=strlen(str);//字符串的总长度
for(i=0;i<len[0];i++)
{
if(str[i]>='a'&&str[i]<='z'||str[i]>='A'&&str[i]<='Z')
len[1]++;//计算出现字母的个数
else
if(str[i]>='0'&&str[i]<='9')
len[2]++;//计算出现数字的个数
else
len[3]++;//计算出现其他字符的个数,如果输入汉字的话,这个数值可能不太正确。。因为中文占用两个字节,即16位。。。而英文字符1个字节即8位
}
printf("\n");
printf("已输入字符串的总长度为%d\n字母个数为%d\n数字个数为%d\n其他字符个数为%d",len[0],len[1],len[2],len[3]);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-10-05
所谓数字符串的长度,期是就是数从字符串首地址开始,到'\0'字符之间字符的个数。
写个循环就可以了。本回答被网友采纳
第2个回答  2012-10-08
字符串注意一下转义字符和结束就可以,
如果是计算printf输出之类的,要看下printf的format格式串,这个网上有很多资料,百度百科搜printf就可以。
第3个回答  2012-10-05
从一开始下表为0如果不是\0 就加1到\0为止结束
比如char but[]="asd\0";
长度就是3了
第4个回答  2012-10-05
开头的空格要算,结尾的回车要算,什么乱七八糟的都要算,中文是两个字符,结尾还有一个看不见的结束符。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网