STD-study-暑假-大一下-PTA-day1

发布时间 2023-06-30 21:59:00作者: 高手小李

L1-001

#include <iostream>
using namespace std;
int main()
{
    cout<<"Hello World!"<<endl;
    return 0;
}

毫无难度

L1-002 打印沙漏

#include <stdio.h>
#include <math.h>
int main()
{
    int n;//符号的个数
    char c;//符号
    scanf("%d %c", &n, &c);
    int h = sqrt((n + 1) / 2);//推理可得半数的行数的计算方式(算上中心的一行)
    for (int i = 0; i < h; i++)
    {
        for (int j = 0; j < i; j++)
            printf(" ");//根据行数向中间靠拢打印空格
        for (int j = 0; j < 2 * (h - i) - 1; j++)
            printf("%c", c);//打印符号
        printf("\n");
    }                       //打印的是上半图的(包含中心处的一个)
    for (int i = 2; i <= h; i++)
    {
        for (int j = 0; j < h - i; j++)
            printf(" ");
        for (int j = 0; j < 2 * i - 1; j++)
            printf("%c", c);
        printf("\n");
    }                       //打印下半图的
    printf("%d", n - 2 * h * h + 1);//剩余的符号数

    return 0;
}

L1-003 个位数统计

#include <iostream>
#include <string>
#include <stdio.h>
using namespace std;

int main()
{
    string s;//由于位数太大而采用字符串的形式进行输入
    int num[10] = { 0 };//统计每个数字出现的次数
    cin >> s;
    for (int i = 0; i < s.length(); i++)//length函数获得字符串的长度
    {
        for (int j = '0'; j <= '9'; j++)//遍历整个字符串
        {
            if (s[i] == j)
            {
                int n = j - '0';//将字符化成数字
                num[n]++;//这个数字出现的次数+1
            }
        }
    }
    for (int k = 0; k < 10; k++)
    {
        if (num[k] != 0)//如果这个数字出现过,则输出这个数字及其出现的次数
        {
            cout << k << ':' << num[k] << endl;
        }
    }
    return 0;
}

L1-004 计算摄氏温度

#include <iostream>
using namespace std;

int main()
{
    int c,f;
    cin>>f;
    c=5*(f-32)/9.0;
    cout<<"Celsius = "<<c<<endl;
    return 0;
}

L1-005 考试座位号

#include <iostream>
#include <cstring>
using namespace std;
const int MAX = 1000; // 定义数组的最大长度

typedef struct Stu
{
    string s; // 准考证号
    int a;    // 试机座位号
    int b;    // 考试座位号
} student;

student arr[MAX]; // 用于存储学生信息的数组
int main()
{
    int m, n;
    cin >> n; // 输入学生人数
    for (int i = 0; i < n; i++)
    {
        student p;
        cin >> p.s >> p.a >> p.b; // 输入学生的准考证号、试机座位号和考试座位号
        arr[i] = p; // 将学生信息存入数组
    }
    cin >> m; // 输入需要查询的试机座位号次数
    while (m--)
    {
        int x;
        cin >> x; // 输入要查询的试机座位号
        for (int i = 0; i < n; i++)
        {
            if (arr[i].a == x) // 查找与输入座位号相等的学生信息
            {
                cout << arr[i].s << " "; // 输出学生的准考证号
                cout << arr[i].b << endl; // 输出学生的考试座位号
                break;
            }
        }
    }
    return 0;
}