题目描述
每到月末,小明就会对这个月的支出账单进行整理和统计。如今电脑已经普及大学校园,所以小明想让电脑帮忙做这件事情。聪明的你就为小明编一个程序来完成这件事情吧。
输入
多实例测试。首先输入一个整数ncase,表示测试实例的个数。每个测试实例的输入如下:
第一行是整数n (n<100)。然后是n行的账单信息,每一行由事物的名字name和对应的花费c组成,长度不超过200。中间会有一个或多个空格,而每一行的开头和结尾没有空格。 0.0 < c < 1000.0。
输出
每个测试实例对应一行输出,输出总的花费,小数点后保留一位数字。
样例输入
2
1
Buy books 62.28
3
Apple 2.3
Buy clothes for girl friend 260.5
Go to cinema 30
样例输出
62.3
292.8
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define N 205
void reverse(char *s){
int i=0,j=strlen(s)-1;
char t;
while(i<j){
t=s[i];
s[i]=s[j];
s[j]=t;
i++;
j--;
}
}
int main(){
int t;
scanf("%d",&t);
while(t--){
int n;
scanf("%d",&n);
double sum=0;
char s[N];
char ans[N];
while(n--){
memset(s,0,sizeof(s));
memset(ans,0,sizeof(ans));
getchar(); //接收回车
gets(s);
int len=strlen(s);
int i,j=0;
for(i=len-1;i>=0;i--){ //从末尾遍历截取出数字字符串
if(s[i]==' ')
break;
ans[j]=s[i];
j++;
}
ans[j]='\0';
reverse(ans); //逆置换位正常顺序
sum+=atof(ans); //将字符串转化为浮点数
}
printf("%.1f\n",sum);
}
return 0;
}