c语言输出三角形

用c语言实现这个数字三角形的输出?不会啊求助!... 用c语言实现这个数字三角形的输出?不会啊 求助! 展开
 我来答
天水室内装饰装修
2018-06-01 · TA获得超过2.1万个赞
知道小有建树答主
回答量:944
采纳率:96%
帮助的人:35.8万
展开全部

输出步骤如下:

  1. //输入正整数n<=20输出一个n层的倒三角形.例如n=5则输出如下所示

  2. // 解题思路 每层是2n-1个* 5-i个空格 双层for循环

  3. /*

  4. #########

  5. #######

  6. #####

  7. ###

  8. #

  9. */

  10. #include<stdio.h>

  11. int main(){

  12. int n;

  13. scanf("%d",&n);

  14. for(int i=n;i>0;i--){

  15. for(int j=1;j<=2*i-1;j++){

  16. printf("#");

  17. }

  18. printf("\n");

  19. for(int j=0;j<=5-i;j++){

  20. printf(" ");

  21. }

  22. }

  23. return 0;

拓展资料:

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

blueskyzh
2014-12-19 · TA获得超过1289个赞
知道小有建树答主
回答量:450
采纳率:100%
帮助的人:184万
展开全部
这个是杨辉三角形,有规律的,两连全是,中间每个数字是上面两个数字之和。
解法太多,下面是六种解法,自己参考
http://blog.sina.com.cn/s/blog_520db5ec01009c1c.html
追问
这个不是杨辉三角形吧?
追答
是不太一样啊,但可以借鉴杨光三解的程序,这个类似杨光三解,只是变化了一下。程序也可以相应变化一下。

两边全是1,
下面的值除了中间的值,都是上面两肩值的和,中间值例外,是自己头顶值的2倍。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
星月小木木
2015-12-16 · TA获得超过3.2万个赞
知道大有可为答主
回答量:2.4万
采纳率:0%
帮助的人:9882万
展开全部
#include "stdio.h"

int main(void)
{
int i, j, k;

for (i = 1; i <= 4; i++)
{
for (k = i; k >= 1; k--)
printf("*");
for (j = 4 - i; j >= 1; j--)
printf(" ");
printf("\n");
}//左对齐
printf("左对齐\n");

for (i = 3; i >= 0; i--)
{
for (k = i; k >= 1; k--)
printf(" ");
for (j = 1; j <= 4 - i; j++)
printf("*");
printf("\n");
}//右对齐
printf("右对齐\n");

for (i = 4; i >= 1; i--)
{
for (k = i; k >= 1; k--)
printf("*");
for (j = 0; j <= 3; j++)
printf(" ");
printf("\n");
}//倒左对齐
printf("倒左对齐\n");

for (i = 4; i >= 1; i--)
{
for (k = 4 - i; k >= 1; k--)
printf(" ");
for (j = i; j >= 1; j--)
printf("*");
printf("\n");
}//倒右对齐
printf("倒右对齐\n");

return 1;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
漫步者1304
2014-12-19 · TA获得超过172个赞
知道小有建树答主
回答量:175
采纳率:0%
帮助的人:78.9万
展开全部
#include<stdio.h>
#define num 4
int main() {
int a[num][num], j, k, n;
for(j = 0; j < num; ++j){
for(k = 0; k <=j; ++k) {
if(k == 0) {
a[j][k] = 1;
}
else if(k == j) {
a[j][k] = 2 * a[j - 1][k - 1];
}
else {
a[j][k] = a[j - 1][k -1] + a[j - 1][k];
}
}
}

for(j = 0; j < num; ++j){
n = num - 1 - j;
while(n--)
printf(" ");
for(k = 0; k <j; ++k) {
printf("%d", a[j][k]);
}
for(k = j; k >= 0; --k) {
printf("%d", a[j][k]);
}
printf("\n");
}

return 0;
}
数字间空格我不弄了
追问
谢谢啦!我懂啦..    
另外数字键的空格只要 ‘%d’后边敲几个空格就ok啦!printf("%d ", a[j][k]);
追答
还可以优化
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式