http://www.bnuoj.com/bnuoj/problem_show.php?pid=1057

【题意】:给定x的值,带入f(x)求函数值

【题解】:注意第一个数的符号可能是'+',这里把我坑死了。。。

【code】:

 #include <iostream>
#include <stdio.h>
#include <math.h>
#include <string.h>
#include <algorithm> using namespace std; char str[],tstr[];
int stack[];
void init()
{
int i;
for(i=;i<;i++)
{
stack[i]=;
}
} int main()
{
int t;
scanf("%d",&t);
while(t--)
{
scanf("%s%s",str,tstr);
int x = ;
int i=;
if(tstr[]=='-') i=;
for(;tstr[i];i++)
{
x = *x+tstr[i]-'';
}
if(tstr[]=='-') x=-x;
init();
int len = strlen(str);
int cnt=,s=;
for(i=;i<len;i++)
{
if(str[i]=='+'&&i==) //居然有前导+号,坑死了
{
continue;
}
if(str[i]=='-'&&i==)
{
stack[cnt]*=-;
}
else if(str[i]=='-')
{
cnt++;
stack[cnt]*=-;
}
else if(str[i]=='+')
{
cnt++;
}
else if(str[i]>=''&&str[i]<='')
{
s=;
while(i<len&&str[i]>=''&&str[i]<='')
{
s = s*+str[i]-'';
i++;
}
i--;
stack[cnt]*=s;
}
else if(str[i]=='x')
{
if(str[i+]=='^')
{
i+=;
s=;
while(i<len&&str[i]>=''&&str[i]<='')
{
s = s*+str[i]-'';
i++;
}
i--;
stack[cnt]*=pow(x,s);
}
else
{
stack[cnt]*=x;
}
}
}
int sum = ;
for(i=;i<=cnt;i++)
{
sum+=stack[i];
}
printf("f(x)=%d\n",sum);
}
return ;
}

bnuoj 1057 函数(模拟)的更多相关文章

  1. 利用系统函数模拟实现nginx 系统脚本启动的特殊颜色专业效果

    利用系统函数模拟实现nginx 系统脚本启动的特殊颜色专业效果/etc/init.d/nginxd {start/stop/restart/reload}利用if语句实现: ============= ...

  2. CodeForces 670E Correct Bracket Sequence Editor(list和迭代器函数模拟)

    E. Correct Bracket Sequence Editor time limit per test 2 seconds memory limit per test 256 megabytes ...

  3. 在 JavaScript 中使用构造器函数模拟类

    今天,我们要讲的是在 JavaScript 中使用构造器函数(construcor function)模拟类. 构造器函数简介 你可以使用 ES6 的 class 关键字来实现类,不过我建议你使用传统 ...

  4. 用Python最原始的函数模拟eval函数的浮点数运算功能(2)

    这应该是我编程以来完成的难度最大的一个函数了.因为可能存在的情况非常多,需要设计合理的参数来控制解析流程.经验概要: 1.大胆假设一些子功能能够实现,看能否建立整个框架.如果在假设的基础上都无法建立, ...

  5. C#窗体如何通过keybd_event()函数模拟键盘按键(组合键)产生事件

    如何模拟键盘按键触发产生的事件,比如模拟按下Alt + F4 关闭当前程序,Ctrl+Shift 切换输入法等 可以通过win32api 键盘事件 keybd_event() 来实现 1.定义键盘按键 ...

  6. mysql 函数模拟序列

    mysql本身不提供序列机制,但是可以通过函数来模拟实现序列 CREATE TABLE IF NOT EXISTS `sequence` ( `id` ) CHARACTER SET utf8 COL ...

  7. 编写函数模拟strcpy()函数功能

    strcpy(字符数组1,字符串2) strcpy( )用于将字符串2复制到字符数组1中 /* strcpy(字符数组1,字符串2) strcpy( )用于将字符串2复制到字符数组1中 模拟strcp ...

  8. 用Python最原始的函数模拟eval函数的浮点数运算功能

    前几天看一个网友提问,如何计算'1+1'这种字符串的值,不能用eval函数. 我仿佛记得以前新手时,对这个问题完全不知道如何下手. 我觉得处理括号实在是太复杂了,多层嵌套括号怎么解析呢?一些多余的括号 ...

  9. 函数模拟sort快排

    设计一个对一维数组进行排序的sort函数,并调用它实现数组排序 思路:函数调用不止调用一个,最主要对函数不熟悉: #include<stdio.h> #define N 10 int ma ...

随机推荐

  1. 封装SqliteHelper类--Sqlite数据库

    using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...

  2. Commons CLI - Option Properties

    Option Properties The following are the properties that each Option has. All of these can be set usi ...

  3. Xcode6:The file couldn’t be opened because you don’t have permission to view it

    最近为了兼容iOS8升级到Xcode6.0编译之前的工程,结果App无法在真机上运行.报错如下: The file “xxxx.app” couldn’t be opened because you ...

  4. JavaScript之可运行按钮

    看到好多大神都写了像这种在页面"可运行"的Javascript脚本,感觉很好奇,所以我今天也试着写了一个. 自从有了这个"可运行"按钮,好多代码就再也不以图片的 ...

  5. Python基础-简单输出

    很好的一个博客地址:http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014316 ...

  6. sqlserver根据id集合,批量插入。(巧用sqlserver内置函数)

    场景如下,传入的id,如1,3,4,88.可以在.net后台处理,但是我更习惯在数据库中操作. 插入数据时可以这样处理,直接贴代码. CREATE PROCEDURE pro_CategorySave ...

  7. SQLite学习心得

    SQLite是一款很有名气的小型开源跨平台数据库,作为目前最流行的开源嵌入式关系型数据库,在系统结构设计中正在扮演着越来越重要的角色. 本文主要沿着 http://www.cppblog.com/we ...

  8. Mysql数据库迁移 Ubuntu14.04

    1. 停止数据库服务 sudo service mysql stop 2. 创建数据迁移目标文件夹(实际应该是挂载到新硬盘上) cd /var/lib ls -l drwx------  6 mysq ...

  9. 按照自己的理解实现比特交换协议(alternating-bit protocol)

    一开始的思路是想写两个程序的,发送端和接收端.但是后来想了下,因为是模拟的,所以不用这么麻烦,直接自己定制场景(比如说丢包阿,包出错阿,超时之类的). 基本上是根据上图所写的,一个函数发包,一个函数接 ...

  10. Linux C 程序 指针数组和二级指针(TEN)

    指针数组和二级指针 #include<stdio.h> int main(){ ] = {,,,,}; ], i; int **pp = p; //使p指针数组指向每一个a ; i < ...