黑马程序员技术交流社区
标题: 1109_练习_简单的分支结构 [打印本页]
作者: donkey2 时间: 2014-11-9 16:35
标题: 1109_练习_简单的分支结构
本帖最后由 donkey2 于 2014-11-11 12:11 编辑
/*
题目:程序运行的时候提示下列信息
请输入相应数字选择需要执行的运算:
1 加法
2 减法
用户选择运算后,再提示用户输入两个需要进行运算的整数,输入完毕后就输出运算结果
*/
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
// insert code here...
// NSLog(@"Hello, World!");
NSLog(@"请输入相应数字选择需要执行的运算:\n1 加法\n2 减法");
int a,b,c;
int result;
scanf("%i",&a);
NSLog(@"请输入两个整数");
scanf("%i %i",&b,&c);
if (a == 1) {
NSLog(@"您要执行的运算为‘加法’");
result = b + c;
}
else if (a == 2){
NSLog(@"您要执行的运算为‘减法’");
result = b - c;
}
else if(a!=1&a!=2){
NSLog(@"您的输入有误");
}
NSLog(@"计算的结果为 %i",result);
}
return 0;
}
运行后发现如下问题;
1. 如果开始选的不是1或2,输入的是3,虽然会输出一个提示用户输入有错的语句,但程序仍然可以向下执行。
2. 并且输出计算结果为0,这个结果显然是不正确的。
作者: donkey2 时间: 2014-11-9 16:42
#include <stdio.h>
int main()
{
// 1. 提示用户选择计算类型
printf("请输入相应数字选择需要执行的运算:\n");
printf("1 加法\n");
printf("2 减法\n");
// 2. 定义变量存储用户选择的计算类型
int type = 0;
// 3. 让用户输入计算类型
scanf("%d", &type);
if (type!=1 && type!=2)
{
// type值输入不合理,就直接退出程序
printf("非法选择\n");
return 0;
}
// 4.提示用户输入两个计算的数值
printf("请连续输入两个需要进行运算的整数,并且以空格隔开\n");
// 5.定义2个变量存储数值
int num1, num2;
scanf("%d %d", &num1, &num2);
// 6.计算
int result;
if (type == 1) {
result = num1 + num2;
printf("%d + %d = %d\n", num1, num2, result);
} else if (type == 2) {
result = num1 - num2;
printf("%d - %d = %d\n", num1, num2, result);
}
return 0;
}
这种处理的不同之处在于,先判断用户选择的类型,如果是非法类型,则return 0;提前结束程序。
这样更符合正常人的逻辑,值得自己好好体会一下。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |