用C语言写 输入10个不同的整数,存放在数组中。编程判断这组数是否有序,如果无序,则输出“无序”;如果为从小到大有序,则输出“从小到大有序”;如果为从到小排序,则输出“从大到小有序”排序。例如,如果输入1,2,3,4,5,6,7,8,9,10,则输出“从小到大有序”;如果输入10,9,8,7,6,5,4,3,2,1,则输出“从大到小有序”;如果输入10,8,9,3,4,6,2,1,5,7,则输出“无序”。
时间: 2023-08-21 14:05:44 浏览: 47
完整程序如下:
```c
#include <stdio.h>
int main() {
int a[10];
int i, flag1 = 1, flag2 = 1;
printf("Please enter 10 different integers:\n");
for (i = 0; i < 10; i++) {
scanf("%d", &a[i]);
if (i > 0 && a[i] < a[i - 1]) flag1 = 0;
if (i > 0 && a[i] > a[i - 1]) flag2 = 0;
}
if (flag1) printf("从小到大有序\n");
else if (flag2) printf("从大到小有序\n");
else printf("无序\n");
return 0;
}
```
程序中,我们首先定义了一个长度为 10 的整型数组 `a`,然后使用 `for` 循环依次读入 10 个整数并存储在数组中。在读入的同时,我们记录了两个标志变量 `flag1` 和 `flag2`,初始值都为 1,表示数组是有序的。
在每次读入一个元素后,我们判断当前元素是否小于前一个元素,如果是,则说明数组不是从小到大有序的,将 `flag1` 设置为 0;判断当前元素是否大于前一个元素,如果是,则说明数组不是从大到小有序的,将 `flag2` 设置为 0。如果 `flag1` 为 1,说明数组是从小到大有序的;如果 `flag2` 为 1,说明数组是从大到小有序的;否则说明数组是无序的。
最后,根据标志变量的值输出相应的结果。需要注意的是,在输入元素时,我们假设输入的是不同的整数,如果输入的整数可能重复,需要对输入进行去重处理。
相关推荐
![text/plain](https://img-home.csdnimg.cn/images/20210720083646.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)