[iOS]Objective-C中使用for循环打印输出九九乘法表
2017-04-04 19:55
856 查看
先来看效果图
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
Program ended with exit code: 0
这是我在初学iOS时碰到的第一个问题,当时上网查询了也感觉不尽如人意,毕竟网上的答案不一定符合自Objective-C的语法。
其中我在知乎上看到的一个相关回答也是令我这个初学者笑喷,当然也知道作者是在恶搞,但也确实给了我一种放松心情的感觉。
在此贴上,
在这附上原文链接,该篇个人感觉还是很开阔思路的:如何用一个循环语句输出九九乘法表——知乎
那么闲话不多说,说说我这个初学者的愚见 for (int a = 1,b=1;b <= 9;a++){
NSLog(@"%d*%d=%d ",a,b,a*b);
}
条件初始化:for循环下定义两个变量,a和b的值初始值均为1;
条件判断:限制b的最大值为9,这样能保证输出到第九行时,停止for循环。
条件控制:a作为被乘数给每次输出+1;
if (a==b){
a=0;
b++;
NSLog(@"\n");
}
考虑到每一行在两数相等时需要换行,
且需要被乘数即a重新作为1来与乘数b相乘,乘数b也要变化,
所以,引入if语句,并进行条件判断
在最后还需要在引入头文件的下面加上去除时间戳的代码
为了方便复制,我把代码写在这里:
#define NSLog(FORMAT, ...) fprintf(stderr,"%s",[[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String])
最后运行就得到我们想要的九九乘法表
#import <Foundation/Foundation.h>
#define NSLog(FORMAT, ...) fprintf(stderr,"%s",[[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String])
int main(int argc, const char * argv[]) {
@autoreleasepool {
for (int a = 1,b=1;b <= 9;a++){
NSLog(@"%d*%d=%d ",a,b,a*b);
if (a==b){
a=0;
b++;
NSLog(@"\n");
}
}
}
return 0;
}
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
Program ended with exit code: 0
这是我在初学iOS时碰到的第一个问题,当时上网查询了也感觉不尽如人意,毕竟网上的答案不一定符合自Objective-C的语法。
其中我在知乎上看到的一个相关回答也是令我这个初学者笑喷,当然也知道作者是在恶搞,但也确实给了我一种放松心情的感觉。
在此贴上,
t = """1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 4*1=4 4*2=8 4*3=12 4*4=16 5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81 """ for i in [0]: print(t) 作者:萧井陌
在这附上原文链接,该篇个人感觉还是很开阔思路的:如何用一个循环语句输出九九乘法表——知乎
那么闲话不多说,说说我这个初学者的愚见 for (int a = 1,b=1;b <= 9;a++){
NSLog(@"%d*%d=%d ",a,b,a*b);
}
条件初始化:for循环下定义两个变量,a和b的值初始值均为1;
条件判断:限制b的最大值为9,这样能保证输出到第九行时,停止for循环。
条件控制:a作为被乘数给每次输出+1;
if (a==b){
a=0;
b++;
NSLog(@"\n");
}
考虑到每一行在两数相等时需要换行,
且需要被乘数即a重新作为1来与乘数b相乘,乘数b也要变化,
所以,引入if语句,并进行条件判断
在最后还需要在引入头文件的下面加上去除时间戳的代码
为了方便复制,我把代码写在这里:
#define NSLog(FORMAT, ...) fprintf(stderr,"%s",[[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String])
#define NSLog(FORMAT, ...) fprintf(stderr,"%s",[[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String])
最后运行就得到我们想要的九九乘法表
#import <Foundation/Foundation.h>
#define NSLog(FORMAT, ...) fprintf(stderr,"%s",[[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String])
int main(int argc, const char * argv[]) {
@autoreleasepool {
for (int a = 1,b=1;b <= 9;a++){
NSLog(@"%d*%d=%d ",a,b,a*b);
if (a==b){
a=0;
b++;
NSLog(@"\n");
}
}
}
return 0;
}
相关文章推荐
- java 打印输出九九乘法表.要求:只能使用一个while,不能使用for循环、递归。
- for循环的使用—打印输出各种图形
- scala学习之路:1简单的打印输出,以及for循环的使用
- iOS调试技巧之打印输出 -----A: (NSString *)description B:自定义LOG C:使用第三方插件快速打印
- 使用for循环的嵌套使用方法打印“九九乘法表”
- [iOS学习]C语言:乘法表效果使用for循环输出
- 【IOS开发】objective-c之简单类型和打印输出
- 使用for循环输出九九乘法表
- 打印九九乘法表,要求:只能使用一次for循环,不能使用递归,while
- 使用for循环双层嵌套 控制台打印九九乘法表
- 使用for循环打印输出1000以内的水仙花数
- linux下使用printf打印输出不同颜色字体的方法
- 利用for循环打印九九乘法表
- 使用TCP协议编写一个网络程序,设置服务器端的监听端口是8002,当与客户端建立连接后,服务器端向客户端发送数据“Hello, world”,客户端收到数据后打印输出。
- 如何使用FastReport.Net在SAP NetWeaver中生成报表-第2部分:输出信息(打印文档)
- 使用for循环输出字符串的子序列
- 如何使用一个循环打印九九乘法表
- (暴力调试控的福音)在ios iphone编程中使用封装的NSLog来打印调试信息
- 在JavaScript中使用for循环打印菱形