c语言编程: 从键盘任意输入三个数,按照从小到大的顺序输出. C语言题 输入三个数,分别按照从小到大和从大到小的的顺序输出

C\u8bed\u8a00\u7f16\u7a0b\u9898,\u4ece\u952e\u76d8\u8f93\u5165\u4efb\u610f3\u4e2a\u6570,\u6309\u4ece\u5c0f\u5230\u5927\u7684\u987a\u5e8f\u8f93\u51fa

\u4ee3\u78011.
// \u8f93\u51653\u4e2a\u6570\uff0c\u8981\u6c42\u6309\u4ece\u5c0f\u5230\u5927\u987a\u5e8f\u8f93\u51fa #include int main() { int a,b,c,t; printf("\u8bf7\u8f93\u5165\u4e09\u4e2a\u6570\uff1a"); scanf("%d%d%d",&a,&b,&c); if(a > b) { t = a; a = b; b = t; } if(a > c) { t = a; a = c; c = t; } if(b > c) { t = b; b = c; c = t; } printf("\u4ece\u5c0f\u5230\u5927\u7684\u987a\u5e8f\u662f\uff1a%d %d %d\n",a,b,c); return 0; }\u4ee3\u78012.
\u8f93\u51653\u4e2a\u5b57\u7b26\u4e32\uff0c\u6309\u4ece\u5c0f\u5230\u5927\u987a\u5e8f\u8f93\u51fa\u3002 //\u5148\u7528\u7a0b\u5e8f\u5bf9\u4e09\u4e2a\u6570\u8fdb\u884c\u4ece\u5c0f\u5230\u5927\u6392\u5e8f\uff0c\u7136\u540e\u4fee\u6539\u7a0b\u5e8f#include#includeint main(){void swap(char *pt1,char *pt2); char a[20],b[20],c[20]; char *p1,*p2,*p3; printf("\u8bf7\u8f93\u5165\u4e09\u4e2a\u5b57\u7b26\u4e32:"); gets(a); gets(b); gets(c); //\u6216\u7528scanf("%s,%s,%s",a,b,c); p1=&a[0];p2=&b[0];p3=&c[0];//\u4e09\u4e2a\u6307\u9488\u5206\u522b\u6307\u5411\u4e09\u4e2a\u5b57\u7b26\u6570\u7ec4 if(strcmp(*p1,*p2)>0)swap(p1,p2);//if(strcmp(a,b)>0)swap(a,b); //\u6bd4\u8f83\u4e24\u4e2a\u5b57\u7b26\u4e32\u7684\u5927\u5c0f\uff0c\u4e3a\u4ec0\u4e48\u7528\u524d\u4e00\u53e5\u7684\u65f6\u5019\u4f1a\u51fa\u73b0\u8b66\u544a\u5462 if(strcmp(a,c)>0)swap(a,c);//if(strcmp(*p1,*p3)>0)swap(*p1,*p3); if(strcmp(b,c)>0)swap(b,c);// if(strcmp(*p2,*p3)>0)swap(*p2,*p3); printf("\u7531\u5c0f\u5230\u5927\u6392\u5217\uff1a%s\n%s\n%s\n",a,b,c); return 0;}void swap(char *pt1,char *pt2){ char t[20]; strcpy(t,pt1); strcpy(pt1,pt2); strcpy(pt2,t);//t=*pt1;*pt1=*pt2;*pt2=t;}\u4ee3\u78013.
#include #include #define SIZE 3 #define LEN 50 int main(void) { char str[SIZE][LEN]; char (*pst)[LEN]=str; char temp[LEN]; int i,j; printf("Please enter 3 string.\n"); for(i=0;i<SIZE;i++) { fgets(*(pst+i),LEN,stdin); } printf("Befor sort:\n"); for(i=0;i<SIZE;i++) { fputs(*(pst+i),stdout); } for(i=0;i<SIZE-1;i++) for(j=i+1;j<SIZE;j++) { if(strcmp(*(pst+i),*(pst+j)) == 1) { strcpy(temp,*(pst+i)); strcpy(*(pst+i),*(pst+j)); strcpy(*(pst+j),temp); } } printf("After sort:\n"); for(i=0;i<SIZE;i++) { fputs(*(pst+i),stdout); } }

