乐趣区

关于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;
//}

退出移动版