当前位置: 首页 > 编程笔记 >

C程序使用for循环在心形图案内打印名称。

权弘新
2023-03-14
本文向大家介绍C程序使用for循环在心形图案内打印名称。,包括了C程序使用for循环在心形图案内打印名称。的使用技巧和注意事项,需要的朋友参考一下

问题

编写一个程序,使用for循环在中心打印名称为心形的图案。

解决方案

用户必须输入应该打印在中间的名称以及必须打印星标的行数。

算法

请参考下面给出的算法,以通过使用for循环以心形图案打印姓名。

步骤1-声明变量

步骤2-在运行时读取一个名称,该名称应打印在中间。

步骤3-读取行数。

步骤4-查找名称的长度。

步骤5-打印心的上部。

步骤6-打印心的下部。

步骤7-在屏幕上打印名称。

示例

以下是C程序通过使用for循环以心脏模式打印名称-

#include <stdio.h>
#include <string.h>
int main(){
   int i, j, n;
   char name[50];
   int len;
   printf("输入你的名字: ");
   gets(name);
   printf("输入行数: ");
   scanf("%d", &n);
   len = strlen(name);
   // 在星星上打印心形的上半部分
   for(i=n/2; i<=n; i+=2){
      for(j=1; j<n-i; j+=2){
         printf(" ");
      }
      for(j=1; j<=i; j++){
         printf("*");
      }
      for(j=1; j<=n-i; j++){
         printf(" ");
      }
      for(j=1; j<=i; j++){
         printf("*");
      }
      printf("\n");
   }
   // 用星号打印下部三角形部分
   for(i=n; i>=1; i--){
      for(j=i; j<n; j++){
         printf(" ");
      }
      // 在屏幕上打印名称
      if(i == n){
         for(j=1; j<=(n * 2-len)/2; j++){
            printf("*");
         }
         printf("%s", name);
         for(j=1; j<(n*2-len)/2; j++){
            printf("*");
         }
      }else{
         for(j=1; j<=(i*2)-1; j++){
            printf("*");
         }
      }
      printf("\n");
   }
   return 0;
}

输出结果

执行以上程序后,将产生以下输出-

输入你的名字: Nhooo       cOm
输入行数: 10
      ***** *****
    ******* *******
  ********* *********
   ** Nhooo       cOm*
   *****************
    ***************
     *************
      ***********
       *********
        *******
         *****
          ***
           *
 类似资料:
  • 需要一些专家的建议。首先,这里是我的代码: 我的问题是:当我输入一个用户号码如“3”时,提示我的代码只打印一个__当我希望它打印指定的号码。我无论如何也想不出来。 我是英语专业的,所以这不是我的强项:(形状应该是菱形的。)

  • 问题内容: 我想遍历“节日” 的 ArrayList 并使用 get 方法获取其信息,并打印出其所有值。由于某些原因,当我使用此代码时,它将始终选择第“ 0”个值,而不增加循环。 如果我将值硬编码为“ get(1)”,它将获得正确的值,因此我的问题显然是语法。 问题答案: 造成具体问题的原因是,您将灰心丧气的旧式_脚本_和其后继EL混合在一起。它们不共享相同的变量范围。在中不可用 _scriptl

  • 我试图在for循环中获得for循环,因此输出如下: 我希望输出显示一个正方形 我不知道它为什么不这样做。下面是我的代码:

  • 主要内容:for循环,嵌套循环,无限循环在某些情况下,我们可能需要重复执行某些代码,这时就需要用到 C# 中的循环语句,C# 中支持 for 循环、foreach 循环、while 循环和 do while 循环等循环语句,本节我们主要来介绍一下 C# 中的 for 循环。 for循环 使用 for 循环可以重复执行一部分代码,而且重复的次数是可以设定的,其语法格式如下所示: for(初始化语句; 判断条件; 迭代器){      //

  • C++ 循环 for 循环允许您编写一个执行特定次数的循环的重复控制结构。 语法 C++ 中 for 循环的语法: for ( init; condition; increment ) { statement(s); } 下面是 for 循环的控制流: init 会首先被执行,且只会执行一次。这一步允许您声明并初始化任何循环控制变量。您也可以不在这里写任何语句,只要有一个分号出现即可。

  • 您能像这样在JSX中使用循环吗? 或者更确切地说,像这样编写的最佳方法是什么?