题解 P6448 【[COCI2008-2009#4] A】

· · 题解

思路:

按照题目说的的模拟就行了,可以用数组代替变量。

代码:

#include <bits/stdc++.h>//头文件
using namespace std;
int main()
{
    int s[6];//五个变量,我就用数组了
    for(int i=1;i<=5;i++)
    {
        cin>>s[i];//输入
    }
    while(1)//因为总会有到升序的时候
    {
        for(int i=1;i<=4;i++)//四次判断
        {
            bool p=true;//这个变量判断是否是升序
            if(s[i+1]<s[i])//如果后面的比前面的小
            {
                swap(s[i+1],s[i]);//交换函数
                for(int j=1;j<=5;j++)
                {
                    cout<<s[j]<<' ';//每次交换都要输出
                }
                cout<<endl;//换行
            }
            for(int j=1;j<=4;j++)//这个循环判断升序
            {
                if(s[j+1]<s[j])//如果后面比前面小
                {
                    p=false;//就不是升序
                }
            }
            if(p==true)//是升序
            {
                return 0;//就结束了
            }
        }
    } 
    return 0;//别忘了
}

谢谢观看!!