计算所有数字的和(中等)
2015-07-25 17:03
274 查看
小王学姐酷爱淘宝,所以购物车经常会有一大堆东西,由于感觉一个个的计算非常麻烦,所以她会把所有的物品信息还有价格复制下来,做成一个文本,然后写一个程序来统计文本里所有物品的价格总值,聪明的学弟学妹你们知道小王学姐的最终需要花费多少钱呢?
首先输入一个整数T,下面有T组数据每组数据输入一行字符串(不包含空白符,最多不超过10000字符)
输出字符串内所有数字之和
输入背包一个50扫把三个60.1苹果手机外壳一个28.2羽绒服一件888
输出1026.3
题目解析把文本中所有的数字都找出来并且累加,不过需要注意小数的处理,略麻烦,不过可以用sscanf简化问题///////////////////////////////////////////////////////////////////////// #include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define maxn 10005
#define INF 100000
int Find(char s[])//查找s数组的数字到第几位
{
int i;
for(i=0; s[i]; i++)
{
if( !(s[i] == '.' || s[i]>='0'&&s[i]<='9') )
break;
}
return i;
}
int main()
{
int i, T;
// freopen("1.in", "r", stdin);
// freopen("1.out", "w", stdout);
scanf("%d", &T);
while(T--)
{
char s[maxn]= {0};
double sum=0, x;
scanf("%s", s);
for(i=0; s[i]; i++)
{
if(s[i] >= '0' && s[i] <= '9')
{
int k=Find(s+i);
s[k+i] = 0;///////为了方便使用sscanf
sscanf(s+i, "%lf", &x);
sum += x;
i += k;
}
}
printf("%.2f\n", sum);
}
return 0;
}
首先输入一个整数T,下面有T组数据每组数据输入一行字符串(不包含空白符,最多不超过10000字符)
输出字符串内所有数字之和
输入背包一个50扫把三个60.1苹果手机外壳一个28.2羽绒服一件888
输出1026.3
题目解析把文本中所有的数字都找出来并且累加,不过需要注意小数的处理,略麻烦,不过可以用sscanf简化问题///////////////////////////////////////////////////////////////////////// #include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define maxn 10005
#define INF 100000
int Find(char s[])//查找s数组的数字到第几位
{
int i;
for(i=0; s[i]; i++)
{
if( !(s[i] == '.' || s[i]>='0'&&s[i]<='9') )
break;
}
return i;
}
int main()
{
int i, T;
// freopen("1.in", "r", stdin);
// freopen("1.out", "w", stdout);
scanf("%d", &T);
while(T--)
{
char s[maxn]= {0};
double sum=0, x;
scanf("%s", s);
for(i=0; s[i]; i++)
{
if(s[i] >= '0' && s[i] <= '9')
{
int k=Find(s+i);
s[k+i] = 0;///////为了方便使用sscanf
sscanf(s+i, "%lf", &x);
sum += x;
i += k;
}
}
printf("%.2f\n", sum);
}
return 0;
}
相关文章推荐
- [leetcode] 215.
- VS开发平台的生成后事件
- glVertexAttribPointer参数意义说明
- Codeforces 301_div.2_Ice Cave(BFS走冰块)
- 深入理解Java对象序列化
- 編程之美2.9:神奇的菲波那契數列
- javascript页面倒计时实例
- 数的双亲表示法结点结构定义
- poj 2886
- POJ 3255 Roadblocks
- 5. openCV中常用函数学习
- 吃甘蔗(中等,模拟)
- HDU 5301 Buildings 建公寓(逻辑,水)
- Myeclipse2014 激活 (包括方法和工具)
- Android 启动过程分析--笔记缩减
- 南阳 oj 表达式求值 题目35 数据结构 NYOj
- jquery中的工具方法$.isFunction, $.isArray(), $.isWindow()
- NDK编程中如何在C文件中打印调试信息
- TCP数据段格式+UDP数据段格式详解
- 系统出现bootmgr is missing解决方案,戴尔dell服务器装系统需要特别注意的问题