当前位置: 首页 > news >正文

网站下拉菜单诺诚建设工程有限公司网站

网站下拉菜单,诺诚建设工程有限公司网站,广州手工外发加工网,门户系统登录【题目描述】 给出一个由O和X组成的串#xff08;长度为1#xff5e;80#xff09;#xff0c;统计得分。每个O的得分为目前连续出现的O的个数#xff0c;X的得分为0。例如#xff0c;OOXXOXXOOO的得分为1200100123。 输入第一行表示有n个字符串#xff0c;后续是n行字…【题目描述】 给出一个由O和X组成的串长度为180统计得分。每个O的得分为目前连续出现的O的个数X的得分为0。例如OOXXOXXOOO的得分为1200100123。 输入第一行表示有n个字符串后续是n行字符串。 【样例输入】 5 OOXXOXXOOO OOXXOOXXOO OXOXOXOXOXOXOX OOOOOOOOOO OOOOXOOOOXOOOOX 【样例输出】 10 9 7 55 30 【题目来源】 刘汝佳《算法竞赛入门经典  第2版》习题3-1 得分Score, ACM/ICPC Seoul 2005, UVa1585 【解析】 本题是一道得分累加问题题目不难只需定义两个变量 ①计数器cnt用于计算已经连续出现的“O”的个数 ②累加器sum用于计算串的得分。 思路就是对输入串的字符进行遍历如果遇到“O”就cnt如果遇到“X”就将cnt重置为0然后每次将cnt加到sum中即可。 1用scanf输入字符串 #includestdio.h char s[85]; int main(){int n;char c;scanf(%d, n);while(n--){int sum0, cnt0;scanf(%s, s);for(int i0; istrlen(s); i){if(Os[i]) cnt;else cnt0;sum cnt;}printf(%d\n, sum);}return 0; } 代码说明 1代码精简。for循环中的代码可以进一步精简就是将cnt的自加与sum的累加合成一个语句改后代码如下 if(Os[i]) sum cnt; else cnt0; 注意因为要返回自加后的值此时就需要用cnt不能用cnt关于二者的区别参见“找不到北的i”一文https://blog.csdn.net/jjmhx/article/details/136995419。 2效率问题。你是否发现代码中有一处写法效率低下。就是在“程序找茬统计字符个数问题”一文中提到的“重复调用函数”问题strlen函数放在for循环中会导致重复计算字符串的长度。解决方法就是预先将函数的值赋给一个变量在for循环中直接用这个变量。 3头文件缺失。在“程序找茬统计字符个数问题”一文中已提到不引用string.h头文件程序也能执行只是会有警告但是在Online Judge - Home网站中提交代码反馈错误。 如果因为这个问题丢分实属不值所以还是乖乖加上该加的头文件吧。 2用getchar输入字符 老金想着秀一下“编技”打一开始就想用getchar读取字符这样就用不着数组了没想到输出了意想不到的结果。 最开始编的代码是只是针对一个字符串的情况运行没有任何问题。代码如下 #includestdio.h int main(){char c;int sum0, cnt0;while((cgetchar())!\n){if(Oc) cnt;else cnt0;sum cnt;}printf(%d\n, sum);return 0; } 没想到改成多组字符串时出现了问题代码如下 #includestdio.h int main(){int n;char c;scanf(%d, n);while(n--){int sum0, cnt0;while((cgetchar())!\n){if(Oc) cnt;else cnt0;sum cnt;}printf(%d\n, sum);}return 0; } 运行结果 居然刚输入数字5就直接输出了结果什么情况 经过调试老金搞明白了原因问题出在了输入缓冲区。 执行到scanf(%d, n)这条语句时实际在键盘输入的是两个字符一个是’5’一是个换行符’\n’。 scanf函数只是读取了字符“5”并没有读入换行符。所以这条语句执行完后换行符还留在输入缓冲区。因此getchar第一次读取的是换行符循环条件不满足直接输出sum的初始值0。 搞清原因解决起来就好办了在while((cgetchar())!\n)前加一条语句把换行符读取掉就可以了。增加代码如下 getchar(); //清空缓冲区的换行符 所以在使用getchar()时要注意如果前面使用了scanf函数别忘了带走它留下的那片云彩。
http://www.zqtcl.cn/news/154864/

相关文章:

  • 河北邢台移动网站建设宁波网站开发公司电话
  • 免费建立个人网站申请seo搜索引擎优化推广
  • 如何拷贝服务器里面网站做备份金融网站怎么做的
  • 什么网站做的比较好网上投资网站建设
  • 公司网站运营方案策划办网站怎么赚钱
  • 贾汪区建设局网站设计接单兼职网站
  • 东莞商城网站建设哪家便宜wordpress 插件路径
  • 网站服务器 安全快递系统专注快递企业网站开发
  • 旅游网站平台建设的方案深圳移动官网网站建设
  • 如何建设企业人力资源网站网站建设和网络优化的区别
  • 辽宁网站设计影响网站用户体验
  • cms网站如何修改黄山建设网站
  • 宾爵手表官方网站小熊源码网
  • 荥阳网站建设网站建设取得了
  • 江苏省住房和城乡建设厅 官方网站wordpress点击下载
  • 找家里做的工作上哪个网站公司取名三个字推荐
  • 购物网站建设源码wordpress 多多进宝
  • 重庆定制网站建设地址晋安福州网站建设
  • 360建网站了解深圳网站页面设计
  • 哪些网站首页做的好蛋糕网站内容规划
  • 富阳市网站息壤服务器网站打不开
  • 中文建站模板客户做网站嫌贵了
  • 做网站用jquery做网站都有哪些费用
  • 网站知识安卓studio制作一个简单app
  • 一个购物网站开发语言外贸企业
  • 给一个装修公司怎么做网站做网站打开图片慢
  • 互联网三网合一网站建设银川网站建站公司
  • 网站开发需要什么基础网站建设积分
  • 安平做网站的电话装修公司哪家产品好
  • 网站建设内部链接精选资料