.net 面试题之 输出 空 三角型
题目要求:C#控制台程序
输出一下图案的代码 n = 10
详细 分析 :
第一次 9 个空格 + 一个 * 计数器i =0 规律 :(n-i -1)空格 + * + (2* i-1)空格 + *
第二次 8 空格 + * + 一个空格 +一个*
第三次 7 空格 + * + 三个空格 + 一个*
第四次 6 空格 + * + 5 个空格 + 一个*
第五次 5 空格 + * + 7 个空格 + 一个*
第六次 4 空格 + * + 9 个空格 + 一个*
第七次 3 空格 + * + 11 个空格 +一个*
第八次 2 空格 + * + 13 个空格 +一个*
第九次 1 空格 + * + 15 个空格 +一个*
第十次 全是* 进行特殊处理
通过分析我们不难发现 不同次的 空格 个循环次数的关系
本想题目要求是C# 我用C 写的 我的VS 太慢了
C 的 代码
int n = 10; for(int i=0;i<n-1;i++) //循环 n-1 不是 n次 因为第 n 次 全是 * { //输入左边空格 for(int j=0;j<n-i-1;j++) { printf(" "); } printf("*"); //输出中间的空格 for(int k=0;k<2*i-1;k++) { printf(" "); } if(i>0) //判断 第一次不输出 * { printf("*"); } printf("\n"); } //最底下的* 和 空格全部打印出来 for(int d =0;d<n;d++) { printf("* "); } printf("\n");