C语言打印下列图形(求大佬救救孩子吧)

 

#include<stdio.h>
int main() {
	int line;
	int mid,star,space;
	printf("请输入要打印的图形的行数:");
	scanf("%d",&line);
	//上半部分
	mid=line/2+1;
	for(int i=1;i<=mid;i++){
		star=i*2-1;
		space=line-star;
		//循环打印空格 
		for(int j=0;j<space;j++){
			printf(" ");
		}
		//循环打印* 
		for(int j=0;j<star;j++){
			printf("*");
		}
		printf("\n");
	} 
	//下半部分 
	for(int i=mid-1;i>0;i--){
		star=i*2-1;
		space=line-star;
		//循环打印空格 
		for(int j=0;j<space;j++){
			printf(" ");
		}
		//循环打印* 
		for(int j=0;j<star;j++){
			printf("*");
		}
		printf("\n");
	} 
	return 0;
}

代码如上,万望采纳。

好像不太规律啊,不是等差数列,确定就是这些*号吗

#define _CRT_SECURE_NO_WARNINGS 1

#include<stdio.h>

int main()
{
    printf("      *\n");
    printf("    ***\n");
    printf("  *****\n");
    printf("*******\n");
    printf("  *****\n");
    printf("    ***\n");
    printf("      *\n");
    system("pause");
    return 0;
}

希望对你有帮助,如有帮助,望采纳,谢谢

用2维数组打印

// 训练1.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>

int n[7][8]{
	  {0,0,0,0,0,0,0,1},
	  {0,0,0,0,0,1,1,1},
	  {0,0,1,1,1,1,1,1},
	  {1,1,1,1,1,1,1,1},
	  {0,0,1,1,1,1,1,1},
	  {0,0,0,0,0,1,1,1},
	  {0,0,0,0,0,0,0,1}
};

int main()
{
	for (int i = 0; i < 7; i++)
	{
		for (int j = 0; j < 8; j++)
		{
			switch (n[i][j])
			{
			case 1:
				printf("* ");
				break;
			case 0:
				printf("  ");
				break;
			default:
				break;
			}
		}printf("\n");
	}

	system("pause");
	return 0;
}

 

哦豁~

 

您的问题已经有小伙伴解答了,请点击【采纳】按钮,采纳帮您提供解决思路的答案,给回答的人一些鼓励哦~~

ps:开通问答VIP,享受5次/月 有问必答服务,了解详情↓↓↓

【电脑端】戳>>>  https://vip.csdn.net/askvip?utm_source=1146287632
【APP 】  戳>>>  https://mall.csdn.net/item/52471?utm_source=1146287632