用c++输入3个单词并按从小到大的顺序输出

来源:百度知道 编辑:UC知道 时间:2024/06/14 07:03:46
#include <iostream>
#include <cstring>
using namespace std;
void main()
{
char s[3][30],t;
int j,k;
for(j=0;j<3;j++)
cin.getline(s[j],3);
for( j=0;j<3;j++)
for( k=j+1;k<3;k++)
{
if(strcmp(s[j],s[k])>0)
{
strcpy(s[j],t);
strcpy(s[k],s[j]);
strcpy(t,s[k]);
}
}
for(j=0;j<3;j++)
cout<<s[j]<<'\t';
}

老是有
C:\Documents and Settings\Administrator\桌面\Cpp1.cpp(16) : error C2664: 'strcpy' : cannot convert parameter 2 from 'char' to 'const char *'
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
C:\Documents and Settings\Administrator\桌面\Cpp1.cpp(18) : error C2664: 'strcpy' : cannot convert parameter 1 from 'char' to 'char *'

我在VC6.0中运行了,就一个小错误:

#include <iostream>

#include <cstring>

using namespace std;

void main()

{

 char s[3][30],t[30];//您的这里错了,因为char t只能容纳一个字符,它不能作为两个字符串值交换的中介。就相当于你想把一瓶醋和一瓶酱油互换瓶子盛装,你当然要凭借一个空的容器,这个空的容器要大的能足够盛醋或盛酱油,但在实际操作中,这个容器一般取得大得即能盛下这瓶醋也能盛下这瓶酱油

 int j,k;

 for(j=0;j<3;j++)

  cin.getline(s[j],3);

 for( j=0;j<3;j++)

  for( k=j+1;k<3;k++)

  {

   if(strcmp(s[j],s[k])>0)

   {

    strcpy(s[j],t);

    strcpy(s[k],s[j]);

    strcpy(t,s[k]);  

   }

  }

 for(j=0;j<3;j++)

  cout<<s[j]<<'\t';

顺便说一句,要想使允许输入的单词的长度变成5,把cin.getline(s[j],3);改成cin.getline(s[j],6);就行了。c++中的

帮忙编C语言题...3Q....<输入10个整数到一个一维数组中,并按由小到大的顺序输出> 求用c#编程:输入一段文字,统计各单词出现的次数,并以多到少的顺序输出。 C语言问题:输入一行字符,统计其中有多少个单词,单词之间用空格隔开 c程序问题,哪里错了?输入3个字符串,并显示 用c编写任意输入100个不相同的整数,然后输入一个数, 并打印出有多少个该数 统计输入的一行字符中有多少个单词C语言!帮忙看看怎么写!! 编写C语言;从键盘输入若干个学生的成绩计算出平均成绩,并输出低以平均分的成绩,用输入负数结束输入 ·编写C语言;从键盘输入若干个学生的成绩计算出平均成绩,并输出低以平均分的成绩,用输入负数结束输入? c语言:统计输入过哪些单词。 用java编写程序,输入一个单词,输出时使单词的第一个字母大写