c语言趣味编程(8)冒泡排序

一、问题描述

对n个整数进行升序排列(数据由键盘键入)

二、设计思路

(1)读取从键盘键入的n个数据,存入数组a中;

(2)用for循环对数组a中的数据进行遍历,并用if语句来判断大小,按从小到大存入;

(3)遍历输出数组中已经完成升序排列的数组元素;

三、程序流程图

 

四、伪代码

五、代码

复制代码
 1 #include <iostream>
 2 using namespace std;
 3 int main()
 4 {
 5     int a[1000];
 6     int i = 0;
 7     while (cin >> a[i])
 8     {
 9         i++;
10         if (cin.get() == '\n') break;  //用来结束循环
11     }
12     for (int j = 0; j < i-1; j++)
13     {
14         for (int m = j + 1; m < i; m++)
15         {
16             if (a[j] >= a[m])   //完成数据的交换
17             {
18                 int temp = a[j];
19                 a[j] = a[m];
20                 a[m] = temp;
21             }
22         }
23     }
24     int count = 0;
25     for (int k = 0; k < i; k++)
26     {
27         cout << a[k]<<" ";
28         count++;   //来控制已输出数据的个数,为了美观
29         if (count % 5 == 0)
30         {
31             cout << endl;
32         }
33     }
34     return 0;
35 }
复制代码

 

六、总结

(1)利用while循环输入不确定个数的元素时可以在while后面条件中用输入流对象,然后在下面循环体中用if判断,if(cin.get()==‘\n') break;来结束循环;

posted @   连师傅只会helloword  阅读(88)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程
点击右上角即可分享
微信分享提示