解题思路:
这道题让输出升序,所以,选择排序是通过反复的求最小值的方法实现排序的
1、将10个数存入一维数组a中。
2、然后找出数组中的最小值存入a[0]中;
(那么如何求最小值呢)
/*如果a[0]的值大于a[j],将a[0]与a[j]的值交换*/ for (j = 0; j <= 9; j++) { if (a[0] > a[j]) { t = a[0]; /* 将a[0]的值存入t中避免数据丢失*/ a[0] = a[j]; a[j] = t; } } /*下述同理*/
3、再找出数组中第二小的数存入a[1]中;
4、再找出数组中第三小的数存入a[2]中;
...
...
从而完成降序排序
最后输出排序后的数据
注意事项:
参考代码:
#include<stdio.h> int main(void) { int i, j, t, a[10]; for (i = 0; i <= 9; i++) scanf("%d", &a[i]); /*输入十个数存入数组a中*/ for (i = 0; i <= 9; i++) { for (j = i+1; j <= 9; j++) { if (a[i] > a[j]) { t = a[i]; a[i] = a[j]; a[j] = t; /*将a[i]与a[j]的值交换,从而找出每次循环的最小值*/ } } printf("%d\n", a[i]); /*每次循环结束输出最小值*/ } return 0; }
第一次发帖子,如果代码存在问题希望能指出不足。
0.0分
2 人评分
C语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:822 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:694 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:585 |
众数问题 (C语言代码)浏览:912 |
C语言训练-数字母 (C语言代码)浏览:648 |
矩阵乘方 (C语言代码)浏览:1080 |
模拟计算器 (C语言代码)浏览:2371 |
判定字符位置 (C语言代码)浏览:849 |
筛排处理 (C语言代码)浏览:831 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:601 |