前言

有点水了吧……


不是,说白了,这么简单的两道编程题,怎么可能没人过!

第一题:把数组清零(应该是这个意思吧)

小明跟非全零数组过不去,如果数组不为全零,那么他就要发力了!

第一步:他要把最大的aka_k拿过来,但是如果有俩,必须是下标最大的。

第二步:他又要把最小的aja_j找到

最后把aka_k赋值为akaja_k-a_j

直到这个数组为全零数组

很简单,直接枚举就行(毕竟三级的题目本来都是枚举)

代码如下

#include<iostream>
using namespace std;
int n,a[105],maxn,minn=2100000000,mxi,ans;
bool flag=1;
int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
    while(1){
        for(int i=1;i<=n;i++){
            if(a[i]!=0){
                flag=0;
            }
            if(a[i]>=maxn){
                maxn=a[i];
                mxi=i;
            }
            if(a[i]<minn&&a[i]!=0){
                minn=a[i];
            }
        }
        if(flag)break;
        a[mxi]=maxn-minn;
        ans++;
        mxi=0;
        maxn=0;
        minn=2100000000;
        flag=1;
    }
    cout<<ans;
    return 0;
}

第二题:输出2025年n月份的日历

题目的介绍和标题一个意思

这个更是简单,打印图形题目都做完了吧?嵌套if语句学了吧?好了,你可以把这题做出来了。

#include<iostream>
#include<iomanip>
using namespace std;
int n;
int main(){
	cin>>n;
	cout<<"MON TUE WES TUR FRI SAT SUN"<<endl;//打了星期先
	if(n==1){
		for(int i=1;i<=8;i++)cout<<' ';//把空格打了先
		for(int i=1;i<=5;i++){
			cout<<setw(3)<<i<<' ';
		}
		for(int i=6;i<=31;i++){//i为天数
			if((i-6)%7==0)cout<<endl;
			cout<<setw(3)<<i<<' ';
		}
	}
	//后面不会还要我写吧啊?
	return 0;
}