C++回文数问题
是因为strrev这个函数的问题,看他的定义char *strrev(char *str)因为你传递给他的是指针地址,所以其值要变化,这个问题应该是strrev这个函数的bug,而如果它的定义如果是char *strrev(const char *str)就没错了。不过这个要看这个库函数的内部实现机理,你只要知道重新给他赋个地址就ok拉,正常的程序如下
#include<iostream>
#include<string>
using namespace std;
void main()
{
char s1[30],s2[30],s3[30],s4[30];
cout<<"请输入一个小于20的英文句子:";
cin.getline(s1,20);
int i=0;
for(int j=0;j<strlen(s1);j++)
if(s1[j]>='A' && s1[j]<='Z' || s1[j]>='a' && s1[j]<='z')
{
s2[i]=s1[j];
i++;
}
s2[i]='\0';
for (i=0;i<strlen(s2);i++)
{
s4[i] = s2[i];
}
s4[i]='\0';
//-------------------------------
strcpy(s3,strrev(s4));
cout<<s3<<endl;
if(strcmp(s2,s3)==0)
cout<<"是回文数";
else
cout<<"不是回文数";
}
#include<iostream>
#include<string>
using namespace std;
void main()
{
char s1[30],s2[30],s3[30],s4[30];
cout<<"请输入一个小于20的英文句子:";
cin.getline(s1,20);
int i=0;
for(int j=0;j<strlen(s1);j++)
if(s1[j]>='A' && s1[j]<='Z' || s1[j]>='a' && s1[j]<='z')
{
s2[i]=s1[j];
i++;
}
s2[i]='\0';
for (i=0;i<strlen(s2);i++)
{
s4[i] = s2[i];
}
s4[i]='\0';
//-------------------------------
strcpy(s3,strrev(s4));
cout<<s3<<endl;
if(strcmp(s2,s3)==0)
cout<<"是回文数";
else
cout<<"不是回文数";
}
佚名
2024-11-15 01:15:25
类似问题(10)
-
佚名2024-11-15 16:05:16
问c#命名规范问题
答如果是成员字段或者局部变量应该小写,整个是pCSessionID,如果是属性名则应该首字母大写。
-
佚名2024-11-15 21:12:45
问C# 变量名用中文会出现什么问题?
答你现在没看到问题不代表以后也会没问题至少和楼上说的一样,很难切换,其实中文的在国人写的数据库程序中已经很常见了,因为数据库字段很多人都喜欢中文字段,而微软的li...
-
佚名2024-11-15 20:05:41
问C语言函数基本问题
答int work(参数,参数) int work(int a,int b)//声明定义函数return //带有结束该语句,一般用于返回值。可以理解为结束该...
-
佚名2024-11-15 01:08:13
问数学问题
答问题不通
-
佚名2024-11-15 09:40:09
问PHP函数问题
答$_POST用来接收<form>中用post方法传送来的数据,不是明文发送来的;$_GET则是用来接收<form>中用Get方法传送来的数据,是附加...
-
佚名2024-11-15 20:20:27
问php函数问题
答等于下面的,至于等于什么用法不好描述呵呵。function step_1(){ insheader();//调用函数 echo '//输出数据 ...
-
佚名2024-11-15 09:15:08
问C语言问题,急切等待中
答scanf遇到空格就不读了。你得改用fgets、gets等读一行的函数。eg:fgets(a, Max, stdin);不过fets和gets都会读入\r和\n...
-
佚名2024-11-15 08:00:00
问高分悬赏c或c++编程题,关于布尔函数的
答页面会自动刷新,这不是很好吗?我们已经习惯了。 30秒刷新,代码会自动刷新。订单,我们纪念确认,而不是警察。 您要使用的程序来实现这一功能,程序简单,或者说W...
-
佚名2024-11-15 08:00:00
-
佚名2024-11-15 08:00:00
问c# 静态类的多线程访问问题
答可以.只要静态类在线程的访问范围内都可以.另外静态方法内部如果有东西进行了跨线成操作.可能会报错
风水
起名
网名
- 1 丫头坏坏网名
- 2 带有李字的情侣网名
- 3 李子峰昵称
- 4 怎么淘宝昵称修改不了怎么办
- 5 怎样通过淘宝昵称找到朋友
- 6 lol违规昵称数字
- 7 寻妈记的昵称
- 8 四人的微信群昵称
- 9 售后服务群昵称
- 10 非主流韩语昵称
说说
- 1 微信签名时间戳
- 2 都江堰风景说说
- 3 发空间的说说
- 4 喜欢越野说说
- 5 QQ空间说说写手QQ
- 6 骂小人得志的说说短语
- 7 不要冲动的说说
- 8 说说广州聚龙小学
- 9 人生易老心情说说
- 10 空间说说心酸