解题思路:
注意事项:
/*这里的 EOF 是一个在 <stdio.h> 头文件中定义的宏,它表示文件结束符(End Of File)。 在标准输入中,通常通过按下 Ctrl+D(在 Unix/Linux 系统中)或 Ctrl+Z(然后回车,在 Windows 系统中)来生成 EOF 信号, 这会使 scanf 返回 EOF,从而结束循环。 这个循环会持续读取用户输入的整数,直到遇到 EOF 为止。 每次循环时,scanf 会尝试从标准输入读取一个整数并存储在变量 a 中。 如果读取成功,scanf 返回读取的项目数(在这个例子中为 1),如果遇到 EOF 或读取错误,则返回 EOF(通常是 -1)。 因此,循环会继续执行,直到遇到 EOF。 */
参考代码:
#include <stdio.h> //冒泡排序法函数 void bubbleSort(int arr[], int n) { int i, j, temp; for (i = 0; i < n - 1; i++) { // 最后的i个已经排好了 for (j = 0; j < n - i - 1; j++) { if (arr[j] > arr[j + 1]) { // 交换 arr[j] 和 arr[j+1] temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } } main() { int nums[10] = { 0 }; while(scanf("%d",&nums[0]) != EOF) { for (int i = 1; i < 10; i++) { scanf("%d", &nums[i]); } int len_1 = 0; //数组长度 int len_2 = 0; int nums_1[10] = { 0 }; //定义两个数组分别存放奇数与偶数 int nums_2[10] = { 0 }; for (int i = 0; i < 10; i++) { if (nums[i] % 2 == 0) { nums_1[len_1] = nums[i]; //偶数 len_1++; } else { nums_2[len_2] = nums[i]; //奇数 len_2++; } } bubbleSort(nums_1, len_1); //从小到大 bubbleSort(nums_2, len_2); for (int i = len_2 - 1; i >= 0; i--) { printf("%d ", nums_2[i]); } for (int i = 0; i < len_1; i++) { printf("%d ", nums_1[i]); } } return 0; }
0.0分
1 人评分
求圆的面积 (C++代码)这里推荐使用宏定义浏览:2028 |
C语言程序设计教程(第三版)课后习题8.8 (C++代码)浏览:583 |
C语言训练-求函数值 (C语言代码)浏览:976 |
蓝桥杯历届试题-九宫重排 (C++代码)浏览:2812 |
计算质因子 (C++代码)浏览:1825 |
wu-淘淘的名单 (C++代码)浏览:1532 |
2006年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:503 |
C语言考试练习题_一元二次方程 (C语言代码)浏览:606 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)from DQM浏览:773 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:903 |