每日小语:
时时自我克制,这是愚蠢的事,
因为你在毫无意义地耗尽自己。——让·保罗·萨特
分析题目:
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;
}
还是循环掌握的不够好,但今天时间有限,这些东西只能以后再慢慢体悟了 ,那么我想这道题可以结束了。
完结撒花花~