请问第16题怎样用C语言输出这个图案?
3个回答
展开全部
这是课本上的课后题吧,只能用已经教过的知识做了……
一种是常规做法(依次输出每一行):函数{大循环A循环4次【小循环a1循环4次控制空格数(-1),小循环a2循环4次控制星号数(+2),每行都要回车】;大循环B循环3次【小循环b1循环3次控制空格数(+1),小循环b2循环3次控制星号数(-2),每行都要回车】}。
另一种是用二维数组的形式(以后才教的方法),由对称的头尾两行向中间赋值,递减空格递增星号,再按行输出数组。
看题意,找规律,想算法,打代码,多练习,常创新。
一种是常规做法(依次输出每一行):函数{大循环A循环4次【小循环a1循环4次控制空格数(-1),小循环a2循环4次控制星号数(+2),每行都要回车】;大循环B循环3次【小循环b1循环3次控制空格数(+1),小循环b2循环3次控制星号数(-2),每行都要回车】}。
另一种是用二维数组的形式(以后才教的方法),由对称的头尾两行向中间赋值,递减空格递增星号,再按行输出数组。
看题意,找规律,想算法,打代码,多练习,常创新。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
int main()
{
int row = 4;
int i = 0;
int j = 0;
for(i = 0; i < row; ++i)
{
for(j = 1; j < (row - i); ++j)
{
printf(" ");
}
for(j = 0; j < 2 * i + 1; ++j)
{
printf("*");
}
printf("\n");
}
for(i = row - 1; i >= 0; --i)
{
for(j = 0; j < (row - i - 1); ++j)
{
printf(" ");
}
for(j = 0; j < 2 * i + 1; ++j)
{
printf("*");
}
printf("\n");
}
}
int main()
{
int row = 4;
int i = 0;
int j = 0;
for(i = 0; i < row; ++i)
{
for(j = 1; j < (row - i); ++j)
{
printf(" ");
}
for(j = 0; j < 2 * i + 1; ++j)
{
printf("*");
}
printf("\n");
}
for(i = row - 1; i >= 0; --i)
{
for(j = 0; j < (row - i - 1); ++j)
{
printf(" ");
}
for(j = 0; j < 2 * i + 1; ++j)
{
printf("*");
}
printf("\n");
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
最简单的是直接打印,也可以用循环
追问
循环怎么写
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询