基于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)新建工程
2)选择工程
3)创建完工程如下图:
4)增加文件,右键点击项目
5)在弹出菜单里做以下选择
6)添加文件
7)拷贝代码与运行
程序运行结果
代码下载
http://download.csdn.net/detail/yincheng01/6681845
解压密码:c.itcast.cn
基于visual Studio2013解决C语言竞赛题之1088模拟计算器的更多相关文章
- 基于visual Studio2013解决C语言竞赛题之0401阶乘
题目 解决代码及点评 这个是一道经典的教科书题目,基本上每本基础的c/c++语言教科书都会有这个题目 用来演示循环语句 #include <stdio.h> #include ...
- 基于visual Studio2013解决C语言竞赛题之0205位数求和
题目
- 基于visual Studio2013解决C语言竞赛题之0201温度转换
题目 解决代码及点评 #include <stdio.h> #include <stdlib.h> void main() { float f; float c; float ...
- 基于visual Studio2013解决C语言竞赛题之0409 100以内素数
题目 解决代码及点评 在已经知道素数是怎么判断的基础上,增加循环,可以判断出100以内的素数 /******************************************* ...
- 基于visual Studio2013解决C语言竞赛题之0408素数
题目 解决代码及点评 判断一个数是不是素数的方法,一般是看n是不是能被n以内的某个整数(1除外)整除 为了提高效率,这个整数范围一般缩小到n的平方根 如果在这个范围内的整数都不能整除,那么 ...
- 基于visual Studio2013解决C语言竞赛题之0407最大值最小值
题目 解决代码及点评 这道题考察循环和比较 /*********************************************************************** ...
- 基于visual Studio2013解决C语言竞赛题之0406数列求和
题目 解决代码及点评 这个题目,还是考察for循环的使用 以及数列规律,该数列的特点是第n个分子 = 第n-1个分子 + 第n-2个分子,分母也是此规律 而另外一个规律是第n个分子和第n- ...
- 基于visual Studio2013解决C语言竞赛题之0405阶乘求和
题目 解决代码及点评 这道题和上一道题类似,第n个累加项 = n-1累加项的n倍 由于有这个规律,我们可以用一个for循环实现 但是例子代码并没有这么做,大家可以回去修改下代码,使得代码更 ...
- 基于visual Studio2013解决C语言竞赛题之0404循环求和
题目 解决代码及点评 这道题考验for循环和一个简单的算法 因为每次累加的值有规律,后面一次累加是前面一次累加的两倍 所以可以用简单的循环,计算累加项和累加结果 /************ ...
随机推荐
- @Autowired与@Resource的差别
1.@Autowired与@Resource都能够用来装配bean. 都能够写在字段上,或写在setter方法上. 2.@Autowired默认按类型装配(这个注解是属业spring的),默认情况下必 ...
- Mysql 的一些基本用法
一.增加字段 COMMENT '是否导入基础信息平台 1 是导入'; 二.删除字段 alter table `provincestudentinfo` drop column NativePlace; ...
- [Swust OJ 746]--点在线上(线段树解法及巧解)
题目链接:http://acm.swust.edu.cn/problem/746/ Time limit(ms): 1000 Memory limit(kb): 65535 fate是一个数学大牛 ...
- Hibernate 笔记1
Hibernate表generator标签的作用,如下图,
- [转] 8张图学习javascript
学习的道路就是要不断的总结归纳,好记性不如烂笔头,so,下面将po出8张javascript相关的思维导图. 思维导图小tips:思维导图又叫心智图,是表达发射性思维的有效的图形思维工具 ,它简单却又 ...
- Vim 使用设置
转自:http://www.cnblogs.com/end/archive/2012/06/01/2531147.html Vim 作为最好用的文本编辑器之一,使用vim来编文档,写代码实在是很惬意的 ...
- Python 第六篇(中):面向对象编程中级篇
面向对象编程中级篇: 编程思想概述: 面向过程:根据业务逻辑从上到下写垒代码 #最low,淘汰 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 #混口饭吃 def add(ho ...
- python 函数形参四种格式
1:f(a,b) 2:f(a,b=value)有默认值的参数必须在后面 3:f(*a)多个参数直接传进一个元组 4:f(**a)以keys=values 形式给参数,传入转换为字典 def test( ...
- C#写PDF文件类库PDF File Writer介绍
.NET平台开源项目速览(16)C#写PDF文件类库PDF File Writer介绍 阅读目录 1.PDF File Writer基本介绍 2.一个简单的使用案例 3.资源 1年前,我在文章:这 ...
- RPC通信框架——RCF介绍(替换COM)
阅读目录 RPC通信框架 为什么选择RCF 简单的性能测试 参考资料 总结 现有的软件中用了大量的COM接口,导致无法跨平台,当然由于与Windows结合的太紧密,还有很多无法跨平台的地方.那么为了实 ...