个位数统计pat-1021
来源:互联网 发布:淘宝联盟返现 编辑:程序博客网 时间:2024/06/06 03:38
给定一个k位整数N = dk-1*10k-1 + ... + d1*101 + d0 (0<=di<=9, i=0,...,k-1, dk-1>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定N = 100311,则有2个0,3个1,和1个3。
输入格式:
每个输入包含1个测试用例,即一个不超过1000位的正整数N。
输出格式:
对N中每一种不同的个位数字,以D:M的格式在一行中输出该位数字D及其在N中出现的次数M。要求按D的升序输出。
输入样例:100311
输出样例:0:21:33:1
题意:给你一段字符串,统计字符串中每个数字的个数,从小到大输出。
我的思路:首先输入一个字符串,然后for循环遍历整个字符串,计算出字符串中每个字符的数量,
然后当数量不为零时,按顺序输出。
(然后附上我的代码,这题写了100+行,然后被叶学长无情的嘲讽了,接下来是他A的代码,只有20行呦)
#include <stdio.h>#include <string.h>int main(){ char a[1005]; scanf("%s",a); int len1=strlen(a); int sum1=0,sum2=0,sum3=0,sum4=0,sum5=0,sum6=0,sum7=0,sum8=0,sum9=0,sum=0; for(int i=0;i<len1;i++) { if(a[i]=='0') { sum1++; } if(a[i]=='1') { sum2++; } if(a[i]=='2') { sum3++; } if(a[i]=='3') { sum4++; } if(a[i]=='4') { sum5++; } if(a[i]=='5') { sum6++; } if(a[i]=='6') { sum7++; } if(a[i]=='7') { sum8++; } if(a[i]=='8') { sum9++; } if(a[i]=='9') { sum++; } } if(sum1!=0) { printf("0:%d\n",sum1); } if(sum2!=0) { printf("1:%d\n",sum2); } if(sum3!=0) { printf("2:%d\n",sum3); } if(sum4!=0) { printf("3:%d\n",sum4); } if(sum5!=0) { printf("4:%d\n",sum5); } if(sum6!=0) { printf("5:%d\n",sum6); } if(sum7!=0) { printf("6:%d\n",sum7); } if(sum8!=0) { printf("7:%d\n",sum8); } if(sum9!=0) { printf("8:%d\n",sum9); } if(sum!=0) { printf("9:%d\n",sum); } return 0; }
接下来是大神的代码:
#include<iostream>#include<cstring>#include<cstdio>using namespace std;int sum[10];char str[1005];int main( ){memset(sum,0,sizeof(sum));cin >> str;int len = strlen(str);for(int j = 0; j < len; j++)sum[str[j] - '0']++;for(int j = 0; j < 10; j++)if(sum[j] != 0)printf("%d:%d\n",j,sum[j]);}
阅读全文
1 0
- PAT 1021 个位数统计
- PAT-1021 个位数统计
- 1021,个位数统计,PAT
- PAT 1021 个位数统计
- PAT 1021 个位数统计
- PAT 1021个位数统计
- 个位数统计pat-1021
- PAT 1021 个位数统计
- PAT[1021]个位数统计
- PAT-1021(个位数统计)
- PAT 1021 个位数统计
- PAT BASIC 1021 个位数统计
- PAT乙级1021 个位数统计
- PAT(basic level) 1021 个位数统计(15)
- PAT 乙级 1021 个位数统计 (15)
- PAT 乙等 1021 个位数统计
- PAT 1021. 个位数统计
- PAT B1021 个位数统计
- Nexus私服的使用
- Python for 循环语句
- 心急的C小加
- 6
- 批量删除
- 个位数统计pat-1021
- Prime Path
- 6
- oracle ITL(事务槽)的理解
- heartbeat高可用+lvs负载均衡
- 为圆角矩形卡片底部添加阴影效果
- CSU-ACM2017暑期训练3-递推与递归 G
- String--每日一练(Reverse Words in a String III)
- C语言基础 (四)指针与数组