第一次作业
一、PTA
已完成。
二、博客作业
分支结构中题目7-7计算火车运行时间
1.实验代码
#include<stdio.h>
int main()
{
int h, m, depart, arrive;
scanf("%d%d",&depart, &arrive);
h = arrive/100 - depart/100;
m = arrive%100 - depart%100;
if (m < 0)
{
m = 60 + m;
h = h - 1;
}
printf("%02d:%02d\n",h, m);
return 0;
}
2.设计思路
(1)算法
第一步:审题知其输入格式为四位整数,输出格式为“hh:mm”,其中“hh”为两位小时数,“mm”为两位分钟数。
第二步:设置自变量出发时间(depart),到达时间(arrive),和因变量整个旅途所用时间小时(h),分钟(m)。
第三步:利用算式“arrive/100 - depart/100”求出旅途所用时间的小时数(h),利用算式“arrive%100 - depart%100”求出旅途所用时间的分钟数(m)。
第四步:最后利用“printf(“%02d:%02d\n”,h, m);”输出结果。
注意:1.当m<0,m=60+m时,h=h-1。
2.输出时为“%02d”而不是“%d”,“02”用于补位。
(2)流程图
3.本题调试过程碰到问题及解决办法
(1)错误截图:
(2)错误改正:
出现混淆错误,将“m = arrive&100 - depart&100;”中的“&”改为“%”。
循环1中题目7-5 最大公约数和最小公倍数
1.实验代码
#include<stdio.h>
int main()
{
int m, n;
scanf("%d %d", &m, &n);
int a;
a = m%n;
int b;
b = m*n;
if(a == 0)
{
printf("%d %d", n, b/n);
}else
{
while(a != 0)
{
m = n;
n = a;
a = m%n;
}
printf("%d %d", n, b/n);
}
return 0;
}
2.设计思路
(1)算法
第一步:审题知其输入格式为两个正整数,输出格式为这两个正整数的最大公约数和最小公倍数。
第二步:设置自变量两个正整数为m、n,再设置两个参量a,b。
第三步:将“m%n”的值赋给a,“m*n”的值赋给b。
第四步:当a为0时,直接利用“printf("%d %d", n, b/n)”输出结果。当a不为0时,将n的值赋给m,a的值赋给n,“m%n”的值赋给a,循环至a为0时,利用“printf("%d %d", n, b/n)”输出结果。
注意:合理设置参量。
(2)流程图
3.本题调试过程碰到问题及解决办法
(1)错误截图:
(2)错误改正:
出现格式错误,代码由for语句改为while语句。
循环2中题目7-5 最佳情侣身高差
1.实验代码
#include<stdio.h>
int main()
{
int n;
char c;
float h;
scanf("%d",&n);
getchar();
while(n--)
{
scanf("%d %f",&c, &h);
getchar();
if(c == 'M')
{
printf("%.2f\n",h / 1.09);
}else
printf("%.2f\n",h * 1.09);
}
return 0;
}
2.设计思路
(1)算法
第一步:审题知计算公式。第一行输入正整数N,随后n行按照“性别 身高”的格式输入查询者的信息,其中“性别”为“F”表示女性、“性别”为“M”表示男性,“身高”为区间[1.0,3.0]之间的实数。输出数据保留小数点后两位。
第二步:设置变量正整数N(n),身高(h)以及c。
第三步:进入while循环。当输入数据中有符号“M”,利用“printf("%.2f\n",h / 1.09)”输出结果。其他情况时,利用“printf("%.2f\n",h * 1.09)”输出结果。
注意:注意变量c的设置,用“char”而不是“int”。
(2)流程图
3.本题调试过程碰到问题及解决办法
(1)错误截图
(2)错误改正
将参量c的类型改为“char”,用“getchar()”读取字符。
三、总结和学习进度条
1、总结这几周所学内容、遇到的问题以及解决方法。
所学内容:
(1)首先学习了编写简单的C语言程序,例如输出Hello world!。
(2)if-else语句和for语句,例如输出华氏-摄氏温度转换表。
(3)分支结构,例如四则运算。
(4)循环结构中的while语句和do-while语句,break语句和continue语句,例如判断素数。
(5)另外通过完成PTA作业,我学到了float型对应.f,double型对应.lf。
(6)计算幂的时候用pow(m,n),m为底,n为次数。计算平方用sqrt(m),m为底。
遇到的问题:
(1)语句拼写错误,丢失符号等马虎导致的问题。
(2)参量类型设置错误。
(3)语句运用错误。
(4)个别题型没有设计思路。
解决办法:
(1)每次编译前仔细检查有无拼写错误符号遗漏。
(2)通过查找书籍,网络资料了解各类数据类型和语句的用法。
(3)没有思路的题通过查找仿写他人的代码学习设计思路,并经常回顾练习写代码。
2、点评3个同学的本周作业,并邀请3名同学点评我的作业。
3、请用表格和折线图呈现你这几周的代码行数和时间、博客字数和时间、涉及的知识点。
表格
折线图
(注:错误代码行数不在统计数据中。)