c题目6:打印九九乘法表,其中第四行不打印,倒序打印九九乘法表

每日小语:

时时自我克制,这是愚蠢的事,

因为你在毫无意义地耗尽自己。——让·保罗·萨特

分析题目:

1.打印九九乘法表:

这个之前python里也做过,可惜我那时候根本没有留下深刻印象,只能这次好好做来提高自己地印象了。

九九乘法表,必然要用到for循环等等啦。。。

2.第四行不打印:

这个好像之前没遇到过,我想第四行应该就是4乘,那么我只需要如果某一个变量==4时,不将它打印出来就好啦。

3.倒序

这个就很简单了。

第一遍自敲代码(打印九九乘法表):

#include <stdio.h>

int main() 
{
    int num;
    
    for(int i=1;i<10;i++)
    {
        for(int j=1;j<10;j++)
        {
            num=i*j;
            printf("%d*%d=%d ",i,j,num);
        }
    }
    return 0;
}
    

目前代码可以正常运行,第一遍已经可以敲出来了。可惜不知道如何分行,得细细思考一下了。

我们是不是可以加一行代码:如果i=j时,就换行!!!啊啊啊,我真的觉得可行欸。

理想很美好,现实很骨感,这个有点。。。。。再细细思考一下下。

嗷嗷┗|`O′|┛ 嗷~~,i!=j时print("\n")嘿嘿,我真是个大聪明。 大聪明噶。。。。。。。。

无语了,我不管了,我现在不想思考这个了,还是老样子吧。

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

还是得思考,我又想到了,如果i!=i呢

我想发疯怎么办。。。 

嘿嘿,实在写不出来,用gpt吧,。。。真的想不出来了。

gpt也不行,先把你晾一会,你太难了。

 好啦,找到问题了,鸣谢大佬帮助

问题

1.j<=i:之前有一个思维误区,就是我写的j小于等于9,这是不对的,会重复打印。

还是两个套在一起的for循环理解不当。

i的循环次数是控制行数

j的循环次数是控制每一行的个数

其实还是理解的不深

2.\t:\t 转义序列用于在输出中生成制表符,实现对齐效果。

最终代码

#include <stdio.h>

int main() 
{
    int num;
    
    for(int i=1;i<10;i++)
    {
        for(int j=1;j<=i;j++)
        {
            num=i*j;
            printf("%d*%d=%d\t ",i,j,num);
        }
        printf("\n");
    }
    return 0;
}
    
    

第二个小问题:让第四行消失

这个简单

#include <stdio.h>

int main() 
{
    int num;
    
    for(int i=1;i<10;i++)
    {
        for(int j=1;j<=i;j++)
        {
            num=i*j;
            if(i!=4)
            {
                printf("%d*%d=%d\t ",i,j,num);
            }
        }
        printf("\n");
    }
    return 0;
}
    
    

第三个小问题:倒序

目前是这样的

#include <stdio.h>

int main() 
{
    int num;
    
    for(int i=9;i>0;i--)
    {
        for(int j=9;j>=i;j--)
        {
            num=i*j;
            printf("%d*%d=%d\t ",i,j,num);
        }
        printf("\n");
    }
    return 0;
}
    
    

代码如上。

#include <stdio.h>

int main() 
{
    int num;
    
    for(int j=9;j>0;j--)
    {
        for(int i=9;i>=j;i--)
        {
            num=i*j;
            printf("%d*%d=%d\t ",j,i,num);
        }
        printf("\n");
    }
    return 0;
}
    
    

还是循环掌握的不够好,但今天时间有限,这些东西只能以后再慢慢体悟了 ,那么我想这道题可以结束了。

完结撒花花~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值