\u3000\u3000#include
\u3000\u3000int main()
\u3000\u3000{
\u3000\u3000int t,a,b,c;
\u3000\u3000scanf("%d%d%d",&a,&b,&c);
\u3000\u3000if(a<b)
\u3000\u3000{
\u3000\u3000t=a\uff0ca=b\uff0cb=t;
\u3000\u3000}
\u3000\u3000if(a<c)
\u3000\u3000{
\u3000\u3000t=a\uff0ca=c\uff0cc=t;
\u3000\u3000}
\u3000\u3000if(b<c)
\u3000\u3000{
\u3000\u3000t=b\uff0c b=c\uff0c c=t;
\u3000\u3000}
\u3000\u3000printf("%d %d %d\n",a\uff0cb\uff0cc\uff09;
\u3000\u3000return 0;
\u3000\u3000}
\u3000\u3000\u539f\u7406\u5c31\u662f\u8fd0\u7528\u5192\u6ce1\u7b97\u6cd5\uff0c\u628a\u6700\u5927\u7684\u6570\u6d6e\u5728\u6700\u4e0a\u9762\uff0c\u800c\u5c0f\u7684\u6570\u5c31\u4e0b\u6c89\uff0c\u6700\u540e\u5c31\u8f93\u51fa\u3002

#include&lt;stdio.h&gt;

void main()

{

int a,b,c,t;

printf("请输入三个整数:a b c
");

scanf("%d%d%d",&a,&b,&c);

if(a&gt;b)

{

t=a;

a=b;

b=t;

}

if(a&gt;c)

{

t=a;

a=c;

c=t;

}

if(b&gt;c)

{

t=b;

b=c;

c=t;

}

printf("排序后的三个整数为:%d,%d,%d
",a,b,c);

}

扩展资料:

scanf函数原型

int(const char*restrict format,...);

函数scanf()是从标准输入流stdin(标准输入设备,一般指向键盘)中读内容的通用子程序,可以说明的格式读入多个字符,并保存在对应地址的变量中。

函数的第一个参数是格式字符串,它指定了输入的格式,并按照格式说明符解析输入对应位置的信息并存储于可变参数列表中对应的指针所指位置。每一个指针要求非空,并且与字符串中的格式符一一顺次对应。

返回值

scanf函数返回成功读入的数据项数,读入数据时遇到了“文件结束”则返回EOF。

如:

scanf("%d%d",&a,&b);

函数返回值为int型。如果a和b都被成功读入,那么scanf的返回值就是2;

如果只有a被成功读入,返回值为1;

如果a和b都未被成功读入,返回值为0;

如果遇到错误或遇到end of file,返回值为EOF。end of file为Ctrl+z或者Ctrl+d。

例:使用scanf函数输入数据。

#include&lt;stdio.h&gt;

int main(void)

{

int a,b,c;

printf("Give me the value of a,b,c seperated with whitespaces:
");

scanf("%d%d%d",&a,&b,&c);

printf("a=%d,b=%d,c=%d
",a,b,c);

return 0;

}

&a,&b,&c中的&是寻址操作符,&a表示对象a在内存中的地址,是一个右值。变量a,b,c的地址是在编译阶段分配的(存储顺序由编译器决定)。

注意:如果scanf中%d是连着写的如“%d%d%d”,在输入数据时,数据之间不可以用逗号分隔,只能用空白字符(空格或tab键或者回车键)分隔——

“2(空格)3(tab)4”或“2(tab)3(回车)4”等。若是“%d,%d,%d”,则在输入数据时需要加“,”,如“2,3,4”。

参考资料:

百度百科——scanf(计算机语言函数)



if(a>b) {d=a;a=b;b=d;:
if(a>c) {d=a;a=c;c=d;}
if(b>c) {d=b;b=c;c=d;}
printf("%d,%d,%d",a,b,c);
这是一个冒泡排序的算法,最后输出地abc一次从小到大。这个只需要一个中间变量d,如果数多的话可以用数组存储,用循环控制。

#include<stdio.h>
void main()
{
int a,b,c;
int d,e,f,sum;
printf("请输入三个整数:\n");
scanf("%d,%d,%d",&a,&b,&c); //分号放错位置了
sum=a+b+c;
d=(a>=b)? a:b;
d=(d>=c)? d:c;
e=(a<=b)? a:b;
e=(e<=c)? e:c;
f=sum-d-e;
printf("%d %d %d\n",d,f,e);
}

扩展阅读:c十十入门编程课程视频 ... 少儿编程是学什么的 ... c十十编程知识点 ... c十十编程要学多久 ... 初学编程必背50个 ... 信息学奥赛c++编程 ... 自学编程免费网上学习 ... 计算机入门自学教程 ... 免费自学编程的app ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网