c++有5个字符串,要求对它们按由小到大顺序排列,用string方法。求注释

1、 有5个字符串,要求对它们按由小到大顺序排列,用string方法。
#include <iostream>
#include <string>
using namespace std;
int main()
{
int i;
string str[5];
void sort(string s[]);
cout<<"Please input string:"<<endl;
for(i=0;i<=5;i++)
cin>>str[i];
sort(str);
cout<<"The sorted string is:"<<endl;
for(i=0;i<=5;i++)
cout<<str[i]<<" ";
cout<<endl;
return 0;
}

void sort(string s[])
{
int i,j;
string temp;
for(i=0;i<4;i++)
for(j=0;j<4-i;j++)
if(s[j]>s[j+1])
{
temp=s[j];
s[j]=s[j+1];
s[j+1]=temp;
}
}
求注释

#include <iostream>
#include <string>
using namespace std; //以上为引用头文件
int main() //主函数
{
int i; //创建变量i
string str[5]; //定义数组str
void sort(string s[]); //定义函数sort
cout<<"Please input string:"<<endl; //输出Please input string:
for(i=0;i<=5;i++)
cin>>str[i]; //输入5个字符串
sort(str); //调用str函数
cout<<"The sorted string is:"<<endl; //输出The sorted string is
for(i=0;i<=5;i++)
cout<<str[i]<<" "; //输出已排列好的字符串
cout<<endl;
return 0;
}

void sort(string s[])
{
int i,j;
string temp;
for(i=0;i<4;i++)
for(j=0;j<4-i;j++)
if(s[j]>s[j+1]) //对每个进行比较
{
temp=s[j];
s[j]=s[j+1];//把小的数放在前面
s[j+1]=temp;
}
}
以上~~
for(i=0;i<=5;i++)
应该为for(i=0;i<5;i++)
不然就是6个数了
温馨提示:内容为网友见解,仅供参考
第1个回答  2020-03-01
#include <string>
#include <iostream>
using namespace std;//头文件,标准命名空间,我也不是很懂但基本都得有
void Sort(string s[]);
int main()
{
string s[5];//string型数组,类似c的二级字符数组,但好用一些
int i;
cout<<"Please input strings:"<<endl;
for(i=0;i<5;i++)//输入
{
cin>>s[i];
}
Sort(s);//排序
for(i=0;i<5;i++)//输出
{
cout<<s[i]<<endl;
}
return 0;
}
void Sort(string s[])冒泡法排序,不懂可以搜一下
{
string temp;
int i,j;
for(i=1;i<5;i++)
{
for(j=0;j<5-i;j++)
{
if(s[j]>s[j+1])
{
temp=s[j];
s[j]=s[j+1];
s[j+1]=temp;
}
}
}
return ;
}
第2个回答  2009-03-14
程序有些计数错误,请在查证,你这个程序处理的绝对不只是5个字符串,应该是6个,但是sort函数里有没有排序完全
第3个回答  2009-03-14
用C++的string当然是要用标准库了,先mark,写程序去
第4个回答  2018-01-05
将主函数里for循环i<=5等号去掉就可以了

c++有5个字符串,要求对它们按由小到大顺序排列,用string方法。求...
int i; \/\/创建变量i string str[5]; \/\/定义数组str void sort(string s[]); \/\/定义函数sort cout<<"Please input string:"<<endl; \/\/输出Please input string:for(i=0;i<=5;i++)cin>>str[i]; \/\/输入5个字符串 sort(str); \/\/调用str函数 cout<<"The sorted string is:"<<end...

c++谭浩强第二版课后题答案
16.有5个字符串,要求将它们按由小到大的顺序排列,用string方法。 【解】 可以编写出以下程序:#include <iostream>#include <string>using namespace std;int main( ){ int i; string str[5]={" BASIC"," C"," FORTRAN"," C++","PASCAL"}; void sort(string [ ]); sort(str); \/\/对字符串排序 ...

编写C程序:用指针数组操作,将输入的5个字符串按从小到大的顺序输出
include <string.h> include <ctype.h> void order(int * string) \/\/把数组按从小到大排列,返该数组首地址 输入0结束 { int i,j,temp;int n = 0; \/\/计算输入数组的长度(包括结束数0)int * p = string;while(0 != *p++){ n++;} \/\/起泡法排序 p = string;for(i = 0;i <...

用指针实现:由键盘输入10个整数,将他们按由小到大的顺序排列。
void sort(int*s,int n);\/\/定义排序函数 int main(){ int a[10],*p;printf("Please enter 10 nunmbers:");\/\/输入10个整数 for(p=a;p<a+10;scanf("%d",p++));printf("Original number:");for(p=a;p<a+10;printf("%d",*p++));\/\/输出原来输入的10个整数 printf("\\n");so...

C++ 编程,编写一个程序,通过根据输入键重新排列输入字符串中的字符来...
首先,每n个字符一行,构建出如图的矩阵。按照密钥顺序进行重新排序。最后合成一个字符串进行输出。我这里将这道题看成每n个字符一组,就不构建二维数组了,按照key指定顺序进行输出。其中实际上顺序就是key的值从小到大排序后的索引顺序。我这里就是用上述流程了,具体说明已经附在图例,请看注释。我没...

用c++编程,对7个数分别用选择排序法和插入排序法(由大到小)排序。有...
第一个数即下标为0的数,前面没有任何数,单单一个,认为它是排好顺序的。\/ t = *(x + i);for(j = i - 1; j >= 0 && t < *(x + j); j--) { \/\/ 注意:j=i-1,j--,这里就是下标为i的数,在它前面有序列中找插入位置。(x + j + 1) = *(x + j);\/\/ 如果...

C++两个数字 比大小的问题. 请告诉指点。一定要解释 注释 谢谢老
using namespace std; \/\/标准c++ std调用,不用管这个,这时core c++的规定 int main() \/\/主函数,即程序入口 { int a,b; \/\/声明两个整数变量 cout<<"请任意输入两个整数比较大小"<<endl; \/\/屏幕打印字符串:请任意输入两个整数比较大小 cout<<"请输入第一个整数"<<endl; \/\/屏幕打印字符...

用C语言输入3个整数,要求按从小到大的顺序输出。谢谢大家
struct test{int a, b, c, d;} foo = { .a = 1, .c = 3, 4, .b = 5 }; \/\/ 3,4 是对 .c,.d 赋值的 格式化字符串中,利用 \\u 支持 unicode 的字符。支持 16 进制的浮点数的描述。printf scanf 的格式化串增加了对 long long int 类型的支持。浮点数的内部数据描述支持了新...

求一个C++程序,可以去掉C++头文件和源文件中的注释行。
5:读到第一个"6:读到字符串里的转义符 "...\\ 7:找到注释 0和7是等价的状态,但是可以用7状态做些特别的事情,比如这个时候删除刚找到的注释等。最后的程序如下,输入输出还是用C的文件比较方便:include "stdio.h"include "string"char fsm[8][128];void initfsm(){ const int line_len=...

求C++大神编个程序,谢谢。情报解密。急!!!
string decode (string str) { const char tbl[9][5] = { " ,.", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz" }; string r; string::iterator i, ie; ie = str.end(); for(i = str.begin(); i != ie; ++i) { char k = *i...

相似回答