求3-9编程练习

求3-9编程练习

我想请教一下3-9的编程练习的代码是怎么写的,我只能把它用NSLog打印出来,但是不能排版,像1*1=1,2*2=4这样!可以告诉我原理和这个练习题的代码吗!

正在回答

登陆购买课程后可参与讨论,去登陆

4回答

通过for循环的嵌套来实现啊。首先最外层可以定义一个for循环从1~9,然后再for循环中在添加一个for循环从1~i,在第二个for循环中输出计算表达式,在第一个for循环中控制换行,代码如下所示:

for(int i= 1; i<=9; i++){
    for(int j = 1;j<=i;j++){
        NSLog(@"%d*%d=%d",i,j,i*j);
    }
    NSLog(@" \n");
}


  • 晓小丶L 提问者 #1
    非常感谢!谢谢
    2017-07-12 22:34:20
  • 柏塔 #2
    老师,我在迁入的for循环里的条件判断中写的是 j>=1 && j<=9;现在输出的结果是1*1=1 1*2=2 .....,然后换行之后就是2*1=2 2*2=4....,再换行之后又是3*1=3 3*2=6;这是为什么啊?我如果只设定判断为j>=1,那么输出的结果是1*1=1 2*1=2 3*1=3 ..... 9*1=9 然后就没有了,而且每个结果之间都换行了。
    2018-03-02 22:38:19
  • Tender10 回复 柏塔 #3
    您好,嵌套for循环里的条件如果是 j>=1 && j<=9;那你岂不是每次都要计算到9,即1*1...1*9,因为你的条件每次都需要到9才结束循环。第二个问题,你应该是写成了j<=1造成的结果吧。
    2018-03-04 14:20:15
慕圣7542608 2017-09-22 09:53:34

请问老师,为什么      “NSLog(@"%d*%d=%d",i,j,i*j);”这段代码中,如果写成   NSLog(@"%d*%d=%d",i*j);  不可以呢?

  • 因为一个%d得对应一个要输出的数据啊,%d对应了i*j,那么还有两个%d对应谁呢,对吧,前面几个%d后面就对应几个数据。
    2017-09-22 16:02:37
Tender10 2017-07-12 22:48:35

这是单独拿出来换行,其实课程中很多在末尾有一个\n作用都是一样的。如果后面有什么问题也可以在问答里及时提问,这样也能尽快帮助你解决问题哦!

提问者 晓小丶L 2017-07-12 22:35:26

主要是我不知道 \n是换行符,主要是这个卡了我好久,希望以后有这样的题目,前面课程有教到我们!

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
iOS入门:基础语法与常用控件
  • 参与学习       1337    人
  • 提交作业       712    份
  • 解答问题       1878    个

很多人都在疑问没有基础该怎么学习iOS开发?不用担心,本路径采用游戏关卡式的教学模式,并且以经典OC与最新Swift双重结合的教学内容,帮助大家快速掌握两种iOS开发语言基础,去掉“零”标签。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师