PTA - 简单计算器

习题6-7 简单计算器 (20分)

模拟简单运算器的工作。假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算。

输入格式:

输入在一行中给出一个四则运算算式,没有空格,且至少有一个操作数。遇等号”=”说明输入结束。

输出格式:

在一行中输出算式的运算结果,或者如果除法分母为0或有非法运算符,则输出错误信息“ERROR”。

输入样例:

1+2*10-10/2=

输出样例:

10

 

 

我起初的错误思路:想要读成字符数组,然后以2为步长进行遍历。后发现明显瑕疵,即有的整数并不是1位数,可能是2位甚至3位,那将给我的字符光标移动带来巨大困扰。而且求该数还会用到循环,较为麻烦。

收获与感悟:从网上研究了一下大佬的代码。原来我很难操作的运算整数只需要scanf (%d),这才有所醒悟,像这样挨在一起的输入,并不需要考虑全记下来在运算,有种“走一步看一步”的感觉。这里读入%d,在缓存区光标就会从头一直读(可能读的位数达到数据要求也会停止?我不太清楚),直至不符合要求,即读到了字符,就会停止。

 

下面附上代码:

 

#include<stdio.h>
int main()
{
	int a,b,flag=0;
	char op;
	scanf("%d",&a);
	while(1)
	{
		scanf("%c",&op);
		if(op =='=')
		{
			break;
		}
		
		scanf("%d",&b);
		switch(op)
		{
			case '+':a=a+b;break;
			case '-':a=a-b;break;
			case '*':a=a*b;break;
			case '/':
				if(b==0) flag = 1;
				else a=a/b; break;
			default: flag = 1;   
		}
		if(flag==1)
		{
			break;
		}
	}
	if(flag==1)
	{
		printf("ERROR");
	}
	else
	{
		printf("%d",a);
	}
	return 0;
}

 

  • 79
    点赞
  • 194
    收藏
    觉得还不错? 一键收藏
  • 32
    评论
### 回答1: pta简单计算器c语言是一道程序设计题目,要求使用c语言设计一个简单计算器程序。 计算器程序需要实现基本的四则运算:加、减、乘、除。用户可输入两个数字和运算符,程序会自动输出结果。 在实现程序时,需要使用系统提供的数学函数库,例如sqrt()函数计算平方根、pow()函数计算次方。 此外,还需要考虑输入的数字是否合法以及分母是否为0等异常情况。 在完成程序后,需要在每个函数中添加注释,使其他人可以清晰地理解代码的逻辑和实现。 总的来说,pta简单计算器c语言是一道适合初学者练习基本语法和算法思维的编程题目。通过编写程序,可以提高编程能力和解决问题的能力。 ### 回答2: pta简单计算器c语言是一道关于基本计算器的题目。我们需要通过程序实现简单的加减乘除四则运算。这道题目让我们深入了解了C语言的基本语法和运算符的使用。 首先,我们需要输入两个数和运算符。输入函数可以用scanf()实现,将输入的数和运算符存放在变量中。接下来,通过if语句来判断输入的运算符,根据不同的情况输出不同的结果。 加法运算可以表示为a+b,减法运算可以表示为a-b,乘法运算可以表示为a*b,除法运算可以表示为a/b。在c语言中,在进行除法运算时,需要注意除数是否为0的情况。如果是0,需要增加判断条件,并输出“Divided by zero!”的提示信息。 此外,还需要注意数据类型的匹配。在进行浮点数运算时,需要将结果存储在浮点型变量中。在输出运算结果时,需要根据结果的类型选择不同的输出格式符。如果结果是整数,则使用%d,如果结果是浮点数,则使用%f。 在完成计算后,需要使用return 0来结束程序的执行。整个程序设计比较简单,但是需要多次运用c语言的知识点。编写时需要熟练掌握c语言的基本语法和运算符的使用,才能达到效果。 总的来说,pta简单计算器c语言是一道很好的练习基本语言能力和编程技巧的题目。通过练习这道题目,我们可以更加熟悉c语言的知识点,同时提高编程速度和准确度。 ### 回答3: PTA简单计算器C语言是一种简单计算器程序,它可以实现基本的加减乘除四则运算。这个程序的主要功能是根据用户输入的两个数和运算符,计算出结果并输出。 这个程序需要用到一些基本的C语言知识,包括变量的定义和使用、运算符的使用、条件语句和循环语句等。首先需要定义变量来存储用户输入的数字和运算符。然后,需要使用条件语句来判断用户输入的运算符,并根据不同的运算符执行相应的计算。 对于加减乘除四种运算符,需要使用不同的运算符号,并在程序中定义相应的变量来存储计算结果。对于加法运算,可以使用加号进行相加操作;对于减法运算,可以使用减号进行相减操作;对于乘法运算,可以使用乘号进行相乘操作;对于除法运算,可以使用除号进行相除操作。 在程序中还需要使用循环语句来实现多次计算。由于这个程序是一个简单计算器,所以它需要能够重复执行计算操作,并能够一直运行下去,直到用户选择退出。 总之,PTA简单计算器C语言是一个非常实用的程序,它可以帮助用户快速进行基本的数学计算,具有非常广泛的应用价值。对于想要学习C语言编程的人来说,这个程序也是一个非常好的练习工具,可以帮助他们提高编程能力和熟练度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 32
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值