解题思路和注意事项:
用了三目运算符把三个数的排序搞出来了,见下文:
最小数:(a<b?a:b)<c?(a<b?a:b):c
最大数:(a>b?a:b)>c?(a>b?a:b):c
中间数:a<b?(a>c?a:(c<b?c:b)):(a<c?a:(b>c?b:c))
参考代码:
#include<stdio.h> int main() { int a,b,c; scanf("%d%d%d",&a,&b,&c); printf("%d %d %d\n",(a<b?a:b)<c?(a<b?a:b):c, a<b?(a>c?a:(c<b?c:b)):(a<c?a:(b>c?b:c)), (a>b?a:b)>c?(a>b?a:b):c); return 0; }
0.0分
103 人评分
我这样写有什么问题吗? include <stdio.h> void main() { int a[3]; int i, j, t; printf("please 3 number\n"); for(i=0; i<3; i++) { scanf("%d", &a[i]); } for(i=0; i<2; i++) { for(j=0; j<2-i; j++) { if(a[j] > a[j+1]) { t = a[j]; a[j] = a[j+1]; a[j+1] = t; } } } printf("排序后:\n"); for(i=0; i<3; i++) { printf("%d", a[i]); } printf("\n"); }
#include<stdio.h> int s(int x,int y) { if(x>y)return x; else return y; } int s1(int x,int y) { if(x>y)return y; else return x; } int s2(int x,int y,int z) { if(x>y&&y>z)return y; else if(x>z&&z>y)return z; else return x; } int main() { int a,b,c,d,e; scanf("%d %d %d", &a, &b,&c); d=s(s(a,b),s(b,c)); e=s1(s1(a,b),s1(b,c)); printf("%d %d %d",e,s2(a,b,c),f); return 0; }
大佬三目看不懂啊
#include <stdio.h> void paixu(int a, int b, int c); int main() { int a, b, c; scanf("%d %d %d",&a, &b, &c); paixu(a, b, c); return 0; } void paixu(int a, int b, int c) { int t, k, m; if(a > b) t = a; else t= b; if(c > t) k = c; else k = t; if(k = c) { if(a > b) { t = a; m = b; } else { t= b; m = a; } } if(k == b) { if(a > c) { t = a; m = c; } else { t = c; m = a; } } if(k == a) { if(b > c) { t = b; m = c; } else { t = c; m = b; } } printf("%d %d %d\n", k ,
#include <stdio.h> int main() { int a,b,c; int t; 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("%d %d %d",a,b,c); return 0; }
#include<stdio.h> int main() { int a, b,c,s; scanf("%d%d%d", &a, &b,&c); if (a < b) s = a, a = b, b = s; if (a < c) s = a, a = c, c = s; if (b < c) s = b, b = c, c = s; printf("%d %d %d ", c,b,a); return 0; }
#include<stdio.h> int main() { int a,b,c; if(scanf("%d%d%d",&a,&b,&c)){ if(a<b&&b<c) { printf("%d%d%d\n",a,b,c); } else if(a<c&&c<b) { printf("%d%d%d\n",a,c,b); } else if(b<a&&a<c) { printf("%d%d%d\n",b,a,c); } else if(b<c&&c<a) { printf("%d%d%d\n",b,c,a); } else if(c<a&&a<b) { printf("%d%d%d\n",c,a,b); } else printf("%d%d%d\n",c,b,a); } return 0; } 想知道错哪了
int main(){ int a, b, c; scanf("%d%d%d", &a, &b, &c); int min, mid, max; min = (a<b?a:b)<c?(a<b?a:b):c; max = (a>b?a:b)>c?(a>b?a:b):c; mid = (a+b+c) - min - max; printf("%d %d %d", min, mid, max); return 0; }
DNA (C语言描述,蓝桥杯)浏览:1552 |
C语言程序设计教程(第三版)课后习题9.4 (C语言代码)浏览:664 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:782 |
Hello, world! (C语言代码)浏览:714 |
字符串的输入输出处理 (C语言代码)浏览:984 |
数列问题 (C语言代码)浏览:1019 |
printf基础练习 (C语言代码)浏览:1782 |
快速排序算法1浏览:877 |
C语言程序设计教程(第三版)课后习题10.1 (C++代码)浏览:497 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:556 |
云淡风轻 2020-11-24 19:59:53 |
超时了。
渐入佳境. 2021-03-19 19:12:04 |
if语句错了
秋清深 2021-11-25 12:02:22 |
for循环只保证了第三个最大,没有保证第一个最小(第一个i的for循环没看出有什么作用)
秋清深 2021-11-25 12:09:00 |
好吧,我看错了,程序应该没问题,但是main函数应该用int吧
KK 2022-01-13 22:29:48 |
冒泡法和选择排序法是c最基本的两个排序法,数据结构后期还有插入排序希尔排序快速排序等。头文件少个#;printf提示多余删去;根据要求最后的那个%d后要加个空格,其他没啥问题