zcmu1691
来源:互联网 发布:浩方提示网络传输错误 编辑:程序博客网 时间:2024/06/07 01:19
1691: 一个简单的数字游戏
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 448 Solved: 119
[Submit][Status][Web Board]
Description
由于一般的数字游戏很难,小灰灰同学把这个数字游戏改了,让游戏变得非常简单,修改后的数字游戏的规则如下:给你一组数字片段,将这些数按给出的顺序连接起来得到一个数。例如:给出00229,32, 321,3214,87,我们可以将这些数按顺序连接起来就可以得到229-32-321-3214-87。
Input
数据的第一个行是一个T,代表程序要执行的次数(T小于10)。
然后是T组测试数据,每一组测试数据的第一个是一个正整数N(N小于10),接下来是N个数字片段,数字片段不会超过9位。数字片段间有空格隔开。
Output
对于每一组测试数据,输出该数。注意:不要输出前导0。
Sample Input
2
3 045 023 22
5 00229 32 321 3214 87
3 045 023 22
5 00229 32 321 3214 87
Sample Output
4502322
22932321321487
22932321321487
HINT
由于上次的数字游戏太难,小灰灰这次总结了两点解题的窍门
(1) 尽量用字符串把数字读入。
(2) 千万不要输出前导0,如连接后的数字是0008970004,要输出8970004。
Source
解题思路:
将输入的数字以字符串的形式输入到数组a,再将数组a的数字复制到数组b,然后遍历数组b,若b[i]!='0',则将不为‘0’之后的字符全部输出。
解题心得:
刚开始,把题目都看错了,一直以为要将每一个数字以0为前导的0去掉,结果一直wa,自己真的太不细心了,连示例都没看清楚,还有需要注意的是若输入的数字全为0,要输出0,而不是什么都不输出,但题目中没有提示这一点。我也是同学提醒我的。
ac代码:
#include <iostream>#include<cstdio>#include<string.h>using namespace std;int t,k,n,flag;char a[15],b[110];int main(){ scanf("%d",&t); while(t--) { scanf("%d",&n); k=0; flag=0; for(int i=0;i<n;i++) { scanf("%s",a); for(int j=0;j<strlen(a);j++) b[k++]=a[j]; } for(int i=0;i<k;i++) { if(b[i]!='0') { for(int j=i;j<k;j++) printf("%c",b[j]); flag=1; break; } } if(flag==0) printf("0"); printf("\n"); } return 0;}
若有什么问题可以在评论区一起讨论。
0 0
- zcmu1691
- java虚拟机-垃圾收集算法
- 学计算机的都是一群疯子!!!!
- Linux_ 路径 /sbin | /bin | /usr/bin | /usr/sbin 的含义
- 使用Jmeter进行http接口测试
- 什么是SpringBoot
- zcmu1691
- 高效的LINQ语句(一)
- Retrofit 使用心得 -使用Retrofit2框架下载大文件
- 关于Windows 7 64位系统 HP M1319f 打印机无法扫描的解决办法
- phoenix upsert 源码分析
- 秒表功能
- Android简单扫码APP设计——从欢迎、登陆到主功能界面
- python+win32+ie浏览器操作
- 水池数目