求大神指點 為什么輸出來的不完整
#include <stdio.h>
int main()?
{?
? ? // 定義相乘數字i,j以及結果result
? ? int i, j, result;
? ? /*
? ? ?* 使用for循環解決本題相對簡單哦~
? ? ?* 小編偷偷的將源碼放在任務“不會了怎么辦”中了哦~
? ? ?* 小編希望童鞋們獨立完成哦~
? ? ?*/
? ? for(i=9,j=1;j<=i;i--)
? ? {
? ? ? ?for(j=1,i=9;j<=i;j++)
? ? ? ? {
? ? ? ? ? ? result=i*j;
? ? ? ? ? ? printf("%d*%d=%d\t",i,j,result);
? ? ? ? }?
? ? ? ? printf("%d*%d=%d\n",i,j,result);
? ? }
?
? ? return 0;
}
2016-09-11
你的代碼看上去邏輯十分的混亂,i代表*號前邊的數字,j代表*號后邊的數字,result代表他們相乘的結果,一行一行的看,先分析第一行,你可以看到第一行i=9不變,第二行i=8,i的最后一行等于1,每一行的j逐漸增大,j的步值為1,且j的值最大不超過i,所以j<=i;這樣可以使用一個外部循環描述i的變化,for(i=9;i>=0;i--),再嵌套一個走循環,實現J的邏輯for(j=1;j<=i;j++),外部循環執行一次,子循環需要全部執行完才能跳出循環再執行第二次的外部循環,依次類推,即可實現這個效果的邏輯,代碼如下:
如果幫到你,請采納,謝謝?。?!
2016-09-06
你代碼中的for循環i和j弄錯了
2016-09-06
for(i=9;i>=1;i--)
? ? ?{
? ? ? ? ?for(j=1;j<=i;j++)
? ? ? ? ?{
? ? ? ? ? ? ?printf("%d*%d=%d",i,j,i*j);
? ? ? ? ? ? ?printf(" ?");
? ? ? ? ?}
? ? ?}