字符串比较
#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。