codeup----------10000577_contest

这篇博客包含了四个编程挑战,分别是输出梯形、Hello World for U的U形打印、等腰梯形的绘制以及沙漏图形的生成。每个问题都详细描述了输入输出要求,并给出了样例输入和输出。挑战涉及字符串处理和基本图形的字符渲染。
摘要由CSDN通过智能技术生成

问题 A: 输出梯形
[命题人 : 外部导入]
时间限制 : 1.000 sec 内存限制 : 32 MB

题目描述
输入一个高度h,输出一个高为h,上底边为h的梯形。

输入
一个整数h(1<=h<=1000)。

输出
h所对应的梯形。

样例输入 Copy
5
样例输出 Copy
*****
*******
*********



代码:

#include <iostream>
#include <cstring>
using namespace std;
int main() {
     int n,m;
     while(cin>>n){
     if(n>=1&&n<=1000){
     int count=n;
     int kg=n*2;
     for(int i=0;i<n;i++){
     	kg-=2;
     	for(int k=0;k<kg;k++){
     		cout<<" ";
		 }
		for(int j=0;j<count;j++){
			cout<<"*";
		}
		count+=2;
		if(i!=n-1)
		cout<<endl;
	 }
	 cout<<endl;
	 }	
	 }
     
     
}

效果图:
在这里插入图片描述
问题 B: Hello World for U
[命题人 : 外部导入]
时间限制 : 1.000 sec 内存限制 : 32 MB

题目描述
Given any string of N (>=5) characters, you are asked to form the characters into the shape of U. For example, “helloworld” can be printed as:

h d

e l

l r

lowo

That is, the characters must be printed in the original order, starting top-down from the left vertical line with n1 characters, then left to right along the bottom line with n2 characters, and finally bottom-up along the vertical line with n3 characters. And more, we would like U to be as squared as possible – that is, it must be satisfied that n1 = n3 = max { k| k <= n2 for all 3 <= n2 <= N } with n1 + n2 + n3 - 2 = N.

输入
Each input file contains one test case. Each case contains one string with no less than 5 and no more than 80 characters in a line. The string contains no white space.

输出
For each test case, print the input string in the shape of U as specified in the description.

样例输入 Copy
helloworld!
样例输出 Copy
h !
e d
l l
lowor
代码:

#include <iostream>
#include <cstring>
using namespace std;
int main() {
    string n;
	while(cin>>n){
		getchar();
		int len=n.length();
		int side=(len+2)/3;
		int mid=len-side*2;
		for(int i=0;i<side;i++){
		  if(i!=side-1){
		  	cout<<n[i];
			for(int j=0;j<mid;j++){
				cout<<" ";
			}
			cout<<n[len-i-1]<<endl;
		  }else{
		  	for(int t=i;t<mid+i+2;t++){
		  		cout<<n[t];
			  }
			  cout<<endl;
		  }
		}
	} 
}

效果图:
在这里插入图片描述
问题 C: 等腰梯形
[命题人 : 外部导入]
时间限制 : 1.000 sec 内存限制 : 32 MB

题目描述
请输入高度h,输入一个高为h,上底边长为h 的等腰梯形(例如h=4,图形如下)。





输入
输入第一行表示样例数m,接下来m行每行一个整数h,h不超过10。

输出
对应于m个case输出要求的等腰梯形。

样例输入 Copy
1
4
样例输出 Copy





代码:

#include <iostream>
#include <cstring>
using namespace std;
int main() {
    int n,t,m;
    while(cin>>t){
    	for(int m=0;m<t;m++){
    	cin>>n;
    	int kg=n-1;
    	int count=n;
    	for(int i=0;i<n;i++){
    	for(int j=0;j<kg;j++){
    			cout<<" ";
			}
		for(int j=0;j<count;j++){
		cout<<"*"; 
		}
    	for(int j=0;j<kg;j++){
    			cout<<" ";
		}
		cout<<endl;
		kg-=1;
		count+=2;
	}
	}   	
}
}

效果图:
在这里插入图片描述
问题 D: 沙漏图形 tri2str [1*+]
[命题人 : 外部导入]
时间限制 : 1.000 sec 内存限制 : 128 MB

题目描述
问题:输入n,输出正倒n层星号三角形。首行顶格,星号间有一空格,效果见样例
输入样例:
3
输出样例:



数据规模 1<= n <=50
代码:

#include <iostream>
#include <cstring>
using namespace std;
int main() {
    int n;
	while(cin>>n){
		int count=n;
		for(int i=0;i<n;i++){
		for(int t=0;t<i;t++)
				cout<<" ";
		for(int j=0;j<count;j++)
			cout<<"*"<<" ";
		count--;
		cout<<endl;	
		} 
		count=n-2;
		for(int i=1;i<n;i++){
			for(int j=0;j<count;j++)
			cout<<" ";
			for(int t=0;t<i+1;t++)
			cout<<"*"<<" ";
			count--;
			cout<<endl;
		}
   } 
}

效果图:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值