博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVA11945 Financial Management
阅读量:7090 次
发布时间:2019-06-28

本文共 1129 字,大约阅读时间需要 3 分钟。

问题链接:。

题意简述:输入12个数,计算其平均值。

编写程序时,考虑到C++处理输入比较方便,所以使用C++语言编程。然而,输出稍微麻烦一些,对于金额,每3位需要加一个逗号,而C和C++的函数库中,没有相应的解决办法。

程序中专门编写函数output_result()处理输出,使用的是有限状态自动机的工作方式来处理的。

这个问题与基本上相同,只是输入输出数据格式略有不同。

AC的C语言程序如下:

/* UVA11945 Financial Management */#include 
#include
#include
using namespace std;void output_result(char s[], char t[]){ int len = strlen(s); int i = len - 1, j=0; int state = 0, count; while(i >=0) { count++; t[j++] = s[i]; if(s[i] == '.') { state = 1; count = 0; } else if(s[i] == '$') state = 2; if(state == 1 && count == 3 && s[i-1] != '$') t[j++] = ','; i--; } j--; while(j >= 0) putchar(t[j--]);}int main(){ int t2; double val, sum; char s[128], t[128]; cin >> t2; for(int i=1; i<=t2; i++) { sum = 0; for(int j=1; j<=12; j++) { cin >> val; sum += val; } sprintf(s, "%d $%.2f\n", i, sum / 12); output_result(s, t); } return 0;}

转载于:https://www.cnblogs.com/tigerisland/p/7564397.html

你可能感兴趣的文章
PHP常见错误收集
查看>>
一对多的两个表,查询主表的信息和主表在子表中的记录条数
查看>>
从程序员入门到“第一个项目”的一些事
查看>>
转-Pentaho技术白皮书中文版(三)--构建新组件
查看>>
SpringSrcureCode在grails中实现用户--角色--权限的管理
查看>>
java Servlet 下载 itext 生成的2003 word 文档(java生成word文档3)
查看>>
Delphi 查找标题已知的窗口句柄,遍历窗口控件句柄(转)
查看>>
单例模式
查看>>
最锋利的jQuery源码、电子书及视频教程合集(共46个)
查看>>
JavaScript 内置对象!
查看>>
解决ubuntu下打不开rar文件
查看>>
内核启动过程
查看>>
在使用ibatis实现多条件模糊查询的语句
查看>>
童宁_下一代数据中心的安全挑战
查看>>
android 3g状态及信号监测
查看>>
开源 java CMS - FreeCMS2.8 站点管理
查看>>
JSP中include指令和include行为区别
查看>>
关于zend studio 9.0版本汉化
查看>>
java web编程学习6
查看>>
CSS学习笔记——最基础的定义与使用
查看>>