2 u012441335 u012441335 于 2013.12.14 21:44 提问

书本题目不会解,程序已经编好了,但是不知道错哪?
c++

题目是:用指针的方法来编程,输入四个字符串,从小到大输出
#include "stdafx.h"
#include
#include
using namespace std;
int main()
{
void swap(char *,char *);
char str1[20],str2[20],str3[20],str4[20];
cout<<"请输入四个字符串:"< cin>>str1[20];
cin>>str2[20];
cin>>str3[20];
cin>>str4[20];
if(strcmp(str1,str2)>0) swap(str1,str2);
if(strcmp(str1,str3)>0) swap(str1,str3);
if(strcmp(str1,str4)>0) swap(str1,str4);
if(strcmp(str2,str3)>0) swap(str2,str3);
if(strcmp(str2,str4)>0) swap(str2,str4);
if(strcmp(str3,str4)>0) swap(str3,str4);
cout<<"从小到大的排序是:"<<endl;
cout<<str1<<" "<<str2<<" "<<str3<<" "<<str4<<endl;
return 0;
}
void swap(char *p1,char *p2)
{
char p[20];
strcpy(p,p1);strcpy(p1,p2);strcpy(p2,p);
}

3个回答

mevip
mevip   2013.12.14 21:53
已采纳

cin>>str1[20];
cin>>str2[20];
cin>>str3[20];
cin>>str4[20];
改为
cin>>str1;
cin>>str2;
cin>>str3;
cin>>str4;

u013176446
u013176446   2013.12.16 16:59

cin>>str1[20];
cin>>str2[20];
cin>>str3[20];
cin>>str4[20];
改为
cin>>str1;
cin>>str2;
cin>>str3;
cin>>str4;

xiaowuzi5555
xiaowuzi5555   2013.12.16 20:00

#include
#include
using namespace std;

int main()
{
void swap(string&,string&);
string str[4];
cout<<"请输入四个字符串:";

cin>>str[0];
cin>>str[1];
cin>>str[2];
cin>>str[3];


for (int i=0;i<3;++i)
{
    for (int j=i+1;j<4;++j)
    {
        if (str[i]>str[j])
        {
            swap(str[i],str[j]);
        }
    }
}
cout<<"从小到大的排序是:"<<endl;
cout<<str[0]<<" "<<str[1]<<" "<<str[2]<<" "<<str[3]<<endl;
return 0;

}

void swap(string& p1,string& p2)
{
string temp=p1;
p1=p2;
p2=temp;
}

xiaowuzi5555
xiaowuzi5555 头文件没包含
大约 4 年之前 回复
u012441335
u012441335 ">>"和"<<"符号出错了,显示:“std::basic_ostream<char,std::char_traits<char>> &std::operator <<<std::char_traits<char>>(std::basic_ostream<char,std::char_traits<char>> &,const signed char *)”
大约 4 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!