首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

字符串比较解决方案

2013-07-11 
字符串比较#includeiostreamint main(){char array[100], array1[100]intindex, index1, n_num, n_num1

字符串比较
#include<iostream>

int main()
{
char array[100], array1[100];
int   index, index1, n_num, n_num1;
std::cout << "输入第一个字符串的长度:" << std::endl;
std::cin >> n_num ;
for( index = 0; index < n_num; index ++ )      //给第一个字符串赋值
{
std::cin >> array[index];
}

std::cout << "输入第二个字符串的长度:" << std::endl;
std::cin >> n_num1;
for( index1 = 0; index1 < n_num1; n_num1 ++ )  //给第二个字符串赋值
{
std::cin >> array1[index1] ;
}

if( n_num <= n_num1 )
{
for( index = 0; index < n_num; index ++ )  //比较字符串中相应位置字符大小
{
if( array[index] == array1[index] )    //字符相等则接着循环
continue ;
if( array[index] > array1[index])       //如果array字符大,则输出字符串array
{
std::cout << "字符串大的是:" << std::endl ;
for( index = 0; index < n_num; n_num ++ )
{
std::cout << array[index];
}
break ;
}
if( array[index] < array1[index] )     //如果array1字符大,则输出字符串array1
{
std::cout << "字符串大的是:" << std::endl ;
for( index = 0; index < n_num1; index ++  )
{
std::cout << array1[index];
}
break ;
}
}
}
return 0 ;
}




请问如果我不用strcmp函数,相比较两个字符串大小,这个程序为什么不能实现??虽然array存入的是字符,但array每个字符不是相当一个数吗》??array【index】与array1【index】可以进行比较吗??谢谢
[解决办法]
太多的输入干扰信息影响了核心的比较算法。
[解决办法]
单步调试和设断点调试是程序员必须掌握的技能之一。

关于自己是否适合编程的很简单的测试:
在报纸或杂志上随便找一段约1000字的文章,在Word中输入一遍。输完后再参考下面答案:

A里面有10处以上文字或标点错误
B里面没有文字或标点错误并敢为此跟人打赌
C里面没有文字或标点错误并且字体和排版完全与原稿一致
D打印在半透明的纸上和原稿重叠在一起检查一模一样,且自我感觉很有成就感

A不适合编程(理由:打字准确度偏低、粗心大意)
B初级程序员(理由:打字准确度很高、认真细致、自信、理解全角半角概念)
C高级程序员(理由:在B的基础上理解字体和排版也是电脑打印的重要因素、但相比D还不够偏执、精益求精、结果可验证)
D软件项目经理(理由:能针对项目给出令人信服的细致到极点的需求说明和典型测试用例。用户几乎挑不出毛病。专业!)

如果想从A变成B的话,到我的资源http://download.csdn.net/detail/zhao4zhong1/4084259里面下载“适合程序员的键盘练习”

[解决办法]
for( index = 0; index < n_num; index ++ )      //给第一个字符串赋值
for( index1 = 0; index1 < n_num1; n_num1 ++ )  //给第二个字符串赋值

一点题外话,这里的index看着就别扭,还index,index1。
既然是C++的话:

for (int i = 0; i < xxx; i++)

就很清楚了。

[解决办法]
而且这样用的话,再来个for,还是可以再定义i。

热点排行