atof函数

本文介绍了一个使用C语言实现的简单账单计算器程序,该程序能够读取多组账单数据,通过解析每一笔账单的名称和金额,计算并输出每个月的总花费。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

表头文件 #include <stdlib.h>
  定义函数 double atof(const char *nptr);
  函数说明 atof()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分,如123.456或123e-2。

  返回值 返回转换后的浮点型数。

账单

Time Limit:1000MS Memory Limit:65536K
Total Submit:305 Accepted:149

Description

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

Input

有多组测试数据。每一组数据的第一行是整数n (n<100)。然后是n行的账单信息,每一行由事物的名字name和对应的花费c组成。name是一个总长至少为1且不超过100的字符串,0.0 < c < 1000.0。中间会有一个或多个空格,而每一行的开头和结尾没有空格。当n = 0 时,停止执行。

Output

输出总的花费,小数点后保留一位数字。

Sample Input

1
Apple 2.3
2
Buy clothes for   girl friend 260.55
Go to  cinema 30
0

Sample Output

2.3
290.6
  • #include<stdio.h>
    #include<stdlib.h>
    int main()
    {
    	int n,i,j;
    	double sum,m;
    	char ch[1000],*p;
    	while(scanf("%d",&n),n!=0)
    	{
    		getchar();
    		
    		sum=0;
    		for(j=1;j<=n;j++)
    		{
    			gets(ch);
    			
    		   for(i=0;ch[i]!='\0';i++)
    		  
    			if(ch[i]>='0'&&ch[i]<='9')
    			{  
    				p=&ch[i];
    				break;
    				
    			}
    		   m=atof(p);
    		   sum=sum+m;
    		}
    	
    		printf("%.1f\n",sum);
    	}
    	
    	return 0;
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值