1168: 账单(指针专题)

题目描述

每到月末,小明就会对这个月的支出账单进行整理和统计。如今电脑已经普及大学校园,所以小明想让电脑帮忙做这件事情。聪明的你就为小明编一个程序来完成这件事情吧。

输入

多实例测试。首先输入一个整数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;
}

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值