用objective-c编一个程序输入任意数,输出每位对照的英文,但遇到问题
比如我输入205判断number大于等于1然后循环后number=0.205,number=number*10,然后number就等于2.05,由于num是int型,舍去...
比如我输入205判断number大于等于1
然后循环后number=0.205,number=number*10,然后number就等于2.05,由于num是int型,舍去小数位num=2,在循坏switch语句
这个不解释;然后问题来了,number=number-num后
是4.99...不是理想中的0.5,这导致的问题不言而喻最后输出了
这是我做的程序,控制台程序 展开
然后循环后number=0.205,number=number*10,然后number就等于2.05,由于num是int型,舍去小数位num=2,在循坏switch语句
这个不解释;然后问题来了,number=number-num后
是4.99...不是理想中的0.5,这导致的问题不言而喻最后输出了
这是我做的程序,控制台程序 展开
2个回答
展开全部
哈哈,又是你。上次的问题忘了给你写了。这次写一下。既然你说你是学oc的,我就用oc写。C语言我语法记不清楚了,这个使用控制台写的,直接复制代码就行。别忘了采纳哦~另外的问题也要采纳哦亲~~~
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
@autoreleasepool {
char str[1000];//申明一个char类型数组,也就是字符串
scanf("%s",str);//接收键盘输入的内容
NSString *oc_string = [NSString stringWithFormat:@"%s",str];//将C语言格式的字符串转化为OC格式的字符串
NSString *oc_tmp_str = oc_string;//将转化完的字符串复制一份
for (int i = 0; i < oc_string.length; i ++) {//做个循环,次数上限为字符串长度
NSRange range = {1,2};
NSString *str = [oc_tmp_str substringToIndex:range.location];//取字符串第一位,赋值给str
oc_tmp_str = [oc_tmp_str substringFromIndex:range.location];//将第二位到最后以为重新赋值给oc_tmp_str,用作下次循环种截取第一位,如此循环到结束即可。
switch ([str intValue]) {
case 0:
NSLog(@"zero\n");
break;
case 1:
NSLog(@"one\n");
break;
case 2:
NSLog(@"two\n");
break;
case 3:
NSLog(@"three\n");
break;
case 4:
NSLog(@"four\n");
break;
case 5:
NSLog(@"five\n");
break;
case 6:
NSLog(@"six\n");
break;
case 7:
NSLog(@"seven\n");
break;
case 8:
NSLog(@"eight\n");
break;
case 9:
NSLog(@"nine\n");
break;
default:
break;
}
}
}
return 0;
}
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
@autoreleasepool {
char str[1000];//申明一个char类型数组,也就是字符串
scanf("%s",str);//接收键盘输入的内容
NSString *oc_string = [NSString stringWithFormat:@"%s",str];//将C语言格式的字符串转化为OC格式的字符串
NSString *oc_tmp_str = oc_string;//将转化完的字符串复制一份
for (int i = 0; i < oc_string.length; i ++) {//做个循环,次数上限为字符串长度
NSRange range = {1,2};
NSString *str = [oc_tmp_str substringToIndex:range.location];//取字符串第一位,赋值给str
oc_tmp_str = [oc_tmp_str substringFromIndex:range.location];//将第二位到最后以为重新赋值给oc_tmp_str,用作下次循环种截取第一位,如此循环到结束即可。
switch ([str intValue]) {
case 0:
NSLog(@"zero\n");
break;
case 1:
NSLog(@"one\n");
break;
case 2:
NSLog(@"two\n");
break;
case 3:
NSLog(@"three\n");
break;
case 4:
NSLog(@"four\n");
break;
case 5:
NSLog(@"five\n");
break;
case 6:
NSLog(@"six\n");
break;
case 7:
NSLog(@"seven\n");
break;
case 8:
NSLog(@"eight\n");
break;
case 9:
NSLog(@"nine\n");
break;
default:
break;
}
}
}
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询