寒假编程总结1
一.本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印
#include<stdio.h> int main(){ int i,j,k,n,l=1,t; char c=' '; scanf("%d %c",&n,&c); while(l*l*2-1<=n){ l++; } l--; k=l; for(i=1;i<=k;i++){ for(j=1;j<i;j++){ printf(" "); } for(j=1;j<=2*l-1;j++){ printf("%c",c); } l--; printf("\n"); } t=k; l=2; for(i=2;i<=k;i++){ for(j=1;j<=t-i;j++){ printf(" "); } for(j=2*l-1;j>0;j--){ printf("%c",c); } printf("\n"); l++; } printf("%d\n",n-(2*t*t-1)); return 0; }
思路
先通过输入的符号个数得到上三角的行数
2.打印上三角:先打印空格,空格个数通过行号控制,再打印符号,符号的个数也通过行号控制,然后打印回车
3.下三角打印类似上三角,不过下三角的打印从第二行开始,下三角的第一行就是上三角的最后一行
4.得到剩余符号个数
通过吧代码用C++编译器进行编译,发现在此次编辑的代码第4行char c=" "错误应该是单引号,其次在26行中 : 位置错误 ,在第4行没有定义n
日期 | 这所花时间 | 代码行数 | 学到的知识点 | 目前的疑惑 |
3/4-3/9 | 两天 | 29 | 将文件导入 | 文件与代码结合的语句 |