精华内容
下载资源
问答
  • C语言打印菱形
    2022-02-25 20:47:10

    方法:利用循环,先打印上面,第一行打印一个,第二行两个,以此类推,找出通式2*i-1;其次为让其保持菱形形状,在*符合之前依次打印空格,第一行三个空格,第二行二个,以此类推,找出通式5-i;

    之后在打印下面的部分,与上面部分相似,这样就可以打印出菱形。

    int main()
    {
    	int i = 0, j = 0;
    	for (i = 1; i <= 5; i++)
    
    	{
    		for (int k = 1; k <=5 - i; k++)
    		{
    			printf(" ");
    		}
    		for (j = 1; j <= 2 * i - 1; j++)
    		{
    			printf("*");
    			
    		}
    		printf("\n");
    	}
    
      
    	for (i = 1; i <= 5; i++)
    
    	{
    		for (int k = 1; k <= i-1; k++)
    		{
    			printf(" ");
    		}
    		for (j = 1; j <= 11-2*i; j++)
    		{
    			printf("*");
    
    		}
    		printf("\n");
    	}
    }

    更多相关内容
  • c语言打印菱形

    2021-04-27 03:33:12
    c语言打印菱形C语言是一门面向过程的计算机编程语言,在初学中我们都是以命令行的方式运行c程序,下面看看如何编写一个c程序,在命令行中输出菱形吧。推荐课程:C语言教程源代码为:#includevoid main(){int n = 6;...

    5ffce420db25b02cdab39113660c0064.png

    c语言打印菱形

    C语言是一门面向过程的计算机编程语言,在初学中我们都是以命令行的方式运行c程序,下面看看如何编写一个c程序,在命令行中输出菱形吧。

    推荐课程:C语言教程

    源代码为:#include

    void main()

    {

    int n = 6;

    int i, a, b;

    //前4行.上半部分

    for(i = 1; i <= n; i++)//控制行数

    {

    for( a = n - 1; a >= i; a--)//打印空格

    {

    printf(" ");

    }

    for( b = 1;b <= 2*i-1; b++)//打印*

    {

    printf("*");

    }

    printf("\n");

    }

    //后3行,下半部分

    for( i = n-1;i >= 1;i--)

    {

    for( a = i;a <= n-1; a++)

    {

    printf(" ");

    }

    for( b = 1;b <= 2*i-1; b++)

    {

    printf("*");

    }

    printf("\n");

    }

    }

    此程序中值得注意的地方

    这个程序的源代码,主要是运用了for语句的循环嵌套。for语句的一般形式为:for(循环变量赋初值;循环条件;循环变量增值) {语句}

    当一或二条件只是一个分号代表:此条件一直为真,一直成立!

    c语言格式

    程序文件有:源程序文件(后缀为 .c)、目标文件( 后缀为 .obj)、可执行文件(后缀为 .exe),当后缀名错误时,则程序不能执行。平常我们 写的代码就是源程序文件,所以保存时用 .c ,程序会自动 生成目标文件 .obj ,再到执行文件 .exe .然后执行得到结果。

    展开全文
  • c语言打印菱形图案_small_planet的博客-CSDN博客_打印菱形图案c语言 首先感谢上面的大佬给我的启示,本文是在上面大佬的版本下进行的优化。 在屏幕上输出以下图案: * *** ***** ******* ********* *********...

    c语言打印菱形图案_small_planet的博客-CSDN博客_打印菱形图案c语言

    首先感谢上面的大佬给我的启示,本文是在上面大佬的版本下进行的优化。

    在屏幕上输出以下图案:
          *
         ***
        *****
       *******
      *********
     ***********
    *************
     ***********
      *********
       *******
        *****
         ***
          *

    如题,我们要分析题目包含了几个元素,以及需要的方式,本题中只需要循环和控制即可,首先是打印菱形 ,我们需要输入奇数行(因为偶数行的输入会导致不对称,无法打印),分上下两部分分析,我们需要一个变量n描述输入的行数,一个变量i描述当前的打印中的行数,一个变量j描述空格的数量,一个变量k描述“*”的数量,最后,一个变量m描述中间的行数,现在可以开始编码了。

    #define _CRT_SECURE_NO_WARNINGS
    #include<stdio.h> 
    int main()
    {
    	int n, i, m, j, k;//n为输入的总行数,i为循环时表示正在第几行,m表示中间行,j表示“ ”的数量,k表示“*”的数量
    	scanf("%d", &n);
    	m = (n + 1) / 2;
    	for (i = 0; i <= n; i++)
    	{
    		if (i <= m)//分上下两部分讨论
    		{
    			for (j = 0 ; j <m - i;j++)//上半部分每一行需要打印的空格数为m-i(另外半边的空格是不需要打印的!为中间行减当前行数,规律为每次增1,故这样使用)
    			{
    				printf(" ");
    			}//打印完空格后跳出循环进入到打印“*”的循环中
    			for (k = 0; k <2 * i - 1 ; k++)//上半部分每一行需打印的“*”,可把看做是数列求解通项
    			{
    				printf("*");
    			}
    
    		}
    		else//现在讨论下半部分
    		{
    			for (j =0; j < i - m; j++)
    				printf(" ");
    			for (k =  0; k <(n-(i-m)*2); k++)//此处核心思想是用中间行的总打印数减去两边的空格数(右边的空格没打印但是物理上存在)
    				printf("*");
    		}
    		printf("\n");//别忘了换行
        }
    	return 0;
    }

    以上是输出结果 (运行环境为VS2019)

    如果喜欢的话请点个赞吧!

    展开全文
  • C语言打印菱形图案

    2022-01-16 16:33:04
    解决这个问题的方法就是找规律,可以观察到每一行无非就是空格和*号组成,先打印空格,再打印*号就可以了。 假设菱形上半部分为n行,菱形一共有...//打印菱形图案 #include <stdio.h> #include <stdlib.h&g

    解决这个问题的方法就是找规律,可以观察到每一行由空格和*号组成,先打印空格,再打印*号就可以了。

    假设菱形上半部分为n行,菱形一共有(2*n+1)行,每一行星星数为stars,最中间一行的星星数为max_stars=2*n+1,我观察到的规律为每一行先打印(max_stars-stars)/2个空格,再打印stars个星星。规律不唯一,只有找到了正确的规律代码就好写了。

    代码如下:

    //打印菱形图案
    #include <stdio.h>
    #include <stdlib.h>

    int main(void)
    {
        int n;
        scanf("%d",&n);
        int i,j;
        int max_stars=2*n+1;   //中间的星星数
        int stars;          //每一行的星星数,每行星星数相差2
        //打印前面n行
        for(i=1,stars=1;i<=n;i++)
        {
            for(j=1;j<=(max_stars-stars)/2;j++)
                printf(" ");
            for(j=1;j<=stars;j++)
                printf("*");
            putchar('\n');
            stars=stars+2;
        }
        //打印中间一行
        for(i=1;i<=max_stars;i++)
            printf("*");
        putchar('\n');
        //打印后面n行
        for(i=1,stars=max_stars-2;i<=n;i++)
        {
            for(j=1;j<=(max_stars-stars)/2;j++)
            {
                printf(" ");
            }
            for(j=1;j<=stars;j++)
                printf("*");

            putchar('\n');
            stars=stars-2;
        }

        return 0;
    }
     

    展开全文
  • 今天又看了下刚学C语言时的一些程序,其中有一个打印菱形的。其目的是程序接收一个整型数字,比方说4,则打印出下面的图案: 虽然知道整体思路,但还是花了十几分钟才把代码写好。(可能是思路不明确,没有思考好流程...
  • #include "stdio.h" void main() { int i,j,k; for(i=1;i {for(j=1;...菱形 * *** ***** ******* ***** *** *#include "stdio.h" void main() { int i,j,k; for(i=1;i { for(j=1;j for(k=1;k pri...
  • C语言打印菱形图案

    千次阅读 2021-07-30 17:32:23
    /*本题要求编写程序,打印一个高度为n的、由“*”组成的正菱形图案。 输入格式: 输入在一行中给出一个正的奇数n。 输出格式: 输出由n行星号“*”组成的菱形,如样例所示。每个星号后跟一个空格。 * * * * * *...
  • printf("---------开始打印符号---------\n"); printf("请输入数字:"); scanf("%d", &n); printf("方法一\n"); printstar1(n); printf("方法二\n"); printstar2(n); system("pause"); printf("---------结束打印...
  • 关于C语言打印菱形的经典问题 前言 在学习循环时会遇到关于菱形的问题,本人将根据初学者的思维帮助大家一步一步解决经典的菱形打印问题。 提示:以下是本篇文章正文内容,下面案例可供参考 一、首先我们要思考菱形...
  • C语言打印菱形

    千次阅读 2020-04-02 17:51:20
    使用C语言打印菱形 对于一个C语言新手而言, 打印菱形是一件不太容易的事儿. 对我这样的新手而言当然也是比较困难的. 因此, 在这里, 对于这个经典的C语言题我想做一个总结: 对于菱形而言, 我们可以看出, 它是由左边...
  • 刚接触c语言时,听到 打印菱形” 这种算法题目,就不禁背后一凉。双层循环,层数与个数的数学关联,代码的具体实现,无一不是当时的我们需要细细思索的问题。从现在来看,大部分老手写个这样的题,个把分钟就能...
  • c语言 打印菱形

    2020-02-03 20:28:49
    #include<stdio.h> int main() {  int n,i,j;  scanf("%d",&n);  for(i=0;i<n;i++)  {   for(j=0;j<n-1-i;j++)   printf(" “);......

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,065
精华内容 1,626
关键字:

c语言打印菱形

友情链接: MAPGIS-geological.rar