基于visual Studio2013解决C语言竞赛题之1088模拟计算器

时间:2022-02-09 11:17:21



基于visual Studio2013解决C语言竞赛题之1088模拟计算器

题目

基于visual Studio2013解决C语言竞赛题之1088模拟计算器

解决代码及点评


/************************************************************************/
/* 88. 模拟计算器。
编写模拟计算器进行加、减、乘、除四则运算的程序(假设这四种运算的优先级都是相同的)
。如果在终端上敲入:8.5+0.5*2.5=后,程序应得结果22.5。 笨蛋方法*/
/************************************************************************/
#include<stdio.h>
#include <stdlib.h>
double getnum88(char *p)
{
double dNumber=atof(p);
return dNumber;
}
void main()
{
char arr[100];
gets_s(arr);
char *p=arr;
double num; char temp[20]={0};
char *tempp=temp;
while(*p!='\0')
{
if ((*p) >='0'&&*p<='9'||*p=='.')
{
*tempp=*p;
p++;
tempp++;
}
else
break; }
num=getnum88(temp);
while(*p!='\0')
{ char temp1[20]={0};
char *tempp1=temp1;
char c=*p++;
if (c=='+')
{
while(*p!='\0')
{
if ((*p) >='0'&&*p<='9'||*p=='.')
{
*tempp1=*p;
p++;
tempp1++;
}
else
break; }
num+=getnum88(temp1);
}
else if (c=='-')
{
while(*p!='\0')
{
if ((*p) >='0'&&*p<='9'||*p=='.')
{
*tempp1=*p;
p++;
tempp1++;
}
else
break; }
num-=getnum88(temp1);
}
else if (c=='*')
{
while(*p!='\0')
{
if ((*p) >='0'&&*p<='9'||*p=='.')
{
*tempp1=*p;
p++;
tempp1++;
}
else
break; }
num*=getnum88(temp1);
}
else if (c=='/')
{
while(*p!='\0')
{
if ((*p) >='0'&&*p<='9'||*p=='.')
{
*tempp1=*p;
p++;
tempp1++;
}
else
break; }
num/=getnum88(temp1);
}
}
printf("\n");
printf("%lf",num);
system("pause");
}

代码编译以及运行

由于资源上传太多,资源频道经常被锁定无法上传资源,同学们可以打开VS2013自己创建工程,步骤如下:

1)新建工程

基于visual Studio2013解决C语言竞赛题之1088模拟计算器

2)选择工程

基于visual Studio2013解决C语言竞赛题之1088模拟计算器

3)创建完工程如下图:

基于visual Studio2013解决C语言竞赛题之1088模拟计算器

4)增加文件,右键点击项目

基于visual Studio2013解决C语言竞赛题之1088模拟计算器

5)在弹出菜单里做以下选择

基于visual Studio2013解决C语言竞赛题之1088模拟计算器

6)添加文件

基于visual Studio2013解决C语言竞赛题之1088模拟计算器

7)拷贝代码与运行

基于visual Studio2013解决C语言竞赛题之1088模拟计算器

程序运行结果

基于visual Studio2013解决C语言竞赛题之1088模拟计算器

代码下载

http://download.csdn.net/detail/yincheng01/6681845

解压密码:c.itcast.cn