三个字符串从小到大
答:输入的字符串之间 用 空格 分 隔 为好。用逗号分隔 处理 较难。程序修改如下:void swep(char *pt1, char *pt2){ char temp[20];strcpy(temp,pt1);strcpy(pt1,pt2);strcpy(pt2,temp);} void exchange(char *a, char *b, char *c){ if (strcmp(a,b)>0) swep(a,b);if (...
答:b,c); return 0; }代码2.输入3个字符串,按从小到大顺序输出。 //先用程序对三个数进行从小到大排序,然后修改程序#include<stdio.h>#include<string.h>int main(){void swap(char *pt1,char *pt2); char a[20],b[20],c[20]; char *p1,*p2,*p3; printf("请输入三个字符...
答:拷贝到sort函数中的指针只是实参指针的“值”,所以在函数中改变那些指针的值在函数中有用,效果返回不到主函数中去,就是说在sort中输出结果是有效的,在主函数中字符串的大小还是原样子,不会有排序结果。这问题用3个办法解决:一是就按目前结构写sort,在sort中输出比较结果;二是在sort中通过指针...
答://比较不用那么麻烦,先将p与q和t分别比较,把大的放在p中,然后再比较q和t,把大的放在q中就可以了 if(strcmp(*p , *q)>0){ strcpy(r,p); strcpy(p,q); strcpy(q,r); } //(2)字符串赋值不能直接用=号,要用strcpy()if(strcmp(*p ,*t)>0){ strcpy(r,t); strcpy(t,...
答:#include"stdio.h"charmax(chara,charb){ if(a>b){ returna;} else { returnb;} } charmin(chara,charb){ if(a<b){ returna;} else { returnb;} } intmain(intargc,charconst*argv[]){ charc0,c1,c2,c3,c4,c5,c6,c7;printf("Pleaseinput...
答:这里有两段代码,都是可行的。代码是按从小到大排序的,输出顺序或者排序的顺序楼主可以根据需要自己修改。代码1:include <iostream> include <cstring> /*包含这个头文件是因为要用到函数strcmp(const char*, const char*),它是用来按字典序比较两个字符数组大小的。若前者大,返回值为正;若后者大...
答:ASCII码从小到大的顺序输出这三个字符的源代码如下:include< stdio.h> void main(){ char a,s,c;char max,min;printf("Please input three numbers:");scanf("%c,%c,%c",&a,&b,&c);max=a;if(max<b) max=b;if(max<c) max=c;printf("max=%c\n",max);min=a;if(min>b) ...
答:void fun2(char a[],char b[],char c[]){ /**/ char t[15];if(strcmp(a,b)>0){strcpy(t,a);strcpy(a,b);strcpy(b,t);} if(strcmp(a,c)>0){strcpy(t,a);strcpy(a,c);strcpy(c,t);} if(strcmp(b,c)>0){strcpy(t,b);strcpy(b,c);strcpy(c,t);} /**/ } ...
答:main中第一行,应改为void sort(char **name,int n);你是这样写的void sort(char *name,int n);你少写了个
答://这就行,你这是要按字符串的长度排序,你的那个交换函数是要改变数组中的值,你在进行交换台时,比如str1长度为3,str2为5;那么就只将前三个字交换了,并且在短的那个串中的\0任然在,所以输出就还是那样了,我给你改了一下,include<stdio.h> include<string.h> int main(){ void sw...
网友评论:
晁蚀18025202986:
输入3个字符串,要求将字母按由小到大顺序输出. -
59707卫坚
: 这不很简单么先把string2与string3中的大字符串 放在string3里如果string1比string2小,则从小到大次序为string1,string2,string3 输出就行了如果不是这样则是string1比string2大,则判断string1与string3的大小如果小于等于string3,则大小次序为:string2,string1,string3,如果不是这样,则string1大于string3,大小次序为:string2,string3,string1,程序倒数第二行貌似不对!!!!
晁蚀18025202986:
c语言 输入3个字符串按由小到大的顺序输出 -
59707卫坚
: 展开全部/*输入3个字符串按由小到大的顺序输出*/#include"string.h" main() {char a[4][100];int i,j,k; puts("请依次输入三个字符串"); for(i=0;i<3;i++) gets(a[i]); for(i=0;i<3;i++) {k=i; for(j=i+1;j<3;j++) if(strcmp(a[k],a[j])>=0) k=j; strcpy(a[3],a[i]); strcpy(a[i],a[k]); strcpy(a[k],a[3]); } for(i=0;i<3;i++) puts(a[i]); }
晁蚀18025202986:
输入3个字符串,按由小到大顺序输出.(1)用字符数组方法(2)用string方法.高手进,在线等~~~ -
59707卫坚
: 字符数组方法 去掉//*前的一个/#include #include using namespace std; int main() { int i; //* string str[3],temp; for(i=0;i<3;i++) cin>>str[i]; for(i=0;i<3;i++) { for(int j=0;j<3-i-1;j++) { if(str[j]>str[j+1]) { temp=str[j]; str[j]=str[j+1]; str[j+1]=temp; } } } for(i=0;i<3;i++...
晁蚀18025202986:
C语言输入三个字符串,从小到大输出 -
59707卫坚
: 展开全部#include #include//要加头文件 void main() { char str1[10],str2[10],str3[10];/*s1,s2,s3;s1,s2,s3是一个单字符 *//*scanf("%s",&s1),strcpy(str1,s1); scanf("%s",&s2),strcpy(str2,s2); scanf("%s",&s3),strcpy(str3,s3);*/ //改成:scanf("%s...
晁蚀18025202986:
c语言题目“输入三个字符串,按由小到大的顺序输出” -
59707卫坚
: #include void swap(char **q1,char **q2) { char *temp; // 用 temp[100] 是不能赋值成功的 temp = *q1; // 赋值用 = 而不是 == *q1 = *q2; *q2 = temp; } void exchange(char **p1,char **p2,char **p3) { if(strcmp(*p1,*p2)>0) swap(p1,p2); if(strcmp(*p1,*p...
晁蚀18025202986:
c语言,求助大神! 从键盘上输入三个字符串,将这三个串从小到大排序. -
59707卫坚
: C的字符串是用字符数组操作的,所以排序应该用指针数组完成,以避免字符串拷贝.由于只有3个字符串,用直接操作的办法而不用循环以避免不必要的开销;输入函数选用fgets,既可以方便地控制输入长度不越界,又能允许字符串中存在空...
晁蚀18025202986:
C语言输入三个字符串,按由小到大排列 -
59707卫坚
: #include char * swap(cha *a,char *b) {if strcmp(a,b)>=0 return a; else return b; } main() {int i; char *d,a[10],b[10],c[10]; printf("input fitst:"); scanf("%s",a); printf("input second:"); scanf("%s",b); printf("input third:"); scanf("%s",c); d=swap(a,b); d=swap(d,c); printf("output:%s",d); getchar(); } 没问题.编译过了
晁蚀18025202986:
输入三个字符串,按从小到大顺序输出 -
59707卫坚
: #include"stdio.h" #include"string.h" //头文件 void swap(char *a,char *b) { char t[25]; strcpy(t,a); strcpy(a,b); strcpy(b,t); } int main() { char str[3][25]; gets(str[0]); gets(str[1]); gets(str[2]); //printf("%d",strcmp(str[0],str[1])); if(strcmp(str[0],str[1])>0) ...
晁蚀18025202986:
c语言 输入3个字符串按由小到大的顺序输出 -
59707卫坚
: #include<stdio.h> #include<string.h> char swap(char *p1,char *p2){char *temp;temp=p1;p1=p2;p2=temp;} void main(){char str[20],str1[20],str2[20];char *ipoint1,*ipoint2,*ipoint3;gets(str) ;gets(str1);gets(str2);ipoint1=str;ipoint2=str1;...
晁蚀18025202986:
三个字符串从小到大排列并输出 -
59707卫坚
: 没问题啊...不过看函数名short_to_long,你的意思可能是比较字符串长度吧..把倒数第7行 if(strcmp(p[j],p[j+1])>0) 改成 if(strlen(p[j]) > strlen(p[j+1])) 就可以把字符串从短到长排列了 PS:字符串大小与长度不一样 比如"1111","22" 大小:"1111" < "22",因为1的ASCII小于2的ASCII 长度:"1111" > "22"