⑴ (c语言)输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符
#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("Pleaseinputnum:\n");
scanf("%c%c%c",&c0,&c1,&c2);
c3=max(c0,c1);
c4=max(c3,c2);
c5=min(c0,c1);
c6=min(c5,c2);
c7=c0+c1+c2-c4-c6;
printf("%c%c%c\n",c4,c7,c6);
return0;
}
(1)先后输出cat三个字符C语言扩展阅读:
printf()用法:
printf()函数是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。在编写程序时经常会用到此函数。函数的原型为:
int printf(const char*format,...);函数返回值为整型。若成功则返回输出的字符数,输出出错则返回负值。
printf()函数的调用格式为:
printf("<格式化字符串>;",<参量表>);其中格式化字符串包括两部分内容:
一部分是正常字符,这些字符将按原样输出;
另一部分是格式化规定字符,以"%"开始,后跟一个或几个规定字符,用来确定输出内容格式。
参量表是需要输出的一系列参数,其个数必须与格式化字符串所说明的输出;参数个数一样多,各参数之间用","分开,且顺序一一对应,否则将会出现意想不到的错误。
规定符
%d十进制有符号整数
%u十进制无符号整数
%f浮点数
%s字符串
%c单个字符
%p指针的值
%e指数形式的浮点数
%x,%X无符号以十六进制表示的整数
%o无符号以八进制表示的整数
%g把输出的值按照%e或者%f类型中输出长度较小的方式输出
%p输出地址符
%lu 32位无符号整数
%llu 64位无符号整数
⑵ C语言:输入三个字符串,按由小到大的顺序输出
#include
#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,*p3)>0) swap(p1,p3);
if(strcmp(*p2,*p3)>0) swap(p2,p3);
}
int main()
{
char a[100],b[100],c[100],* p1,* p2,* p3;
gets(a);
gets(b);
gets(c);
p1=a;
p2=b;
p3=c;
// 用指针的指针才能改变原始指针内容,不然只是复制了指针内容到exchange中,
// 带不出修改后的结果到主函数中。
exchange(&p1,&p2,&p3);
printf("%s\n%s\n%s\n",p1,p2,p3);
return 0;
}
⑶ C语言输入3个字符串(长度都小于80),按由小到大顺序输出。
1 定义二维数组存储字符串。
2 通过strcmp比较大小,strcpy进行赋值,实现排序。
3 输出结果。
代码:
intmain()
{
chars[3][100],t[100];
inti,j;
for(i=0;i<3;i++)
scanf("%s",s[i]);
for(i=0;i<2;i++)
for(j=i+1;j<3;j++)
if(strcmp(s[i],s[j])>0)
{
strcpy(t,s[i]);
strcpy(s[i],s[j]);
strcpy(s[j],t);
}
for(i=0;i<3;i++)
puts(s[i]);
}
⑷ c语言 输入三个字符串,按重小到大顺序输出(求简单的算法)
#include <stdio.h>
#include <string.h>
void chognzu(char *a,char *b,char *c)
{
char *p;
if (strcmp(a,b)>0)/*比较字符串a与b的大小,如a>b就交换,下同*/
{p=a;a=b;b=p;}
if (strcmp(a,c)>0)
{p=a;a=c;c=p;}
if (strcmp(b,c)>0)
{p=b;b=c;c=p;}
printf("After sort: %s %s %s ",a,b,c);
}
void main()
{
char a[100];
char b[100];
char c[100];
gets(a);
gets(b);
gets(c);
chognzu(a,b,c);
}
⑸ C语言 用指针方法 输入3个字符串 按由小到大顺序输出
#include<stdio.h>
#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)swap(str1,str0);
printf("Now the otrder is:")
printf("%s %s %s" str1,str2,str0);
return 0;
}
void swap(char*p1,*p2)
{
char str[10];
strcpy(str,p1);
strcpy(p1,p2);
strcpy(p2,str);
}
(5)先后输出cat三个字符C语言扩展阅读:
strcpy用法:
1、strcpy(a+1,b+2)相当于将a[1]及它后面的内容复制为b[2]及它后面的内容。b[2]及后面为“2”,因此复制后a为“a2”;
2、strcat(a,c+1)相当于在a的末尾加上c[1]及其后面的部分,也就是“yz”。故运行后a为“a2yz”
strcpy把从src地址开始且含有'