⑴ (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地址開始且含有'