关于c++:AK-镂空三角形基础上机试题

把一个字符三角形掏空,就能节俭资料老本,加重分量,但要害是为了谋求另一种视觉效果。在设计的过程中,须要给出各种花纹的资料和大小尺寸的三角形样板,通过电脑长期做进去,以便看看成果。
输出
每行蕴含一个字符和一个整数n(0<n<41),不同的字符示意不同的花纹,整数n示意等腰三角形的高。显然其底边长为2n-1。如果遇到@字符,则示意所做进去的样板三角形曾经够了。
输入
每个样板三角形之间应空上一行,三角形的两头为空。显然行末没有多余的空格。
样例输出 Copy
X 2
A 7
@
样例输入 Copy(显示谬误,实为△型)
X
XXX

  A
 A A
A   A

A A
A A
A A
AAAAAAAAAAAAA
代码示例(本人写的,只能过平台,不完满)

//#include<iostream>
//#include<string>
//#include<string.h>
//#include<cstring>
//using namespace std;
//
//int main(){
//    int n = 0;
//    char ch;ww
//    while((ch = getchar()) != '@'){
//        scanf("%d",&n); //此处能够换为 scanf("%d%*c",&n);%*c跳过一个字符
//        getchar();//scanf需循环输出,需应用gechar()吃掉上一次输出后暂存在buffer外面的(\n)空格 
//        for(int i = 0; i < n - 1; i++){//管制输入字符的行数(不含最初一行) 
//            for(int j = i; j < n - 1; j++){ //管制左侧输入空格数 
//                printf(" ");
//            }
//            if(i == 0){//第一行输入一个ch并换行 
//                printf("%c\n",ch);
//                continue;
//            }else{//两头行输入 
//                printf("%c",ch);//输入一个ch; 
//                for(int k = 2 * i - 1; k > 0; k--){//输入两头的空格数 
//                    printf(" ");
//                }
//                printf("%c\n",ch);//输入左边的一个ch并换行 
//            }
//        }
//        for(int l = 2 * n - 1; l > 0; l--){//最初一行输入2*n - 1个ch 
//            printf("%c",ch);
//        }
//        printf("\n\n");//图形之间空一行 
//    }
//    return 0;
//}

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理