为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我这样只能输出第一排,而且它却显示我运行成功,任务完成?

for(i=9,j=1;i>=1;--i)
    {
        for(;i>=j;++j)
        {
            result=i*j;
            printf("%d*%d=%d",i,j,result);
            printf("  ");
        }
        printf("\n");
    }




正在回答

3 回答

为什么它只运行一行呢?因为运行完第一次后,j已变成了9,而i自减后变成8,而8<9不符合for(;i>=j;++j)的条件,要解决这个问题,只需重新把1赋给j,即for(j=1;i>=j;++j),然后九乘九倒序表就可以打出来了。

0 回复 有任何疑惑可以回复我~
#include <stdio.h>
int main() 
{ 
    // 定义相乘数字i,j以及结果result
    int i, j, result;
    /*
     * 使用for循环解决本题相对简单哦~
     * 小编偷偷的将源码放在任务“不会了怎么办”中了哦~
     * 小编希望童鞋们独立完成哦~
     */
     for(i=9;i>=1;i--)
     {
         for(j=1;j<=i;j++)
         {
             result=i*j;
             printf("%d*%d=%d\t",i,j,result=i*j);
         }
         printf("\n");
     }
    
    
    
    
    
    return 0;
}

这样即可

0 回复 有任何疑惑可以回复我~

最后面一个printf位置错了,改到上面就行了

#include <stdio.h>
int main()
{
   int i, j, result;
   for(i=9;i>=1;i--)
       {
           for(j=1;j<=i;j++)
           {
                result = i * j;
                printf("%d*%d=%d\t",i,j,result);
           }
            printf("\n");
      }

 return 0;

}


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么我这样只能输出第一排,而且它却显示我运行成功,任务完成?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信