酷代码 AI
菜单
服务商

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

以下是使用 C 语言解决此问题的代码: ```c #include <stdio.h> int main() { int n; char symbol; scanf("%d %c", &n, &symbol); int i, j, k, used = 0; for (i = 1; used + 2 * i * i - 1 <= n; i += 2) { for (j = 0; j < (i - 1) / 2; j++) { printf(" "); } for (j = 0; j < i; j++) { printf("%c", symbol); } printf("\n"); used += i; } i -= 4; for (; i >= 1; i -= 2) { for (j = 0; j < (i - 1) / 2; j++) { printf(" "); } for (j = 0; j < i; j++) { printf("%c", symbol); } printf("\n"); used += i; } printf("%d\n", n - used); return 0; } ``` [2024-11-16 21:41:53 | AI写代码神器 | 286点数解答]

相关提问
实用工具查看更多
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]
数独游戏 [娱乐类]
经典推箱子 [娱乐类]
AI摸鱼五子棋 [娱乐类]