鱼C论坛

 找回密码
 立即注册
查看: 1303|回复: 2

[已解决]看看这个

[复制链接]
发表于 2023-12-3 21:22:42 | 显示全部楼层 |阅读模式
10鱼币
任务描述
输入正整数N和字符C,输出(2*N-1)行如下规律的字符图形,例如当输入:“4 *”的时候,输出:
*
***
******
********
******
***
*
输入格式:
若干行,每行一组数据,为一个整数和一个字符,之间仅有一个空格分隔。

输出格式:
按要求输出每组字符图形,每组输出之间有一个空行。

输入样例:
1 -
2 +
3 #
4 %
输出样例:
-
+
+++
+
#
###
#####
###
#
%
%%%
%%%%%
%%%%%%%
%%%%%
%%%
%
麻烦用C语言写,要是能加上注释就更好了,谢谢
最佳答案
2023-12-3 21:22:43
代码实现如下
  1. #include <stdio.h>
  2. #include <string.h>

  3. int main(int argc, char const *argv[])
  4. {
  5.     int clicks = 0;
  6.     char symbol;
  7.     scanf("%d %c",&clicks, &symbol);
  8.     while(getchar()!='\n');     //清空输入缓存区
  9.     //当输入的行数小于等于零时退出
  10.     while (clicks > 0)
  11.     {
  12.         //上半部分打印
  13.         for (int i = 0; i < clicks; i++)
  14.         {
  15.             for (int j = 0; j < 1+i*2; j++)
  16.             {
  17.                 printf("%c ",symbol);
  18.             }
  19.             printf("\n");
  20.         }
  21.         //下半部分打印
  22.         for (int i = 0; i < clicks-1; i++)
  23.         {
  24.             for (int j = 0; j < ((2*clicks-1)-(i+1)*2); j++)
  25.             {
  26.                 printf("%c ",symbol);
  27.             }
  28.             printf("\n");
  29.         }
  30.         //再次输入
  31.         scanf("%d %c",&clicks, &symbol);
  32.         while(getchar()!='\n');
  33.     }
  34.    
  35.     return 0;
  36. }
复制代码

最佳答案

查看完整内容

代码实现如下
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-12-3 21:22:43 | 显示全部楼层    本楼为最佳答案   
代码实现如下
  1. #include <stdio.h>
  2. #include <string.h>

  3. int main(int argc, char const *argv[])
  4. {
  5.     int clicks = 0;
  6.     char symbol;
  7.     scanf("%d %c",&clicks, &symbol);
  8.     while(getchar()!='\n');     //清空输入缓存区
  9.     //当输入的行数小于等于零时退出
  10.     while (clicks > 0)
  11.     {
  12.         //上半部分打印
  13.         for (int i = 0; i < clicks; i++)
  14.         {
  15.             for (int j = 0; j < 1+i*2; j++)
  16.             {
  17.                 printf("%c ",symbol);
  18.             }
  19.             printf("\n");
  20.         }
  21.         //下半部分打印
  22.         for (int i = 0; i < clicks-1; i++)
  23.         {
  24.             for (int j = 0; j < ((2*clicks-1)-(i+1)*2); j++)
  25.             {
  26.                 printf("%c ",symbol);
  27.             }
  28.             printf("\n");
  29.         }
  30.         //再次输入
  31.         scanf("%d %c",&clicks, &symbol);
  32.         while(getchar()!='\n');
  33.     }
  34.    
  35.     return 0;
  36. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-12-3 21:23:02 | 显示全部楼层
以下是使用C语言编写的程序,用于实现给定输入要求的字符图形输出:
  1. #include <stdio.h>
  2. int main()
  3. {
  4.     int N; // 存储输入的正整数N
  5.     char C; // 存储输入的字符C
  6.     // 循环读取每一组数据,直到文件结尾
  7.     while (scanf("%d %c", &N, &C) != EOF) {
  8.         // 输出上半部分图形
  9.         for (int i = 1; i <= N; i++) {
  10.             // 输出空格
  11.             for (int j = 1; j <= N - i; j++) {
  12.                 printf(" ");
  13.             }
  14.             // 输出字符
  15.             for (int j = 1; j <= 2 * i - 1; j++) {
  16.                 printf("%c", C);
  17.             }
  18.             printf("\n");
  19.         }
  20.         // 输出中间行
  21.         for (int i = 1; i <= 2 * N - 1; i++) {
  22.             printf("%c", C);
  23.         }
  24.         printf("\n");
  25.         // 输出下半部分图形
  26.         for (int i = N; i >= 1; i--) {
  27.             // 输出空格
  28.             for (int j = 1; j <= N - i; j++) {
  29.                 printf(" ");
  30.             }
  31.             // 输出字符
  32.             for (int j = 1; j <= 2 * i - 1; j++) {
  33.                 printf("%c", C);
  34.             }
  35.             printf("\n");
  36.         }
  37.         printf("\n"); // 输出空行
  38.     }
  39.     return 0;
  40. }
复制代码

代码的思路是根据题目要求分别输出上半部分图形、中间行和下半部分图形。使用嵌套的循环控制字符的输出,并在合适的位置打印空格。每组输出之间使用`printf("\n")`打印一个空行。

注释已经添加在代码中,帮助理解代码的功能和实现思路。希望能帮到您!

以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-20 01:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表