这道题没啥别的毛病,我的错误在于看不懂题。

另外还有一点是注意浮点数存在-0

  1. #include <stdio.h>
  2. #include <ctype.h>
  3. #include <math.h>
  4. #define MAX_STR_LEN 10 + 5
  5. double strToDouble(char str[]){
  6. int state=;
  7. double sum1 = 0.0;
  8. double sum2 = 0.0;
  9. int k=;
  10. int digited=;
  11. int fuhao=;
  12. if(!str[])return ;
  13. for(int i=;str[i];i++){
  14. if(digited==&&str[i]=='-')
  15. {
  16. digited=;
  17. fuhao = -;
  18. }
  19. if(digited==&&str[i]=='+'){
  20. digited=;
  21. fuhao = ;
  22. }
  23. if(isdigit(str[i])){
  24. digited=;
  25. if(!state)sum1=*sum1 +str[i]-'';
  26. else sum2+=(pow(0.1,k++))*(str[i]-'');
  27. }
  28. else if(str[i]=='.'){
  29. digited=;
  30. state=;
  31. }
  32. }
  33. return fuhao*(sum1 + sum2);
  34. }
  35.  
  36. int main()
  37. {
  38. char s[MAX_STR_LEN];
  39. while(gets(s) != NULL)
  40. printf("%lg\n", strToDouble(s));
  41. return ;
  42. }

山科 STUST OJ Problem B: 编写函数:String to Double (II) (Append Code)的更多相关文章

  1. 山科SDUST OJ Problem J :连分数

    Problem J: 连分数 Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 2723  Solved: 801[Submit][Status][Web B ...

  2. Problem E: 编写函数:Swap (I) (Append Code)

    Description 编写用来交换两个数的函数,使得“Append Code”中的main()函数能正确运行. ------------------------------------------- ...

  3. Problem A: 编写函数:三个数的最大最小值

    Description 给出三个数a,b,c,最大值是?最小值是? ------------------------------------------------------------------ ...

  4. Python之编写函数

    Python之编写函数 在Python中,定义一个函数要使用 def 语句,依次写出函数名.括号.括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用 return 语句返回. 我们以自定 ...

  5. [转载] 已知strcpy的函数原型:char *strcpy(char *strDest, const char *strSrc),编写函数 strcpy(C++版)

    已知strcpy的函数原型:char *strcpy(char *strDest, const char *strSrc)其中strDest 是目的字符串,strSrc 是源字符串.不调用C++/C ...

  6. 编写类String的构造函数、析构函数和赋值函数

    已知类String的原型为: class String {   public:  String(const char *str = NULL); // 普通构造函数  String(const Str ...

  7. 编写类String 的构造函数、析构函数和赋值函数

    编写类String 的构造函数.析构函数和赋值函数,已知类String 的原型为:class String{public:String(const char *str = NULL); // 普通构造 ...

  8. 编写函数求整形数组a中存储的m个不重复的整数的第k大的整数(其中m>=1,1<=k<=m)很简单的一个思路是酱紫的:管他辣么多干啥,上来一把排序然后直接得答案

    /** * @author:(LiberHome) * @date:Created in 2019/2/28 20:38 * @description: * @version:$ *//*编写函数求整 ...

  9. Problem B: 重载函数:max

    Description 编写两个名为max的函数,它们是重载函数 ,用于求两个整数或实数的最大值.它们的原型分别是: int max(int a,int b); double max(double a ...

随机推荐

  1. 多线程编程-设计模式之保护性暂挂(Guarded Suspesion)模式

    Guarded Suspension模式的架构 核心是一个受保护方法(Guarded Method).该方法需要执行其所要真正执行的操作时需要满足特定的条件(Predicate,以下称之为保护条件). ...

  2. 轻量ORM-SqlRepoEx (五) 存储过程操作

    .Net平台下兼容.NET Standard 2.0,一个实现以Lambda表达式转转换标准SQL语句,使用强类型操作数据的轻量级ORM工具,在减少魔法字串同时,通过灵活的Lambda表达式组合,实现 ...

  3. Mysql jar包

    密码cngb https://pan.baidu.com/share/init?surl=bSGA6T-LTwjx-qaNAiipCA

  4. SAP物料主数据的屏幕字段控制,必输,隐藏

    http://www.cnblogs.com/275147378abc/p/5699077.html 1.事务码MM01,把物料组设为选填字段. 2.找到物料组的屏幕字段. 3.在后台根据屏幕字段找到 ...

  5. kali2.0 设置输入法 找了好久,亲测有效

    kali2.0更新源启用中文输入法 查看版本信(Version): uname -r uname -r 工具(Tools): fcitx fcitx fcitx-table-wbpy 更新源:(Sou ...

  6. Windows下安装最新版的MongoDB

    最近学习爬虫需要用到MongoDB来存储数据,在安装过程遇到了一些坑,在这里总结一些. 安装环境:Windows 10 安装步骤: 1.下载安装文件 下载地址:https://www.mongodb. ...

  7. Java中调用存储过程或函数

    //?代表一个参数,多个参数用逗号隔开 CallableStatement cs = connect.prepareCall("{?=call 存储过程名称或函数名(?)}"); ...

  8. vue---day04

    1. Node.js 1.1 介绍: - Node.js 是一个JavaScript运行环境,实质上是对Chrome V8引擎的封装. - Node.js 不是一个 JavaScript 框架,不同于 ...

  9. 安装 Node.js v8.0 生产环境

    步骤://center os 上把apt-get换成yum 第一步:进入服务器升级工具包 sudo apt-get update 第二步:安装git  sudo apt-get install git ...

  10. UVa Problem 100 The 3n+1 problem (3n+1 问题)

    参考:https://blog.csdn.net/metaphysis/article/details/6431937 #include <iostream> #include <c ...