社区
新手乐园
帖子详情
C中的字符串识别问题
liuzq133
2007-02-10 01:08:23
现在要编写一个程序,统计输入的一行字符中字母、数字以及空格的个数,我使用字符串数组来接受输入,可是这个字符串数组一遇到空格字符就认为输入结束了,但是该空格字符后面仍然有字符输入,请问怎样解决这个问题
...全文
372
8
打赏
收藏
C中的字符串识别问题
现在要编写一个程序,统计输入的一行字符中字母、数字以及空格的个数,我使用字符串数组来接受输入,可是这个字符串数组一遇到空格字符就认为输入结束了,但是该空格字符后面仍然有字符输入,请问怎样解决这个问题
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xyjchinese
2007-02-12
打赏
举报
回复
用gets()
或者
char chStringByScanf[20];
scanf("%[^/n]",chStringByScanf);
printf("String: %s/n",chStringByScanf);
Silent_Spring
2007-02-11
打赏
举报
回复
lex
LuGuangbO
2007-02-11
打赏
举报
回复
那我就不知道了
我没学C++
在学C
呵呵 你问问其他人吧
liuzq133
2007-02-11
打赏
举报
回复
上面的使用C中的标准输入输出函数做的,但是换成了C++的cin好像就不行了,也就是说scanf("%c",&c);不能换成cin >> c,不知道为什么
LuGuangbO
2007-02-10
打赏
举报
回复
#include <stdio.h>
#include <ctype.h>
int main(void)
{
char ch;
int ct_alpha=0,ct_space=0,ct_digit=0 ;
printf("Enter string:\n") ;
while(scanf("%c",&ch),ch!='\n')
{ if(isalpha(ch)) ct_alpha++ ; /*统计字母*/
if(isdigit(ch)) ct_digit++ ; /*统计数字*/
if(ch==' ') ct_space++ ; /*统计空格*/
}
printf("Letter=%d,Digit=%d,Space=%d\n",ct_alpha,ct_digit,at_space) ;
return 0;
}
Immortality_HeeRo
2007-02-10
打赏
举报
回复
可以用gets()
takecareofmyself
2007-02-10
打赏
举报
回复
由于scanf("%s")遇到空格、制表、回车就会结束,因此,改一下就行了
int main()
{
char c;
int alphaCount = 0, spaceCount = 0, numberCount = 0;
printf("Input a string:\n");
while( 1 )
{
scanf("%c",&c);
if( c == '\n' )
break;
if( ( c >= 'a' && c <= 'z' ) || ( c >= 'A' && c <= 'Z') )
alphaCount++;
if( c >= '0' && c <= '9' )
numberCount++;
if( c == ' ' )
spaceCount++;
}
printf("\n");
printf("alpha:%d space:%d number:%d",alphaCount,spaceCount,numberCount);
return 0;
}
飞驰的青蛙
2007-02-10
打赏
举报
回复
cin.get(str,256);
C语言库函数速查[CHM文档]
C语言库函数速查[CHM文档]是一个很好的C语言函数查询器.属于CHM文档.
C语言
中
字符串
赋值处理方式,C语言
中
字符串
赋值处理方式
C语言
中
,
字符串
可以赋值给字符指针变量,或者将
字符串
用字符数组保存。因为c语言没有直接对
字符串
提供语法糖方面的支持。而且C标准库很多方法处理
字符串
是以空字符结尾为前提的,这个必须要记住。char *p,a='5';p=&a; //显然是正确的,p="abcd"; //但为什么也可以这样赋值??答:双引号做了3件事:1.申请了...
C语言之从
字符串
中
获取数字
以前就有的一个想法,如果有一串
字符串
,里面又有数字,又有字母,我们应该如何获取到里面的数字呢?废话不多说,直接看源码: #include"stdio.h" #include"string.h" int main() { char test[100]; //用于接收键盘输入
字符串
int longer,i, //i 用于控制循环,longer用于获取
字符串
的大小 int nums = 0,nu...
c语言5
字符串
找相同字符,C语言 查找一个
字符串
中
出现最的重复
字符串
C语言 查找一个
字符串
中
出现最的重复
字符串
算法思想:因为是出现的重复最多的
字符串
,有可能是一个字符重复最多,因此先在这个
字符串
中
查找出现最多的字符,之后在以这个字符为标记点,开始查找最长的。#include#includechar cha_duo(char *a)/*查找重复最多的字符*/{int i,j,count,max=0;char c;for(i=0;a[i]!='\0';++i){cou...
【C语言】
字符串
输入输出与
字符串
数组
结尾,若在
字符串
构建过程
中
忘记添加结束符,
字符串
处理函数将无法正确
识别
字符串
的边界,可能会读取到额外的字符,导致程序逻辑错误。
字符串
处理是众多应用场景的基础,无论是文本编辑、数据解析,还是用户界面的显示,都离不开
字符串
的精准操作。在
字符串
处理过程
中
,容易遇到一些常见的错误陷阱,这些错误可能会导致程序崩溃或产生不可预期的结果。在使用
字符串
之前若未对其进行初始化,
字符串
的内容将是不确定的。或不安全的输入方式时,若输入的
字符串
长度超过目标数组的容量,就会发生缓冲区溢出。数组会包含程序名和这些额外的参数。
新手乐园
33,321
社区成员
41,774
社区内容
发帖
与我相关
我的任务
新手乐园
C/C++ 新手乐园
复制链接
扫一扫
分享
社区描述
C/C++ 新手乐园
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章