一:
计算机 18 秋_分支结构: 7-7 计算火车运行时间
:
1: 实验代码:
- #include<stdio.h>// 函数声明和定义
- int main()// 主函数
- {
- int x,y,a,b;// 变量定义 整数型
- scanf("%d%d",&x,&y);// 输入 2 个 4 位正整数
- a=y%100-x%100;// 求出分钟的差值
- b=(y/100-x/100);// 求出小时的差值
- if(a<0)// 判断是否需要借位
- {
- a=a+60;// 分向时借 60 分钟
- b --;// 时减去一小时
- }
- printf("%02d:%02d",b,a);// 输出结果
- return 0;
- }
2:(1) 设计思路:
第一步: 进行函数声明与变量定义, 定义题目中涉及的的相关变量;
第二步: 由于输出的是四位数运用,"/" 或 "%" 来进行 "时" 和 "分" 的位数取舍;
第三步: 由于时间的问题涉及到时与分的借位, 所以使用 if 型分支结构来进行判断是否借位
第四步:"时" 与 "分" 的转换为 60 进一在 if 分支结构下设计 a=a+60;b --,"时" 与 "分" 的对应转换
第五步: 输出结果.
( 2 ) 流程图
做题时没有考虑到时间的借位这个容易忽略的问题. 提交时由系统提醒和上网搜索相关知识点并与同学进行交流, 得以了解和更正了时间的借位问题, 在程序插入了 if 型分支结构来判断是否需要借位, 并设计了相关计算法则, 最后答案正确.
计算机 18 秋 - 循环 1:7-3 统计素数并求和;
1: 实验代码
- #include<stdio.h>// 函数声明和定义
- int main(void)// 主函数
- {
- int m,n,i,cnt=0,sum=0;// 变量定义
- scanf("%d%d",&m,&n);// 输入数据
- if(m==1)// 判断 m 输入是否为 1
- m=2;// 赋初值
- for(i=m;i<=n;i++)// 循环从 (1≤M≤N)
- { int z=1;// 定义下面循环用到的变量
- int k;
- for(k=2;k<i-1;k++)// 判断是否为素数
- { if(i%k==0)// 不是素数
- { z=0;
- break;// 跳出此循环
- }
- }
- if(z!=0)// 是素数
- {
- cnt++;// 计个数
- sum=sum+i;// 求素数和
- }
- }
- printf("%d %d\n",cnt,sum);// 输出结果
- return 0;
- }
2:(1) 设计思路:
第一步: 进行变量定义, 定义最主要的循环变量和其他的相关变量, 并且对相应的单位赋初值;
第二步: 由于要判断 1≤M≤N, 需要一个个累加与累除来判断, 则选择使用双 for 型循环来计算与判断素数;
第三步: 循环内判断素数 (定义为在大于 1 的自然数中, 除了 1 和它本身以外不再有其他因数), 用 i%k 是否等于零在内部运用 if 型 1 循环分支的判断, 若等于 0 则跳出循环否则继续;
第四步: 在是素数的循环下设计 cnt++ 来对素数的个数进行计算, 并使用 sum=sum+i, 进行素数求和
第五步: 输出最后的结果.
( 2 ) 流程图:
这个运行出错在于没有考虑循环式初值的一致性, 我先将 printf("%d %d\n",z,k); 插入到 for(i=m;i<=n;i++) 下对循环后 z,k 的进行检查是否出错, 发现若执行了非素数这个判断后会将 z=0, 在下一步循环中 z 将会变成等于 0, 而不是 1 所以导致了后面的错误. 所以我修改程序将 z,k 变量定义时应在第一个 for(i=m;i<=n;i++) 下定义, 否则若进行了非素数循环讲 z=0 后下一步循环 z 的初值将会是 0 而不是 1,
这个发现我是通过将 printf("%d %d\n",z,k); 插入到 for(i=m;i<=n;i++) 下对循环的
计算机 18 秋 - 循环 2:7-5 最佳情侣身高差;
- #include<stdio.h > 函数声明和定义
- int main(void)// 主函数
- {
- int i,n;// 变量定义 整数型
- float m,w;// 浮点数
- char xb;// 字符型
- scanf("%d\n",&n); // 输入一个 正整数 N (前来查询的用户人数)
- for(i=1;i<=n;i++){// 从第一个人到第 N 个人循环
- scanf("%c",&xb);// 输入个人性别
- if(xb=='M')// 判断如果是男, 执行以下过程
- {
- scanf("%f\n",&m);// 输入男性的身高
- w=m/1.09;//(男方的身高)/1.09 =(女方的身高)
- printf("%.2f\n",w);// 输出数女方的身高
- }
- if(xb=='F')// 判断如果是女
- {
- scanf("%f\n",&w);// 输入女性的身高
- m=w*1.09;//(女方的身高)*1.09 =(男方的身高)
- printf("%.2f\n",m);// 输出男方的身高
- }
- }
- return 0;
- }
2: 设计思路:
第一步: 先进行变量定义, 定义循环变量 i, 身高, 等需要的的变量;
第二步: 选择使用 for 型循环;
第三步: 利用 if 型分支节构判断性别
第四步: 根据题目 (女方的身高)*1.09 =(男方的身高), 设计运算法则 w=m/1.09;m=w*1.0 ; 嵌入到对应的分支下;
第四步: 输出最后的结果 .
周 | 周代码数 | 敲代码时长 | 写博客字数 | 写博客时长 | 学习的知识点 |
第九周 | 2800 | 10 | 0 | 0 | 分支结构 if 型与 while 型 |
第十周 | 3000 | 11 | 0 | 0 | 循环中的 while 型循环 |
第十一周 | 3200 | 13 | 0 | 0 | 循环中的 for 型循环与多重循环 |
第十二周 | 2600 | 7 | 0 | 0 | 素数判断与循环结构程序设计 |
第十三周 | 3000 | 9 | 3000 | 6 | 函数定义,调用及函数程序的设计 |
第 1 次作业
来源: http://www.bubuko.com/infodetail-2865273.html