A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© donkey2 中级黑马   /  2014-11-11 17:15  /  818 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 donkey2 于 2014-11-15 10:04 编辑

/*
题目:提示用户输入一个正整数n,计算并输出n的阶乘结果:1*2*3*…*n
*/

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        // insert code here...
//        NSLog(@"Hello, World!");

        int n;
        int a = 1;//current
        NSLog(@"请输入一个正整数");
        scanf("%i",&n);
        int result = 1;
        while (a <= n) {
            result *= a;
            a++;
        }
        NSLog(@"1*2*3*…*n的结果为 %i",result);
    }
    return 0;
}

遇到的问题:
1. 开始a没赋初值
2. 忘了写 a++;
3. 其实还应该判断用户输入的是否为正数。而且如果不是整数的话,程序会强制转化为整型。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马