c语言编程:本题要求编写程序,将输入的n个整数存入数组a中,判断它们是否按从大到小的次序排列好了? 输入格式: 输入在第1行中给出一个正整数n(1≤n≤100),第2行输入n个整数,其间以空格分隔。题目保证数据不超过长整型整数的范围。 输出格式: 如果这n个整数是按照从大到小的次序排列的,则在一行中输出“Yes”,否则,在一行中输出“No”。
时间: 2024-02-25 17:52:53 浏览: 95
以下是C语言的代码实现:
```c
#include <stdio.h>
int main()
{
int n, a[100];
int i, flag = 1;
scanf("%d", &n);
for (i = 0; i < n; i++)
scanf("%d", &a[i]);
for (i = 0; i < n - 1; i++)
{
if (a[i] < a[i + 1])
{
flag = 0;
break;
}
}
if (flag)
printf("Yes");
else
printf("No");
return 0;
}
```
程序先读入整数的个数n,然后读入n个整数存入数组a中。接着,用一个flag变量记录是否按从大到小的顺序排列,初始值为1,表示是从大到小的顺序排列。然后遍历数组,如果发现有相邻两个数不满足从大到小的顺序,则将flag变量的值改为0,表示不是从大到小的顺序排列。最后根据flag变量的值输出"Yes"或"No"。
相关问题
用c语言进行编程:题要求编写程序,将输入的n个整数存入数组a中,判断它们是否按从大到小的次序排列好了? 输入格式: 输入在第1行中给出一个正整数n(1≤n≤100),第2行输入n个整数,其间以空格分隔。题目保证数据不超过长整型整数的范围。 输出格式: 如果这n个整数是按照从大到小的次序排列的,则在一行中输出“Yes”,否则,在一行中输出“No”。
以下是 C 语言代码实现:
```c
#include <stdio.h>
int main()
{
int n, a[100], i, flag = 1;
scanf("%d", &n); // 输入整数个数
for (i = 0; i < n; i++)
{
scanf("%d", &a[i]); // 输入整数
}
for (i = 0; i < n - 1; i++)
{
if (a[i] < a[i + 1]) // 判断是否按从大到小排列
{
flag = 0;
break;
}
}
if (flag == 1)
{
printf("Yes"); // 输出 Yes
}
else
{
printf("No"); // 输出 No
}
return 0;
}
```
输入示例:
```
5
5 4 3 2 1
```
输出示例:
```
Yes
```
c语言编程:输入10个整数存入数组,将值最大的元素与第一个元素进行值交换,值最小的元素与最后一个元素进行值交换,然后输出数组(编写代码时使用数组)
```c
#include <stdio.h>
int main()
{
int arr[10];
int i, maxIndex, minIndex, temp;
// 输入10个整数
printf("请输入10个整数:\n");
for(i=0; i<10; i++){
scanf("%d", &arr[i]);
}
// 找出最大值和最小值的下标
maxIndex = 0;
minIndex = 0;
for(i=1; i<10; i++){
if(arr[i] > arr[maxIndex]){
maxIndex = i;
}
if(arr[i] < arr[minIndex]){
minIndex = i;
}
}
// 交换最大值和第一个元素
temp = arr[0];
arr[0] = arr[maxIndex];
arr[maxIndex] = temp;
// 交换最小值和最后一个元素
temp = arr[9];
arr[9] = arr[minIndex];
arr[minIndex] = temp;
// 输出数组
printf("交换后的数组为:\n");
for(i=0; i<10; i++){
printf("%d ", arr[i]);
}
return 0;
}
```
阅读全文