【PTA-C语言】实验一-顺序结构

  • 如果代码存在问题,麻烦大家指正 ~ ~

  • 有帮助麻烦点个赞 ~ ~

    实验一-顺序结构

    • [7-1 逆序的三位数(分数 10)](#7-1 逆序的三位数(分数 10))
    • [7-2 求整数均值(分数 10)](#7-2 求整数均值(分数 10))
    • [7-3 日期格式化(分数 10)](#7-3 日期格式化(分数 10))
    • [7-4 混合类型数据格式化输入(分数 10)](#7-4 混合类型数据格式化输入(分数 10))
    • [7-5 然后是几点(分数 10)](#7-5 然后是几点(分数 10))
    • [7-6 计算存款利息(分数 10)](#7-6 计算存款利息(分数 10))
    • [7-7 计算并联电阻的阻值(分数 10)](#7-7 计算并联电阻的阻值(分数 10))
    • [7-8 每天进步一点点(分数 10)](#7-8 每天进步一点点(分数 10))

7-1 逆序的三位数(分数 10)

作者 翁恺

单位 浙江大学

程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。

输入格式:

每个测试是一个3位的正整数。

输出格式:

输出按位逆序的数。

输入样例:

cpp 复制代码
123

输出样例:

cpp 复制代码
321

鸣谢安阳师范学院软件学院李康康同学补充数据!

代码长度限制

16 KB
时间限制

400 ms
内存限制

64 MB

参考代码

c 复制代码
#include <stdio.h>

int main()
{
    int a, b, c, d;
    scanf("%d", &a);
    b=a/100;
    c=a/10%10;
    d=a%10;
    printf("%d", d*100+10*c+b);
    return 0;
}

7-2 求整数均值(分数 10)

作者 乔林

单位 清华大学

本题要求编写程序,计算4个整数的和与平均值。题目保证输入与输出均在整型范围内。

输入格式:

输入在一行中给出4个整数,其间以空格分隔。

输出格式:

在一行中按照格式"Sum = 和; Average = 平均值"顺序输出和与平均值,其中平均值精确到小数点后一位。

输入样例:

cpp 复制代码
1 2 3 4

输出样例:

cpp 复制代码
Sum = 10; Average = 2.5

代码长度限制

16 KB
时间限制

400 ms
内存限制

64 MB

参考代码

c 复制代码
#include<stdio.h>
main()
{
    int a, b, c, d, s;
    float ave;
    scanf("%d %d %d %d", &a, &b, &c, &d);
    s=a+b+c+d;
    ave = 1.0*s/4;
    printf("Sum = %d; Average = %.1f", s, ave);
    return 0;
}

7-3 日期格式化(分数 10)

作者 陈越

单位 浙江大学

世界上不同国家有不同的写日期的习惯。比如美国人习惯写成"月-日-年",而中国人习惯写成"年-月-日"。下面请你写个程序,自动把读入的美国格式的日期改写成中国习惯的日期。

输入格式:

输入在一行中按照"mm-dd-yyyy"的格式给出月、日、年。题目保证给出的日期是1900年元旦至今合法的日期。

输出格式:

在一行中按照"yyyy-mm-dd"的格式给出年、月、日。

输入样例:

cpp 复制代码
03-15-2017

输出样例:

cpp 复制代码
2017-03-15

代码长度限制

16 KB
时间限制

400 ms
内存限制

64 MB

参考代码

c 复制代码
#include<stdio.h>
int main()
{
    int year, month, day;
    scanf("%d-%d-%d", &month, &day, &year);
    printf("%d-%02d-%02d", year, month, day);
    return 0;
}

7-4 混合类型数据格式化输入(分数 10)

作者 乔林

单位 清华大学

本题要求编写程序,顺序读入浮点数1、整数、字符、浮点数2,再按照字符、整数、浮点数1、浮点数2的顺序输出。

输入格式:

输入在一行中顺序给出浮点数1、整数、字符、浮点数2,其间以1个空格分隔。

输出格式:

在一行中按照字符、整数、浮点数1、浮点数2的顺序输出,其中浮点数保留小数点后2位。

输入样例:

cpp 复制代码
2.12 88 c 4.7

输出样例:

cpp 复制代码
c 88 2.12 4.70

代码长度限制

16 KB
时间限制

400 ms
内存限制

64 MB

参考代码

c 复制代码
#include <stdio.h>
int main()
{
    char c;
    int d;
    double f1, f2;
    scanf("%lf%d %c%lf", &f1, &d, &c, &f2);
    printf("%c %d %.2f %.2f", c, d, f1, f2);
    return 0;
}

7-5 然后是几点(分数 10)

作者 翁恺

单位 浙江大学

有时候人们用四位数字表示一个时间,比如 1106 表示 11 点零 6 分。现在,你的程序要根据起始时间和流逝的时间计算出终止时间。

读入两个数字,第一个数字以这样的四位数字表示当前时间,第二个数字表示分钟数,计算当前时间经过那么多分钟后是几点,结果也表示为四位数字。当小时为个位数时,没有前导的零,例如 530 分表示为 530030 分表示为 030。注意,第二个数字表示的分钟数可能超过 60,也可能是负数。

输入格式:

输入在一行中给出 2 个整数,分别是四位数字表示的起始时间、以及流逝的分钟数,其间以空格分隔。注意:在起始时间中,当小时为个位数时,没有前导的零,即 530 分表示为 530030 分表示为 030。流逝的分钟数可能超过 60,也可能是负数。

输出格式:

输出不多于四位数字表示的终止时间,当小时为个位数时,没有前导的零。题目保证起始时间和终止时间在同一天内。

输入样例:

cpp 复制代码
1120 110

输出样例:

cpp 复制代码
1310

鸣谢燕山大学穆运峰老师、用户任钰补充数据!

代码长度限制

16 KB
时间限制

400 ms
内存限制

64 MB

参考代码

c 复制代码
#include<stdio.h>
int main()
{
    int a, b, c;
    scanf("%d%d", &a, &b);
    c = a/100*60+a%100;
    c = c+b;
    c = c/60*100+c%60;
    printf("%03d", c);
    return 0;
}

7-6 计算存款利息(分数 10)

作者 颜晖

单位 浙大城市学院

本题目要求计算存款利息,计算公式为 i n t e r e s t = m o n e y × ( 1 + r a t e ) y e a r − m o n e y interest=money×(1+rate)^{year} − money interest=money×(1+rate)year−money,其中 i n t e r e s t interest interest为存款到期时的利息(税前), m o n e y money money是存款金额, y e a r year year是存期, r a t e rate rate是年利率。

输入格式:

输入在一行中顺序给出三个正实数 m o n e y money money、 y e a r year year和 r a t e rate rate,以空格分隔。

输出格式:

在一行中按"interest = 利息"的格式输出,其中利息保留两位小数。

输入样例:

cpp 复制代码
1000 3 0.025

输出样例:

cpp 复制代码
interest = 76.89

代码长度限制

16 KB
时间限制

400 ms
内存限制

64 MB

参考代码

c 复制代码
# include<stdio.h>
# include<math.h>
int main()
{
    double interest, money, rate, year;
    scanf("%lf %lf %lf", &money, &year, &rate);
    interest = money*pow(1+rate,year)-money;
    printf("interest = %0.2lf", interest);
    return 0;
}

7-7 计算并联电阻的阻值(分数 10)

作者 吕曦

单位 武汉理工大学

对于阻值为r1和r2的电阻,其并联电阻阻值公式计算如下: R = 1/(1/r1 + 1/r2),编程计算并联电阻的阻值。

输入格式:

两个电阻阻值大小,实数,以一个空格分开。

输出格式:

并联之后的阻值大小,实数,保留小数点后两位。

输入样例:

cpp 复制代码
2 3

输出样例:

在这里给出相应的输出。例如:

cpp 复制代码
1.20

代码长度限制

16 KB
时间限制

400 ms
内存限制

64 MB

参考代码

c 复制代码
#include<stdio.h>
int main()
{
    double r1, r2, R;
    scanf("%lf %lf", &r1, &r2) ;
    R=1.0/(1.0/r1 + 1.0/r2);
    printf("%.2f", R);
    return 0;
}

7-8 每天进步一点点(分数 10)

作者 周永

单位 西南石油大学

1.01的365次方约等于37.78,意思是每天进步一点点,连续进步一年,进步的量非常可观。从键盘接收一个整数n ,假定输入的n一定在360到366之间(包含边界)。计算1.01的n次方,记为a;计算0.99的n次方,记为b。再计算a在b中占的百分比,就是用a乘以100后除以b。输出三个数据时,前两个数据保留两位小数 ,最后一个数据保留一位小数

输入格式:

输入一个整数,该整数一定在360到366之间。

输出格式:

两个小数和一个百分比数据,三者之间都用一个空格分开。

输入样例:

用户输入365后敲回车键,代表一年的天数。

cpp 复制代码
365

输出样例:

前两个数据保留两位小数,第三个数据保留一位小数且跟上了一个百分号,数据之间有且仅有一个空格。所谓保留是指四舍五入。

cpp 复制代码
37.78 0.03 148066.0%

代码长度限制

4 KB
时间限制

4000 ms
内存限制

100 MB

参考代码

c 复制代码
#include<stdio.h>
#include<math.h>
int main()
{
    double n, a=1.00, b=1.00;
    scanf("%lf", &n);
    a = pow((1.01), n);
    b = pow((0.99), n);
    printf("%.2lf %.2lf %.1lf%\n", a, b, a/b*100);
    return 0;
}
相关推荐
明月看潮生16 分钟前
青少年编程与数学 02-003 Go语言网络编程 15课题、Go语言URL编程
开发语言·网络·青少年编程·golang·编程与数学
小刘|25 分钟前
《Java 实现希尔排序:原理剖析与代码详解》
java·算法·排序算法
南宫理的日知录27 分钟前
99、Python并发编程:多线程的问题、临界资源以及同步机制
开发语言·python·学习·编程学习
jjyangyou29 分钟前
物联网核心安全系列——物联网安全需求
物联网·算法·安全·嵌入式·产品经理·硬件·产品设计
逊嘘44 分钟前
【Java语言】抽象类与接口
java·开发语言·jvm
xinghuitunan44 分钟前
蓝桥杯顺子日期(填空题)
c语言·蓝桥杯
van叶~1 小时前
算法妙妙屋-------1.递归的深邃回响:二叉树的奇妙剪枝
c++·算法
Half-up1 小时前
C语言心型代码解析
c语言·开发语言
简简单单做算法1 小时前
基于Retinex算法的图像去雾matlab仿真
算法·matlab·图像去雾·retinex
云卓SKYDROID1 小时前
除草机器人算法以及技术详解!
算法·机器人·科普·高科技·云卓科技·算法技术