Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 从输入到英语的整数_Objective C_Xcode_Command Line - Fatal编程技术网

Objective c 从输入到英语的整数

Objective c 从输入到英语的整数,objective-c,xcode,command-line,Objective C,Xcode,Command Line,我要做的是让用户输入一个数字,然后程序以word的形式读取每个数字。例如: Input: 517 Output: Five One Seven 这是一个简单的命令行工具,使用nslog和scanf获取输入并提供输出,没有什么太高级的东西。我有它的jist,但它只适用于一位数: #import <Foundation/Foundation.h> int main (int argc, const char * argv[]) { @autoreleasepool

我要做的是让用户输入一个数字,然后程序以word的形式读取每个数字。例如:

Input: 517

Output: Five One Seven
这是一个简单的命令行工具,使用nslog和scanf获取输入并提供输出,没有什么太高级的东西。我有它的jist,但它只适用于一位数:

    #import <Foundation/Foundation.h>

int main (int argc, const char * argv[]) {
    @autoreleasepool {

        int number;

        NSLog(@"Type your number.");
        scanf("%i", &number);


        if (number == 0) {
            NSLog(@"Zero");
        } else if (number == 1){
            NSLog(@"One");
        } else if (number == 2) {
            NSLog(@"Two");
        } else if (number == 3) {
            NSLog(@"Three"); 
        } else if (number == 4) {
            NSLog(@"Four");
        } else if (number == 5) {
            NSLog(@"Five");
        } else if (number == 6) {
            NSLog(@"Six");
        } else if (number == 7) {
            NSLog(@"Seven");
        } else  if (number == 8) {
            NSLog(@"Eight");
        } else if (number == 9) {
            NSLog(@"Nine");
        } 

    }
    return 0;
}
但这将导致产出倒退

有什么建议吗


谢谢,所以你可以向后创建一个列表,然后将其反转,并向用户读取数字

用户不会看到性能方面的任何差异

要使用数组执行此操作,您可以查看以下问题:

使用递归

void printNumber(int a){
  if(a/10 > 0){
     printNumber(a/10);
  }

  int digit = a%10;
  switch(digit){
  {
    case 0:
       NSLog(@"Zero ");
       break;
    case 1:
       NSLog(@"One ");
       break;
    case 2:
       NSLog("Two ");
       break;
     ....
  }

}

NSNumberFormatter
有一个样式器可以帮助您处理它

NSNumberFormatter *numberFormatter = [[NumberFormatter alloc] init];
numberFormatter.numberStyle = NSNumberFormatterSpellOutStyle;

不,我正在自己翻阅一本教科书,试图学习Objective-C语言,而不是iOS appAn中的应用程序。这是一个有趣的工具,它的作用不仅仅是:我能够让它打印数字。。但是向后。反转数组,然后读取从索引0到结尾的数字。
NSNumberFormatter *numberFormatter = [[NumberFormatter alloc] init];
numberFormatter.numberStyle = NSNumberFormatterSpellOutStyle;