Vicmouth 发表于 2020-4-4 19:35:13

又是对题目迷茫的一天……

如何才能输出图中的亚子nia{:10_266:} ……

BngThea 发表于 2020-4-4 19:58:23

两层循环可以实现

墨羽岚 发表于 2020-4-4 20:01:00

两个循环,一个控制数字和行数,一个控制数量

sunrise085 发表于 2020-4-4 20:11:45

昨天的帖子和这个很像啊!
一点也不想思考么?
那就给你写一个吧
#include <stdio.h>
intmain()
{
    int i,j,k;
    for(i=1;i<=9;i++){
      if(i<=5){
            for (j=0;j<5-i;j++)          //输出前面的空格
                printf(" ");
            for(j=0;j<2*i-1;j++)         //输出数字
                printf("%d",i);
                }
      else{
            for (j=0;j<i-5;j++)          //输出前面的空格
                printf(" ");
            for(j=0;j<2*(9-i)+1;j++)         //输出数字
                printf("%d",i);
                }
      printf("\n");                   //回车换行,准备打印下一行
    }
    return 0;
}

Vicmouth 发表于 2020-4-4 20:39:57

sunrise085 发表于 2020-4-4 20:11
昨天的帖子和这个很像啊!
一点也不想思考么?
那就给你写一个吧

蟹蟹解答啦,没有啦,我昨天那个自己写的时候输出的就是这样一个菱形,然后和题目的两个三角不一样,然后今天这个我是没有想到怎么输出这样的数字{:10_266:}

wp231957 发表于 2020-4-4 21:07:20

sunrise085 发表于 2020-4-4 20:11
昨天的帖子和这个很像啊!
一点也不想思考么?
那就给你写一个吧

代码行数多哈哈
https://fishc.com.cn/thread-163935-1-1.html

sunrise085 发表于 2020-4-4 21:15:36

wp231957 发表于 2020-4-4 21:07
代码行数多哈哈
https://fishc.com.cn/thread-163935-1-1.html

是的。
人家用的是C语言。

wp231957 发表于 2020-4-4 21:18:04

sunrise085 发表于 2020-4-4 21:15
是的。
人家用的是C语言。

c也一样啊,可以把else后面的并到前面,就会省大约一半的代码,不过楼主估计会懵

sunrise085 发表于 2020-4-4 21:42:53

wp231957 发表于 2020-4-4 21:18
c也一样啊,可以把else后面的并到前面,就会省大约一半的代码,不过楼主估计会懵

当然可以啦~
这个写法楼主都想不出来,估计合并后,楼主更懵了。
#include <stdio.h>
intmain()
{
    int i,j,k;
    for(i=1;i<=9;i++){
      for (j=0;j<abs(5-i);j++)          //输出前面的空格
            printf(" ");
      for(j=0;j<(9-2*abs(5-i));j++)         //输出数字
            printf("%d",i);      
      printf("\n");                   //回车换行,准备打印下一行
    }
    return 0;
}
页: [1]
查看完整版本: 又是对题目迷茫的一天……