解题思路和注意事项:
用了三目运算符把三个数的排序搞出来了,见下文:
最小数:(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分
106 人评分
#include<stdio.h> #define MAX(a,b) a>b?a:b #define MIN(a,b) a<b?a:b #define MIL(a,b,c) (a>b?a:b)<c?(a>b?a:b):c int main() { int n[3]; int i,j,x,z,y,l; for(i=0;i<3;i++) { scanf("%d",&n[i]); } y = MAX(n[0],n[1]); y = MAX(y,n[2]); x = MIN(n[0],n[1]); x = MIN(x,n[1]); l = MIL(n[0],n[1],n[2]); printf("%d %d %d\n",x,l,y); return 0; } 小白不知道哪错了呀......
我这样写有什么问题吗? 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"); }
云淡风轻 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后要加个空格,其他没啥问题
#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; } 想知道错哪了
C语言程序设计教程(第三版)课后习题8.9 (C语言代码) 用函数传参的方法浏览:4120 |
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:608 |
C语言程序设计教程(第三版)课后习题8.9 (C语言代码)浏览:690 |
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:564 |
Pascal三角 (C语言代码)格式错误浏览:550 |
C语言训练-大、小写问题 (C语言代码)浏览:792 |
【金明的预算方案】 (C++代码)浏览:996 |
WU-C语言程序设计教程(第三版)课后习题12.1 (C++代码)浏览:1024 |
【计算球体积】 (C语言代码)浏览:1158 |
蚂蚁感冒 (C语言代码)浏览:1408 |
秋清深 2021-11-25 11:44:45 |
MIL错了,若c<a<b,中间的是a,你的结果是c