int main()
{
void sort1(char*,char*,char*);
void sort2(string&,string&,string&);
char s1[100],s2[100],s3[100];
char*p1,*p2,*p3;
string r1,r2,r3;
cin>>s1>>s2>>s3;
r1=string(s1);
r2=string(s2);
r3=string(s3);
p1=s1;
p2=s2;
p3=s3;
sort1(p1,p2,p3);
cout<<s1<<endl<<s2<<endl<<s3<<endl;
sort2(r1,r2,r3);
cout<<r1<<endl<<r2<<endl<<r3<&启轿皮lt;endl;
return 0;
}
char用法:
char是计算机编程语言(c、c++、java、VFP等)中可容纳单个字符的一种悄差基本数据类型。
char是一个数据类型,作用是定义字符型变量(单个或是字符串)。
比方int是整形数据,int a=3;这里int是类型,a是整型变量,3是赋值;
char s='A';char是字符类型,s是字符型变量,A是赋值给变量s;
char s[]="c program";char是字符帆核类型,s[]是字符型数组,"c program"是赋给数组的值。
#include
#include
#include
#include
//using namespace std;
void swap(char *p1,char *p2);
void main( )
{
char *str1=new char [20];char *str2=new char [20];char *str3=new char; /*定义三个字符数组*/
//char swap(); /*声明函数*/
printf("input three string: \n");
scanf("%s",str1); scanf("%s",str2);scanf("%s",str3);
if(strcmp(str1,str2)>0) swap(str1,str2); /*调用函数swap */
if(strcmp(str1,str3)>誉备0) swap(str1,str3);
if(strcmp(str2,str3)>0) swap(str2,str3);
printf("the order is: \n");
printf("%s \n%s \n%s \n ", str1, str2, str3);
}
void swap(char *p1,char *p2) /*定义交换两个字符串的函数swap */
{
char *p=new char [20];
strcpy(p,p1);
strcpy(p1,p2);
strcpy(p2,p); /* 以上三条语句完成比较交换功能 */
}
/*C2660: 'swap' : function does not take 2 parameters 会出现这个错误是因为你声明的时候没把参数也写进去char swap(); 应该写睁岩成void swap(char *p1,char *p2);要把参数也写进去才行;*/
/*好悉虚御久没用C写了,谢谢你让我再次用起来哈!!!!*/
#include
#include
void swap(char*,char*); /*声明函数*/
void main( )
{
char str1[20], str2[20], str3[20]; /*定义三个字符数组*/
printf("input three string: \早游谈n");
gets(str1); gets(str2); gets(str3);
if(strcmp(str1,str2)>陆碰0)swap(str1,str2);
/*调用函数swap */
if(strcmp(str1,str3)>0)swap(str1,str3);
if(strcmp(str2,str3)>0)swap(str2,str3);
printf("the order is: \n");
printf("%s\n%s\n%s\n", str1, str2, str3);
}
void swap(char*p1,char*p2) /*定义交换两个字符串的函数swap */
{
char p[20];
strcpy(p,p1);
strcpy(p1,p2);
strcpy(p2,p);
}
是按大小排序,不是磨枝按长短。
很久没用c了
不过,函数声唤轿碰明时,必须和谈指定帆塌参数类型,而具体的参数名可以不写。
char swap(); /*声明函数*/ 不对吧?