比较两个字符串并返回(第十七周下机任务)
比较两个字符串并返回(第十七周上机任务)
用数组名作参数
代码:
/* * Copyright (c) 2012, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作者:樊露露 * 完成日期:2012 年12月20日 * 版本号:v1.0 * * 输入描述:无 * 问题描述:用数组名作参数比较两个字符串 * 程序输出:比较后的结果 * 问题分析: * 算法设计:略 */ #include<iostream> using namespace std; int astrcmp(const char str1[],const char str2[]); int main(){ char str1[50],str2[50]; int i; cout<<"请输入第一个字符串str1:"; cin>>str1; cout<<"请输入第二个字符串str2:"; cin>>str2; i=astrcmp(str1,str2); if(i==0) cout<<"两个字符串相等。"<<endl; if(i<0) cout<<"str1大于str2."<<endl; if(i>0) cout<<"str2大于str1."<<endl; return 0; } int astrcmp(const char str1[],const char str2[]){ int m,i=0; for(m=0;str1[m]==str2[m]&&str1[m]!='\0';m++)//从两个字符串不相等的时候开始判断。 i++; if(str1[i]>str2[i]) return 1; if(str1[i]<str2[i]) return -1; if(str1[i]==str2[i]) return 0; }
结果:
用指针作参数
代码:
/* * Copyright (c) 2012, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作者:樊露露 * 完成日期:2012 年12月20日 * 版本号:v1.0 * * 输入描述:无 * 问题描述:用指针参数比较两个字符串 * 程序输出:比较后的结果 * 问题分析: * 算法设计:略 */ #include<iostream> using namespace std; int pstrcmp(const char *str1,const char *str2); int main(){ int i; char str1[50],str2[50]; cout<<"请输入str1:"; cin>>str1; cout<<"请输入str2:"; cin>>str2; i=pstrcmp(str1,str2); if(i>0) cout<<"str1大于str2"<<endl; if(i<0) cout<<"str1小于str2"<<endl; if(i=0) cout<<"str1等于str2"<<endl; return 0; } int pstrcmp(const char *str1,const char *str2){ int m,n=0; for(m=0;str1[m]==str2[m]&&str1[m]!='\0';m++) n++; if(str1[n]==str2[n]) return 0; if(str1[n]<str2[n]) return 1; if(str1[n]>str2[n]) return -1; }
结果:
心得体会:
用指针作参数时输出的结果怎么与用数组名作参数的相反,求解释!!!!!!!!!!!!!!!!!!!