输入10到15个数字按最大最小第二大第二小第三大第三小……输出
#include <stdio.h>int main()
{
int n = 0, shuzu[20];
int num[20];
printf("请输入数字:");
while (scanf_s("%s", &num, 100))
{
if (!strcmp(num, "ok") || !strcmp(num, "OK")) //strcmp函数 比较函数, #include <string.h> // strcmp()函数头文件
{
break;
}
shuzu[n] = atoi(num); //atoi函数 #include<stdlib.h> // atoi()函数头文件
n = n + 1; //输入一个数字 n+1
}
int temp, i;
for (i = 0; i < n-1 ; i++) //因为数组两两比较,第一层循环中最后一个为数组倒数第二个
{
for (int j = i + 1; j < n; j++)////因为数组两两比较,第二层循环中每一个都是第一层循环数字后一个开始
{
if (shuzu[i] < shuzu[j])
{
temp = shuzu[i];
shuzu[i] = shuzu[j];
shuzu[j] = temp;
}
}
}
printf("排序后:");
for (i = 0; i < n / 2; i++)
{
printf("%d ", shuzu[i]);
printf("%d ", shuzu[n - i - 1]);
}
if (n % 2 == 1)
{
printf("%d ", shuzu[i]);
}
return 0;
}
大佬们输出不正确,不知道哪里问题