发表此帖主要是因为作业过程中,引发的一点点小思路,觉得可以和大家分享下下,当然大神级的可以忽略了哦,刚开始看,可能到后面会有更精简的方法,受知识的局限,还望见谅,如果和我一样是初学者的话,看了此贴也许会有幸会为你解开一些小疑惑,可以在自己拓展思维的道路上,避免话费更多的时间,代码亲测,请放心,时间是宝贵的嘛。:)
上题:
/* 题目:程序运行的时候提示下列信息 请输入相应数字选择需要执行的运算: 1 加法 2 减法
用户选择运算后,再提示用户输入两个需要进行运算的整数,输入完毕后就输出运算结果 */ #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; } 、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
:lol没错,这个是老师的答案,虽然自己也写出来了,不过,大家都看过答案,所以看这个可以更快的想起来,个人觉得,算一个加减法,先输入符号不爽,1 + 2 = 3 ,就输入1 + 2 = 3,先输入+,就感觉不爽了,所以就有了以下的变形:
#include<stdio.h> int main () { printf("请输入一个算术表达式:\n"); int a = 0 ; char c = 0;int b = 0;//变量初始化。定义一个字符变量存储符号
while (c !='+' && c !='-') { //让用户输入表达式 scanf("%d%c%d",&a ,&c ,&b ); printf("请重新输入:\n");
} //加法 if(c =='+') { int i =a + b ; printf(" %d + %d = %d",a,b,i ); }
//减法 if(c =='-') { int i =a - b ; printf(" %d - %d = %d\n",a,b,i ); }
return 0;
} 、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
这样输入的话,就是输入的表达式了,但是感觉还是有些不爽,因为只能算加减法,不能算乘除,但是要加上乘除法的话,就成了四个条件了,所以想尝试证明下,关系运算&&的连用情况,于是就有了下面的变形:
#include<stdio.h> int main () { printf("请输入一个算术表达式:\n"); int a = 0 ; char c = 0;int b = 0;//变量初始化。 while (c !='+' && c !='-' && c !='*' && c !='/')//判断输入符号的正确性 { //让用户输入表达式 scanf("%d%c%d",&a ,&c ,&b ); printf("请重新输入:\n");
}
//让用户输入表达式 // scanf("%d%c%d",&a ,&c ,&b ); //加法 if(c =='+') { int i =a + b ; printf(" %d + %d = %d",a,b,i ); }
//减法 else if(c =='-') { int i =a - b ; printf(" %d - %d = %d\n",a,b,i ); } //乘法 else if(c =='*') { int i =a * b ; printf(" %d * %d = %d\n",a,b,i ); } //除法 else if(c =='/') { int i =a / b ; printf(" %d / %d = %d\n",a,b,i ); }
return 0;
} 到此,四则运算算齐全了,也表明 条件1 && 条件2 && 条件3 这样的使用方式是可行的,||应该也是可以的吧,暂未亲测,但想来是同理的 局限性: 只能是两个数的四则运算,如果是三个数的四则运算就算不了了,还有四位 五位、、等等等等,有兴趣的朋友可以尝试下,或许学了后面后,会有更好的方法了。
一点点小小的心得,分享给需要的朋友。over。
|