#include<stdio.h> #include<math.h> int main() { int n;//符号数 char c;//符号 scanf("%d %c",&n,&c); int x=(int)sqrt((n+1)/2);//求出沙漏的层数 int remain=n-2xx+1;//剩余符号数 for(int i=0;i<x;i++) { for(int j=0;j<i;j++)//输出左侧空格 { printf(" "); } for(int j=0;j<2x-1-2i;j++)//输出符号 { printf("%c",c); } printf("\n");//输出换行符 } for(int i=x-2;i>=0;i--) { for(int j=0;j<i;j++)//输出左侧空格 { printf(" "); } for(int j=0;j<2x-1-2i;j++)//输出符号 { printf("%c",c); } printf("\n");//输出换行符 } printf("%d",remain); return 0;

写个C语言程序把给定的符号打印成沙漏的形状。例如给定17个要求按下列格式打印 所谓沙漏形状是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1再从小到大顺序递增;首尾符号数相等。给定任意N个符号不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。输入格式输入在一行给出1个正整数N≤1000和一个符号中间以空格分隔。输出格式首先打印出由给定符号

原文地址: https://www.cveoy.top/t/topic/hkRT 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录