一.实验题目,设计思路,实现方法
第四次 计算分段函数和循环NEW 4-3 求N分之一序列前N项和 4-6 输出华氏-摄氏温度转换表
第四次 分支+循环 加强版 4-2-7 装睡
设计思路:4-3开始需要计算大量式子,因此利用到相对便捷的方法来省略一些不必要的过程,并且能得到不同数值所得的结果;
4-6需要通过判断确定数值的范围以及在一定范围内取得华氏与摄氏的转换;
4-2-7开始需要输入大量数组进行相应的判断,需要输入大量数据并一一对照从而判断出结果;
实现方法:4-3 运用式子中的规律并通过for的循环得到相应数值的结果;
4-6需要通过if判断相应范围并使用for来得出华氏与摄氏的转换;
4-2-7通过struct数据带入以及for的循环省略了大量数据输入的麻烦,并能一一对照判断得出结果;
二.源程序(可只截取最关键的部分)
#include<stdio.h> int main() {double sum =0,i;int n;scanf("%d", &n);for (i = 1;i <= n;i++){ sum+=1/i;}printf("sum = %.6f",sum);return 0; }
#include<stdio.h> int main() {int fahr=0,lower,upper;double celsius=0.0;scanf("%d %d",&lower,&upper);if(lower>upper){printf("Invalid.");}else if(lower<=upper&&upper<=100){printf("fahr celsius\n");for(fahr=lower;fahr<=upper;fahr+=2){celsius=5.0*(fahr-32)/9;printf("%d%6.1f\n",fahr,celsius);}}return 0; }
#include<stdio.h>struct people{char name[50];int f;int m; }; int main(){int i,n;struct people sl;scanf("%d",&n);for(i=1;i<=n;i++){scanf("%s %d %d",&sl.name,&sl.f,&sl.m);if(sl.f<15||sl.f>20||sl.m<50||sl.m>70){printf("%s\n",sl.name);}}return 0; }
三.遇到的问题及解决方法,心得体会
输出结果格式与题目不符,没有注意题目输入数据是整型还是浮点型,if的判断中没有确定好条件的与或关系
平时多打代码,不懂的地方询问他人以及查询书本,并通过代码软件多次试验