PTA习题

目录

L1-002 打印沙漏

L1-003 个位数统计


L1-002 打印沙漏

#include <bits/stdc++.h>
using namespace std;

int main()
{
    int n,i;
    char c;
    cin >> n >> c;
    int sum = 1;
    for(i =2;sum+2*(2*i-1)<n;i++){
    sum+=2*(2*i-1);
    }
    sum = n - sum;
    int m =  i-1;
    for( i=m;i>1;i--){
    int k = m - i;
        while(k--){cout << " ";}
    int j =2*i-1;
        while(j--){cout << c ;}
        cout << endl;
    }
    for( i=1;i<=m;i++){ 
    int k = m - i;
        while(k--)cout << " ";
    int j = 2*i-1;
        while(j--){cout << c;}
        cout << endl;
    }
    cout << sum << endl;
}

L1-003 个位数统计

#include <bits/stdc++.h>

using namespace std;

int main()
{
    string str;
    getline(cin,str);
    int cnt0=0,cnt1=0,cnt2=0,cnt3=0,cnt4=0,cnt5=0,cnt6=0;
    int cnt7=0,cnt8=0,cnt9=0;
    int num0=0,num1=0,num2=0,num3=0,num4=0,num5=0;
    int num6=0,num7=0,num8=0,num9=0;
    for(int i=0;i<str.length();i++){
    switch(str[i])
    {
            case '0':num0=0;cnt0++;break;
            case '1':num1=1;cnt1++;break;
            case '2':num2=2;cnt2++;break;
            case '3':num3=3;cnt3++;break;
            case '4':num4=4;cnt4++;break;
            case '5':num5=5;cnt5++;break;
            case '6':num6=6;cnt6++;break;
            case '7':num7=7;cnt7++;break;
            case '8':num8=8;cnt8++;break;
            case '9':num9=9;cnt9++;break;
    }
    }
    if(cnt0!=0){
    printf("%d:%d\n",num0,cnt0);
    }
    if(cnt1!=0){
    printf("%d:%d\n",num1,cnt1);
    }
    if(cnt2!=0){
    printf("%d:%d\n",num2,cnt2);
    }
    if(cnt3!=0){
    printf("%d:%d\n",num3,cnt3);
    }
    if(cnt4!=0){
    printf("%d:%d\n",num4,cnt4);
    }
    if(cnt5!=0){
    printf("%d:%d\n",num5,cnt5);
    }
    if(cnt6!=0){
    printf("%d:%d\n",num6,cnt6);
    }
    if(cnt7!=0){
    printf("%d:%d\n",num7,cnt7);
    }
    if(cnt8!=0){
    printf("%d:%d\n",num8,cnt8);
    }
    if(cnt9!=0){
    printf("%d:%d\n",num9,cnt9);
    }
    return 0;
}

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值