|
发表于 2018-6-7 09:53:11
|
显示全部楼层
看这个代码风格,估计是看了谭教授的巨著吧。
- #include<stdio.h>
- // 函数声明
- void max(int x[], int n);
- void min(int x[], int n);
- void scan(int *p, int n);
- void print(int *p, int n);
- int main(void) {
- int a[10];
- scan(a, 10);
- max(a, 10);
- min(a, 10);
- print(a, 10);
- system("pause");
- return 0;
- }
- void scan(int *p, int n) {
- printf("请输入10个整数:\n");
- for (int i = 0; i<n; i++) {
- scanf("%d", &*(p + i));
- }
- }
- void max(int x[], int n) {
- int i;
- int max = x[0];
- for (i = 0; i < 10; i++) {
- if (max < x[i])
- max = x[i];
- }
- int y;
- y = x[9];
- x[9] = max;
- // 这一步什么意思,i循环完必定等于10
- // 而数组里面不存在第10号元素。
- // 如果控制在数组内,i-1 也就是9号元素,这样赋值也没意义
- // 如果这里不改,又会越界。
- x[i-1] = x[9];
- }
- void min(int x[], int n) {
- int i;
- int min = x[0];
- for (i = 0; i<10; i++) {
- if (min > x[i])
- min = x[i];
- }
- int y;
- y = x[0];
- x[0] = min;
- x[i-1] = x[0];
- }
- void print(int *p, int n) {
- int i = 0;
- for (; i<10; i++) {
- printf("%d ", *(p + i));
- }
- }
复制代码 |
|