[PTA-PAT]中国大学MOOC-陈越、何钦铭-数据结构-起步能力自测题-自测-1 打印沙漏

具体题见PTA | 程序设计类实验辅助教学平台。
大意:输入沙量和沙子外观,制作沙漏⏳,并打印剩余沙量。
难点:判断当下该打印空格还是沙子。
注意点:沙前需要空格填充,沙后不要多余空格,否则格式错误。
语言:C++

#include // 1th 52min BY Ka4per --CSDN
#include
using namespace std;
int main(){
	int n,cnt = 0;
	char c;
	cin>>n>>c;
	int i = sqrt((n+1)/2),hang = (2*i-1),kong = -1,flag = 1; 
	for(int j = 0;j<hang;j++){
		if(j == i){
			flag = 0;
			kong -= 2;
		}
		for(int k = 0;k<hang;k++){
			if(k<=kong) cout<<" ";
			else if(k>= hang-1-kong)break;
			else{
				cout<<c;
				cnt++;
			}
    	}
    	if(flag) kong++;
	    else kong--;
    	cout<<endl;
    }
    cout<<n-cnt;
	return 0;
}

//点关注不迷路,右上角求大拇指。
output example:
[PTA-PAT]中国大学MOOC-陈越、何钦铭-数据结构-起步能力自测题-自测-1 打印沙漏_第1张图片

你可能感兴趣的:(PTA-MOOC自测题)