2020
照图片输出2020图样,注意第一行是cout<<endl;以及每一行前面的空格就行,当然,每行需要多少个字符也是很重要的。
#include<iostream>
using namespace std;
int main()
{
cout<<endl;
cout<<" **** **** **** ****"<<endl;
cout<<" * * * * * *"<<endl;
cout<<" * * * * * *"<<endl;
cout<<" **** * * **** * *"<<endl;
cout<<" * * * * * *"<<endl;
cout<<" * * * * * *"<<endl;
cout<<" **** **** **** ****"<<endl;
return 0;
}
咕噜咕噜。。
冒泡排序+模拟
这道题必须了解冒泡排序的过程,没学过冒泡排序的同学可能会有些吃力。这里不对冒泡排序做过多赘述。冒泡排序的大致思想有点像我们小学排队老师调整队伍的过程,每次比较相邻的两个位置,如果前一个同学比后一个同学高,则交换两个人的位置,这样便能达到把高的同学往后调的效果。更多冒泡排序的细节可自行百度。
当知道模拟冒泡排序后,这道题就变得简单了。依题意,设一个cnt记录冒泡排序交换的次数。每交换一次,则cnt++;当cnt达到题目的要求次数后,便停止模拟,输出此时的序列。
#include <iostream>
using namespace std;
int a[100005];
int main()
{
int n,m;
cin>>n>>m;
int cnt=0;
for (int i=1;i<=n;i++)
cin>>a[i];
for (int i=1;i<n&&cnt!=m;i++)
{
for (int j=1;j<=n-i&&cnt!=m;j++) //cnt==m时跳出循环
{
if (a[j]>a[j+1])
{
swap(a[j],a[j+1]);
cnt++;
}
}
}
for (int i=1;i<=n;i++)
cout<<a[i]<<" ";
cout<<endl;
return 0;
}