输入整数n(n<=20),和2个整数x,y,随机产生n个x-y之间的正整数并保存到数组中。将数组中这n个数中的第0个与第n-1个,第2个与倒数第n-2个元素交换。显示交换前与交换后的数组。(要求判断n为小于等于20的正整数)
问题描述:
答
问题解决的话,请点下采纳
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
int main()
{
int n, x, y;
while (1)
{
printf("请输入<=20的正整数:");
scanf("%d", &n);
if (n > 0 && n <= 20) break;
}
printf("请输入x y:");
scanf("%d%d", &x, &y);
int arr[21];
srand((unsigned)time(NULL));
for (int i = 0; i < n; i++)
{
arr[i] = rand() % (y - x) + x;
}
for (int i = 0; i < n; i++)
printf("%d\t", arr[i]);
printf("\n");
if (n >= 3)
{
for (int i = 0; i < 2; i++)
{
int t = arr[i];
arr[i] = arr[n - i - 1];
arr[n - i - 1] = t;
}
}
for (int i = 0; i < n; i++)
printf("%d\t", arr[i]);
printf("\n");
return 0;
}