当前位置: 代码迷 >> 综合 >> codeup----------10000577_contest
  详细解决方案

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

热度:43   发布时间:2024-02-20 12:58:00.0

问题 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;}} 
}

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