|
发表于 2019-5-26 22:58:50
|
显示全部楼层
- #include <stdio.h>
- #include <stdlib.h>
- #include <stdbool.h>
- void data_input(int data[], size_t size)
- {
- for(size_t i = 0; i < size; ++i)
- scanf("%d", &data[i]);
- }
- bool data_equal(const int data[], size_t size)
- {
- for(size_t i = 0; i < size - 1; ++i)
- {
- for(size_t j = i + 1; j < size; ++j)
- {
- if(data[i] == data[j])
- return true;
- }
- }
- return false;
- }
- int compar(const void *a, const void *b)
- {
- return a > b;
- }
- void data_print(const int data[], size_t size)
- {
- double sum = 0;
- for(size_t i = 0; i < size; ++i)
- sum += data[i];
- double average = sum / size;
- int num[size];
- size_t num_size = 0;
- for(size_t i = 0; i < size; ++i)
- {
- if(data[i] < average)
- num[num_size++] = data[i];
- }
- qsort(num, sizeof(int), num_size, compar);
- for(size_t i = 0; i < num_size; ++i)
- printf("%d ", num[i]);
- printf("\n");
- }
- int main(void)
- {
- int data[20];
- printf("请输入: ");
- while(1)
- {
- data_input(data, 20);
- if(!data_equal(data, 20))
- break;
- printf("请重新输入: ");
- }
- data_print(data, 20);
- return 0;
- }
复制代码 |
|