diff --git a/02-1/1/1.c b/02-1/1/1.c new file mode 100644 index 0000000..fc624f9 --- /dev/null +++ b/02-1/1/1.c @@ -0,0 +1,20 @@ +#include +#include + +float dist(float x1,float y1,float x2,float y2){ + return sqrt(pow((x1 - x2), 2) + pow((y1 - y2), 2)); +} +int main(){ + + float x1,y1,x2,y2; + + printf("Input(x1,y1): "); + scanf("%f %f",&x1,&y1); + printf("\n"); + printf("Input(x2,y2): "); + scanf("%f %f",&x2,&y2); + printf("\n"); + + printf("distance=%.2f",dist(x1,y1,x2,y2)); + +} diff --git a/02-1/1/README.md b/02-1/1/README.md new file mode 100644 index 0000000..3583850 --- /dev/null +++ b/02-1/1/README.md @@ -0,0 +1,39 @@ +【问题描述】 + +给定平面任意两点坐标(x1,y1)和(x2,y2),求这两点之间的距离(保留2位小数)。要求定义和调用函数dist(x1, y1, x2,y2)计算两点间的距离。 + +【输入形式】 + +从键盘输入点坐标(x1,y1) + +从键盘输入点坐标(x2,y2) + +【输入输出样例1】(下划线部分表示输入) + +Input(x1,y1): 35.5 48.6 + +Input(x2,y2): 210.7 104.5 + +distance=183.90 + +【样例说明】 + +输入提示符后要加一个空格。例如Input (x1,y1): ,其中:后要加一个且只能一个空格。 + +输入的数据之间以一个空格相隔。 + +输出语句的=;两边无空格。 + +英文字母区分大小写。必须严格按样例输入输出。 + +# 运行结果 + +成功通过编译, 且无编译警告 + +共有测试数据:1 +平均占用内存:2.004K +平均CPU时间:0.00576S +平均墙钟时间:0.00577S + +测试数据 评判结果 +测试数据1 完全正确 diff --git a/02-1/2/2.c b/02-1/2/2.c new file mode 100644 index 0000000..1935dd3 --- /dev/null +++ b/02-1/2/2.c @@ -0,0 +1,10 @@ +/* xtao */ +#include + +int main() +{ + int a; + scanf("%d",&a); + printf("%d %d %d",a%10,a%100/10,a/100); + return 0; +} diff --git a/02-1/2/README.md b/02-1/2/README.md new file mode 100644 index 0000000..c716eb4 --- /dev/null +++ b/02-1/2/README.md @@ -0,0 +1,22 @@ +【问题描述】编程,输入一个三位正整数,求解并输出该数的个位数、十位数和百位数。 + +【输入形式】输入三位正整数 + +【输出形式】依次输出个、十、百位,用空格分隔 + +【样例输入】152 + +【样例输出】2 5 1 + +# 运行结果 + +成功通过编译, 且无编译警告 + +共有测试数据:2 +平均占用内存:1.945K +平均CPU时间:0.00730S +平均墙钟时间:0.00734S + +测试数据 评判结果 +测试数据1 完全正确 +测试数据2 完全正确 diff --git a/02-1/3/3.c b/02-1/3/3.c new file mode 100644 index 0000000..991ebc5 --- /dev/null +++ b/02-1/3/3.c @@ -0,0 +1,12 @@ +#include +#include + +int main() +{ + float money,year,rate,interest; + printf("Enter money,year and rate: \n"); + scanf("%f %f %f",&money,&year,&rate); + interest = money * pow((1 + rate), year) - money; + printf("interest=%.2f",interest); + return 0; +} diff --git a/02-1/3/README.md b/02-1/3/README.md new file mode 100644 index 0000000..afe3ae0 --- /dev/null +++ b/02-1/3/README.md @@ -0,0 +1,29 @@ +【问题描述】输入存款金额money、存期year和年利率rate,根据下列公式计算存款到期时的利息interest(税前),输出时保留2位小数。 + + interest=money(1+rate)year-money + +【样例输入】下划线表示用户输入的数据 + +Enter money,year and rate: 1000 3 0.025 冒号后有一个空格,三个数字之间有一个空格 + +【样例输出】 + +interest=76.89 + +【编程提醒】使用数学函数需要 + +(1)程序开始处加入一行:#include + +(2)语句 z = pow(x,y); 计算x的y次方 + +# 运行结果 + +成功通过编译, 且无编译警告 + +共有测试数据:1 +平均占用内存:2.031K +平均CPU时间:0.00509S +平均墙钟时间:0.00509S + +测试数据 评判结果 +测试数据1 完全正确 diff --git a/02-1/4/4.c b/02-1/4/4.c new file mode 100644 index 0000000..45061f9 --- /dev/null +++ b/02-1/4/4.c @@ -0,0 +1,14 @@ +#include + +int main() +{ + int a,h=0,m=0,s=0; + printf("Please input time in seconds:"); + scanf("%d",&a); + h = a / 3600; + a = a % 3600; + m = a / 60; + s = a % 60; + printf("\nHours: %d\nMinutes: %d\nSeconds: %d",h,m,s); + return 0; +} diff --git a/02-1/4/README.md b/02-1/4/README.md new file mode 100644 index 0000000..527fc3e --- /dev/null +++ b/02-1/4/README.md @@ -0,0 +1,27 @@ +【问题描述】 + + 提示用户输入秒数,然后给出这个秒数里面整小时数,剩余部分继续转换为整分钟数,并给出剩余多少秒。 + +【输入形式】 + +Please input time in seconds:1234567 + +【输出形式】 + +Hours: 342 + +Minutes: 56 + +Seconds: 7 + +# 运行结果 + +成功通过编译, 且无编译警告 + +共有测试数据:1 +平均占用内存:1.945K +平均CPU时间:0.00717S +平均墙钟时间:0.00719S + +测试数据 评判结果 +测试数据1 完全正确 diff --git a/02-1/5/5.c b/02-1/5/5.c new file mode 100644 index 0000000..3837caf --- /dev/null +++ b/02-1/5/5.c @@ -0,0 +1,10 @@ +#include + +int main() +{ + int a1,a2,b1,b2; + printf("Input a1,a2,b1,b2:"); + scanf("%d %d %d %d",&a1,&a2,&b1,&b2); + printf("\n(%d+%di)*(%d+%di)=%d+%di",a1,a2,b1,b2,a1*b1-a2*b2,a1*b2+a2*b1); + return 0; +} diff --git a/02-1/5/README.md b/02-1/5/README.md new file mode 100644 index 0000000..e614d15 --- /dev/null +++ b/02-1/5/README.md @@ -0,0 +1,27 @@ +【问题描述】输入4个整数a1,a2,b1,b2,分别表示2个复数的实部与虚部。利用结构变量求解2个复数之积:(a1+a2i)×(b1+b2i),乘积的实部为:a1×b1-a2×b2,虚部为:a1×b2+a2×b1 + +【输入形式】依次输入4个整数a1,a2,b1,b2,分别表示2个复数的实部与虚部 + +【输入输出样例】(下划线部分表示输入) + +Input a1,a2,b1,b2:3 4 5 6 + +`(3+4i)*(5+6i)=-9+38i` + +【样例说明】 + +输出积复数,输出格式为 `(%d+%di)*(%d+%di)=%d+%di` + +标点符号全部为英文 + +# 运行结果 + +成功通过编译, 且无编译警告 + +共有测试数据:1 +平均占用内存:1.949K +平均CPU时间:0.00573S +平均墙钟时间:0.00573S + +测试数据 评判结果 +测试数据1 完全正确 diff --git a/02-1/6/6.c b/02-1/6/6.c new file mode 100644 index 0000000..f7262a4 --- /dev/null +++ b/02-1/6/6.c @@ -0,0 +1,9 @@ +#include + +int main() +{ + int h,m,s; + scanf("%d:%d:%d",&h,&m,&s); + printf("%d",h*3600+m*60+s); + return 0; +} diff --git a/02-1/6/README.md b/02-1/6/README.md new file mode 100644 index 0000000..01793e0 --- /dev/null +++ b/02-1/6/README.md @@ -0,0 +1,22 @@ +【问题描述】计算某个时间(x时y分z秒)距离0时0分0秒有多少分钟? + +【输入形式】15:20:21 + +【输出形式】55221 + + +提示:输入时scanf中应该包含普通字符“:”,即“%d:%d:%d” + +# 运行结果 + +成功通过编译, 且无编译警告 + +共有测试数据:3 +平均占用内存:1.946K +平均CPU时间:0.00526S +平均墙钟时间:0.00527S + +测试数据 评判结果 +测试数据1 完全正确 +测试数据2 完全正确 +测试数据3 完全正确 diff --git a/02-1/README.md b/02-1/README.md new file mode 100644 index 0000000..357e6dc --- /dev/null +++ b/02-1/README.md @@ -0,0 +1,3 @@ +# 第二章 作业 + +> 作业时间: 2021-09-28 10:57:00 至 2021-10-10 23:55:00 diff --git a/README.md b/README.md index e656735..eb8c73a 100644 --- a/README.md +++ b/README.md @@ -17,3 +17,10 @@ A repo to record my study life. - [ex2.2 整数的四则运算](https://github.com/xtaodada/C-study/tree/master/02/2) - [ex2.3 输入三角形三边长计算三角形的面积](https://github.com/xtaodada/C-study/tree/master/02/3) - [ex2.4 字母的大小写转换](https://github.com/xtaodada/C-study/tree/master/02/4) +- [第二章 作业](https://github.com/xtaodada/C-study/tree/master/02-1) + - [1. 求平面上任意两点间的距离](https://github.com/xtaodada/C-study/tree/master/02-1/1) + - [2. 输入一个三位正整数,求解并输出该数的个位数、十位数和百位数。](https://github.com/xtaodada/C-study/tree/master/02-1/2) + - [3. 编程求存款到期利息](https://github.com/xtaodada/C-study/tree/master/02-1/3) + - [4. 时间换算](https://github.com/xtaodada/C-study/tree/master/02-1/4) + - [5. 求复数之积](https://github.com/xtaodada/C-study/tree/master/02-1/5) + - [6. 计算时间差](https://github.com/xtaodada/C-study/tree/master/02-1/6)