#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