| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1738 人关注过本帖
标题:求助一道linfair公司面试题!要求用C++编写
只看楼主 加入收藏
单调黑白
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2007-10-4
收藏
 问题点数:0 回复次数:21 
求助一道linfair公司面试题!要求用C++编写

题目如下:
若一个字符串在中间分开后,左边与右边的反转是相同,那就是对称文字。
请写一个简单的程序函数,回传输入的字符串是否对称。
例:abcdedcba就是对称文字
搜索更多相关主题的帖子: linfair 编写 面试 
2007-10-05 19:40
浅色的回忆
Rank: 1
等 级:新手上路
帖 子:139
专家分:0
注 册:2007-6-24
收藏
得分:0 
这道题好像在新人区见过.

2007-10-05 19:42
DieHeart
Rank: 1
等 级:新手上路
帖 子:52
专家分:0
注 册:2007-10-4
收藏
得分:0 
一般是这样:
人是怎么推导的,就让计算机怎么实现就可以的
2007-10-05 19:48
Black_smart
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2007-8-13
收藏
得分:0 
我写了一个方法。思路:比较第一个元素与最后一个元素是否相同,若相同,则比较第二个元素和倒数第二个,如此循环:
[CODE]#include<iostream>
#include<cstddef>
using namespace std;
bool checkstring(char a[]);
int main()
{
const int n=80;
char array[n];
cout<<"请输入字符串:\n";
cin>>array;
if(checkstring(array))
cout<<"该字符串对称\n";
else
cout<<"该字符串不对称\n";
return 0;
}
bool checkstring(char a[])
{
int i=0,j,k;
j=strlen(a)-1;
k=strlen(a)/2;
for(i=0;i<k;i++,j--)
if(a[i]!=a[j])
return false;
return true;
}[/CODE]

[此贴子已经被作者于2007-10-6 0:44:38编辑过]


C++初学者,请多指教.... 学习学习再学习,努力努力再努力!
2007-10-05 21:51
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
ls的代码有bug哦

i<=j/2

Fight  to win  or  die...
2007-10-05 23:22
leeco
Rank: 4
等 级:贵宾
威 望:10
帖 子:1029
专家分:177
注 册:2007-5-10
收藏
得分:0 

这公司出的面试题太“水仙花”了,比“水仙花”还简单。

2007-10-05 23:55
Black_smart
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2007-8-13
收藏
得分:0 
   额,多加了一次,已修正。

C++初学者,请多指教.... 学习学习再学习,努力努力再努力!
2007-10-06 00:12
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
以下是引用Black_smart在2007-10-6 0:12:39的发言:
额,多加了一次,已修正。

没改到,j是在变化的,每次都要判断i<=j/2,
注定有一段字符没有检查。


Fight  to win  or  die...
2007-10-06 00:21
Black_smart
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2007-8-13
收藏
得分:0 
    汗一个,没有考虑到,多加了一个变量。

C++初学者,请多指教.... 学习学习再学习,努力努力再努力!
2007-10-06 00:46
csmenglei951
Rank: 1
等 级:新手上路
威 望:1
帖 子:77
专家分:0
注 册:2007-9-30
收藏
得分:0 

#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
char b[100];
int i;
char *p=new char;
char *m=new char;
cout<<"please enter the numbers"<<endl;
cin>>b;
p=b;
for(i=0;i<strlen(p);i++)
m[i]=p[strlen(p)-i-1];
if(strcmp(p,m)==0)
cout<<"yes"<<endl;
else
cout<<"no"<<endl;
return 0;
}
我些了这个
但是这个程序运行结果是错的,对称文字都说不是;
想了很长时间想不出来;
哪位能指点下,或许我的思路有问题


[此贴子已经被作者于2007-10-6 20:26:49编辑过]

2007-10-06 20:25
快速回复:求助一道linfair公司面试题!要求用C++编写
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013803 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved