自測-1 列印沙漏(20 分)
阿新 • • 發佈:2019-01-06
本題吃了格式的虧,只需要輸入一行空格即可
關鍵求出2*n*n-1即可
#include<iostream> using namespace std; int main() { int line,x,y,sum; char c; scanf("%d %c",&x,&c); for(int i=1;;i++) { sum=2*i*i-1; if(sum>x) { line=i-1;break; } } int cnt=0; for(int i=line;i>0;i--) { for(int j=0;j<cnt;j++) printf(" "); for(int j=0;j<2*i-1;j++) printf("%c",c); printf("\n"); cnt++; } cnt=cnt-2; for(int i=2;i<=line;i++) { for(int j=0;j<cnt;j++) printf(" "); for(int j=0;j<2*i-1;j++) printf("%c",c); printf("\n"); cnt--; } y=x-(2*line*line-1); printf("%d",y); }