按照你的程序运行后。。。在输入c值的时候
程序直接结束了。。。还有就是每个case语句后记着加上break跳出不过也有不过根据具体需要也可以不加break;但是你的这个程序需要加上break;
原因是:回车符也是字符,所以你按回后,程序以为是输入了c的值了,而在输入b值成功是因为
回车符不是数字形式的。
以下是我改过的程序,编译运行都很好的
#include <stdioh>
#include <mathh>
void main()
{
float a,b;
char c;
printf("\n input a:");
scanf("%f",&a);
printf("\n input b:");
scanf("%f",&b);
//这种情况经常遇到。。。。输入完后回车被下一个scanf("%c",&c)捕获了。
//因为回车符也是字符,所以你按回车后,程序以为是输入了c的值了
//所以加上下面一行,把回车符取走就可以了。。。。
getchar();
printf("\n input c:");
scanf("%c",&c);
//printf("\n%c",c);
switch(c)
{
case '+': printf("a+b=%f",a+b);break;
case '-': printf("a-b=%f",a-b);break;
case '': printf("ab=%f",ab);break;
case '/': printf("a/b=%f",a/b);break;
default: break;
}
//为了好看
printf("\n");
}
#include <stdioh>
void main(void)
{
char operation;
float a;
float b;
double result;
printf("Please input the first number:");
scanf("%f", &a);
getchar();
printf("请输入运算符:");
scanf("%c", &operation);
getchar();
printf("Please input the second number:");
scanf("%f", &b);
switch (operation)
{
case '+': result = a + b; break;
case '-': result = a - b; break;
case '': result = a b; break;
case '/': result = a / b; break;
default: break;
}
printf("%f %c %f = %f\n", a, operation, b, result);
}
先乘除,后加减,有括号的先算括号里的
整数加、减计算法则:
1)要把相同数位对齐,再把相同计数单位上的数相加或相减;
2)哪一位满十就向前一位进。
2、小数加、减法的计算法则:
1)计算小数加、减法,先把各数的小数点对齐(也就是把相同数位上的数对齐),
2)再按照整数加、减法的法则进行计算,最后在得数里对齐横线上的小数点点上小数点。
(得数的小数部分末尾有0,一般要把0去掉。)
3、分数加、减计算法则:
1)分母相同时,只把分子相加、减,分母不变;
2)分母不相同时,要先通分成同分母分数再相加、减。
4、整数乘法法则:
1)从右起,依次用第二个因数每位上的数去乘第一个因数,乘到哪一位,得数的末尾就和第二个因数的哪一位对个因数的哪一位对齐;
2)然后把几次乘得的数加起来。
(整数末尾有0的乘法:可以先把0前面的数相乘,然后看各因数的末尾一共有几个0,就在乘得的数的末尾添写几个0。)
5、小数乘法法则:
1)按整数乘法的法则算出积;
2)再看因数中一共有几位小数,就从得数的右边起数出几位,点上小数点。
3)得数的小数部分末尾有0,一般要把0去掉。
6、分数乘法法则:把各个分数的分子乘起来作为分子,各个分数的分母相乘起来作为分母,(即乘上这个分数的倒数),然后再约分。
7、整数的除法法则
1)从被除数的商位起,先看除数有几位,再用除数试除被除数的前几位,如果它比除数小,再试除多一位数;
2)除到被除数的哪一位,就在那一位上面写上商;
3)每次除后余下的数必须比除数小。
8、除数是整数的小数除法法则:
1)按照整数除法的法则去除,商的小数点要和被除数的小数点对齐;
2)如果除到被除数的末尾仍有余数,就在余数后面补零,再继续除。
9、除数是小数的小数除法法则:
1)先看除数中有几位小数,就把被除数的小数点向右移动几位,数位不够的用零补足;
2)然后按照除数是整数的小数除法来除
10、分数的除法法则:
1)用被除数的分子与除数的分母相乘作为分子;
2)用被除数的分母与除数的分子相乘作为分母
这个程序我昨天编过,我给你找找啊
using System;
using SystemCollectionsGeneric;
using SystemText;
namespace shangjiyi
{
/// <summary>
/// 此示例演示计算机两个数的加减乘除取余
/// </summary>
class Program
{
static void Main(string[] args)
{
int first; //第一个 *** 作数
int second; //第二个 *** 作数
string myOprator; //运算符
int result; //计算结果
//输入参与计算 *** 作数和运算符
ConsoleWriteLine("我是第一个简单的计算器,可以实现两个整数的加减乘除取余");
ConsoleWrite("请输入第一个 *** 作数:");
first = intParse(ConsoleReadLine());
ConsoleWrite("请输入第二个 *** 作数");
second = intParse(ConsoleReadLine());
ConsoleWrite("请输入运算符(+ - %):");
myOprator = ConsoleReadLine();
//计算,并输出运算符
if (myOprator == "+") //加法
{
result = first + second;
ConsoleWriteLine("加上等于", first, second, result);
}
else if (myOprator == "-") //减法
{
result = first - second;
ConsoleWriteLine("减去等于", first, second, result);
}
else if (myOprator == "") //乘法
{
result = first second;
ConsoleWriteLine("乘以等于", first, second, result);
}
else if (myOprator == "%") //取余
{
result = first % second;
ConsoleWriteLine("除以等于", first, second, result);
}
else
{
ConsoleWriteLine("对不起,我不认识你的运算符!");
}
ConsoleReadLine();
}
}
}
这个可以,我试过
#include<stdioh>
void
main()
{
int
ls;/定义整形
结合字符判断/
float
as,ss;/定义浮点数/
char
bs[2],c;/定义字符用于收符号/
for(int
i=0;;i++)
/定义i=0
建立死循环
每次循环自加1/
{
printf("请输入数字\n:");
scanf("%f",&as);/得到一个数/
if(i!=0&&ls==1)
{as=as+ss;printf("=%f\n",as);}/判断并非输入的第一个数
并由ls的值判断进行何种运算/
if(i!=0&&ls==2)
{as=ss-as;printf("=%f\n",as);}
if(i!=0&&ls==3)
{as=asss;printf("=%f\n",as);}
if(i!=0&&ls==4)
{as=ss/as;printf("=%f\n",as);}
getchar(c);/收scanf的回车/
for(;;)
{
printf("请输入运算符号\n:");
gets(bs);/得到一个符号/
if(bs[0]=='=')
printf("%f\n",as);/如果bs所得是等号
输出as
并要求用户重新输入符号/
if(bs[0]!='=')
break;/如果不是
跳出死循环/
}
if(bs[0]=='+')
{ls=1;ss=as;}/对符号进行判断
并对ls赋值
新循环会用到/
if(bs[0]=='-')
{ls=2;ss=as;}
if(bs[0]=='')
{ls=3;ss=as;}
if(bs[0]=='/')
{ls=4;ss=as;}
}
}
实现方法如下:
读入的时候用%x读入,然后在程序里面直接用+,-,,/运算就行了,输出的时候再用%x。
示例一:
int a,b;
scanf("%x%x",&a,&b);
printf("%x\n%x\n",a+b,a-b);
输入:9 7
输出:
10
2
示例二:
int a = 0, b = 0;
char char1 = 0;
int val = 0;
printf("输入:");
scanf("%d%c%d", &a, &char1, &b);
switch (char1) {
case '+': val = a + b;
break;
case '-': val = a - b;
break;
case '': val = a b;
break;
case '/': val = a / b;
break;
}
printf("%d", val);
//JAVA编程:四则运算(接收用户输入的2个 *** 作数,和运算符),计算之后,输出结果~~~~
import javautilScanner;
public class 四则运算 {
public static void main(String[] args) {
Scanner sc = new Scanner(Systemin);
Systemoutprint("请输入第一个数字:");
int a = scnextInt();
Systemoutprint("请输入运算符号:");
String str = scnext();
char ch = strcharAt(0);
Systemoutprint("请输入第二个数字:");
int b = scnextInt();
switch(ch)
{
case '+':
Systemoutprintln(a+"+"+ b + "="+(a+b));
break;
case '-':
Systemoutprintln(a+"-"+ b+ "="+(a-b));
break;
case '':
Systemoutprintln(a+""+ b+ "="+(ab));
break;
case '/':
if(b==0){
Systemoutprintln("被除数为零,运算无意义!");
break;
}
else {
Systemoutprintln(a+"/"+ b+ " = "+(a/b));
break;
}
default:
Systemoutprintln("运算符是无意义字符!");
break;
}
}
}
望采纳~~~~~~~~
以上就是关于C语言实现加减乘除运算全部的内容,包括:C语言实现加减乘除运算、如何写一个能进行加减乘除的C语言程序、加减乘除的计算方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)