输入3个字符串由小到大
答:首先,程序会提示用户输入三个字符串,然后通过strcmp函数进行比较,如果前一个字符串大于后一个,就使用swap函数交换它们的位置,这个过程重复三次,确保三个字符串的顺序排列。swap函数的作用是临时存储一个字符串,然后将另一个字符串的内容复制到原位置,再将存储的内容复制回去,实现了字符串的交换。...
答:include <stdio.h>#include <stdlib.h>#include <string.h>#define MAX 100// 字符串最大长度// 交换两个字符串void swap(char *str1, char *str2){char temp[MAX];strcpy(temp, str1);strcpy(str1, str2);strcpy(str2, temp);}int main(){char str1[MAX], str2[MAX], str3[MA...
答: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<...
答:1、新建一个工程和.c文件 ,输入头文件和主函数。2、声明函数,初始化数组,定义变量类型。3、调用函数。char* str="sample";int len = strlen(str)+1;har copystr[256];memcpy(copystr,str,len)。4、定义调用函数。5、输入调用函数体。DWORD dwNum;dwNum= WideCharToMultiByte(CP_OEMCP,NULL,l...
答:1、修改代码 char temp[100];temp==q1;q1==q2;q2==temp;==换成=,=才是赋值运算符。2、换用其他方法 可以使用三个数组,或者是一个二维数组来存储字符串,同时定义一个指针数组,指向三个字符串的首地址,然后对指针数组进行排序。
答:1、首先打开vc6.0, 新建一个项目。 2、添加头文件。 3、添加main函数。 4、定义x, y, z, t。 5、使用scanf给定义的变量赋值。 6、使用printf输入。 7、运行程序,可以看到输入的3个字符串,比较它们的大小,并将它们按由小到大的顺序输出。 已赞过 已踩过< 你对这个回答的评价是? 评论 收起 推荐...
答:/*输入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]);...
答:include <math.h> include <string.h> void swap(char **p1, char **p2) { char *temp;temp = *p1;p1 = *p2;p2 = temp;} int main(){ char str[3][20], *p[3];printf("请输入:\n");for(int i = 0; i < 3; i++) { gets(str[i]);p[i] = str[i];} for(int...
答:include<string.h> int main(){ char s[3][101],*p1,*p2;int i;p1=p2=s[0];for(i=0;i<3;i++)gets(s[i]);if(strcmp(s[1],p1)>0)p1=s[1];else if(strcmp(s[1],p2)<0)p2=s[1];if(strcmp(s[2],p1)>0)p1=s[2];else if(strcmp(s[2],p2)<0)p2=s[2];prin...
答:include<string.h> int main(){ char str1[10],str2[20],str0[10];printf("please input 3 strings");gets(str1);gets(str2);gets(str0);if(strcmp(str1,str2)>0)swap(str1,str2);/*字符串比较函数*/ if(strcmp(str2,str0)>0)swap(str2,str0);if(strcmp(str1,str0)>0)...
网友评论:
晋子15896284868:
c语言 输入3个字符串按由小到大的顺序输出 -
20975满党
: 展开全部/*输入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]); }
晋子15896284868:
c语言题目“输入三个字符串,按由小到大的顺序输出” -
20975满党
: #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...
晋子15896284868:
输入3个字符串,按由小到大顺序输出.(1)用字符数组方法(2)用string方法.高手进,在线等~~~ -
20975满党
: 字符数组方法 去掉//*前的一个/#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++...
晋子15896284868:
c语言 输入3个字符串按由小到大的顺序输出 -
20975满党
: #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;...
晋子15896284868:
C语言输入三个字符串,从小到大输出 -
20975满党
: 展开全部#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...
晋子15896284868:
输入三个字符串,按从小到大顺序输出 -
20975满党
: #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) ...
晋子15896284868:
输入三个字符串,用指针按由小到大输出 -
20975满党
: 测试了一下,应该是scanf语句错了,我用了3个scanf语句替代可正常运行,逻辑正常.我估计用一个scanf语句进行3个字符串的输入中,%s,%s,%s没有起到应有的作用,只赋值给了str1一个字符串,其他的字符串都是随机分配了. 电脑判断你一个字符串是否输入完成应该是看回车或者制表符.而不是逗号或者分号这些符号
晋子15896284868:
c语言,求助大神! 从键盘上输入三个字符串,将这三个串从小到大排序. -
20975满党
: C的字符串是用字符数组操作的,所以排序应该用指针数组完成,以避免字符串拷贝.由于只有3个字符串,用直接操作的办法而不用循环以避免不必要的开销;输入函数选用fgets,既可以方便地控制输入长度不越界,又能允许字符串中存在空...
晋子15896284868:
C语言输入三个字符串,按由小到大排列 -
20975满党
: #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(); } 没问题.编译过了
晋子15896284868:
输入三个字符串按从小到大顺序输出,用指针 -
20975满党
: 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...