首页 > 其他 > 详细

PTA编程题

时间:2021-03-14 00:24:05      阅读:23      评论:0      收藏:0      [点我收藏+]

打印沙漏

1.本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印:

__所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。
 给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号.__

输入格式:

输入在一行给出1个正整数N(≤1000)和一个符号,中间以空格分隔。

输出格式:

首先打印出由给定符号组成的最大的沙漏形状,最后在一行中输出剩下没用掉的符号数。

输入样例:

19 *

输出样例:

*****
 ***
  *
 ***
*****
2

代码:

#include<stdio.h>
int main()
{
    int N,k=0;
    char c;
    if(scanf("%d ",&N))
    {};
    c=getchar();
    if(N!=0)
    {
    int i,m=0,n = 0;
    i=3;
    while(n<=(N-1)/2)
    {
        n=n+i;
        m++;
        i=i+2;
    }
    k=m-1;
    n=n-i+2;
    int l=N-n*2-1;
    int w=k;
    for(i=0;i<=k;i++)
    {
        int o=i;
        for(o=o-1;o>=0;o--)
        {
            printf(" ");
        }
        int h=2*w+1;
        while(h>0)
        {
            printf("%c",c);
            h--;
        }
        printf("\n");
        w--;
    }
    for(i=1;i<=m-1;i++)
    {
        for(int q=(2*(m-1)+1-(2*i+1))/2;q>0;q--)
        {
            printf(" ");
        }
        int h=2*i+1;
        while(h>0)
        {
            printf("%c",c);
            h--;
        }
        printf("\n");
    }
    printf("%d\n",l);
    }
    else
        printf("0");
    return 0;
}

各位数统计

给定一个 k 位整数 N=d,技术分享图片

请编写程序统计每种不同的个位数字出现的次数。例如:给定 N=100311,则有 2 个 0,3 个 1,和 1 个 3。

输入格式:

每个输入包含 1 个测试用例,即一个不超过 1000 位的正整数 N。

输出格式:

对 N 中每一种不同的个位数字,以 D:M 的格式在一行中输出该位数字 D 及其在 N 中出现的次数 M。要求按 D 的升序输出。

输入样例:

100311

输出样例:

0:2
1:3
3:1

代码

A = int(input())
s = []
p = 0
m = set()
for t in range(0,1000):
    n = A % 10**(t+1)
    h = 10
    n = int(n / (h**p))
    m.add(n)
    s.append(n)
    p = p + 1
    q = int(A / 10**(t+1))
    if q == 0:
        break

from collections import Counter
c = Counter(s)
keys =list(c.keys())
values = list(c.values())
keys.sort()
i = 0
for keys[i] in keys:
    print(‘{0:1}{1:1}{2:1}‘.format(keys[i],‘:‘,c[keys[i]]))
    i = i+1


PTA编程题

原文:https://www.cnblogs.com/my-boke/p/14530195.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!