#include<stdio.h> void change(int*q, int*p); int main() { int c = 0, b = 9; int* max = &c, * min = &b, a[10] = { 0 }; for (int i = 0; i < 10; i++)//输入 scanf("%d", &a[i]); for (int i = 0; i < 10; i++)//找最大最小 { if (a[i] > *max) max = &a[i]; if (a[i] < *min) min = &a[i]; } if (*max != a[0])//如果最大的不是第一个,直接换 { change(min, &a[0]); change(max, &a[9]); } else//如果最大的是第一个,另一种规则 { int d = *max; int b = *min; int c = a[9]; d = *max; b = *min; c = a[9]; *max = b; *min = c; a[9] = d; } for (int i = 0; i < 10; i++)//输出排好的数组 { printf("%d ", a[i]); } return 0; } void change(int* q, int* p) { int temp; temp = *p; *p = *q; *q = temp; }
解题思路:
注意事项:
参考代码:
0.0分
0 人评分
【亲和数】 (C语言代码)浏览:504 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:575 |
The 3n + 1 problem (C语言代码)浏览:554 |
P1000 (C语言代码)浏览:877 |
A+B for Input-Output Practice (VII) (C语言代码)浏览:529 |
1118(求助_已解决)浏览:329 |
循环入门练习6 (C语言代码)浏览:971 |
数组与指针的问题浏览:724 |
局部变量作函数返回值的问题浏览:984 |
C语言程序设计教程(第三版)课后习题10.3 (C语言代码)浏览:510 |