C语言简单算法之求交错序列前N项和,统计学生平均成绩与及格人数,求1到100的和,求奇数分之一序列前N项和,找出最小值,求n!,统计字符,最佳情侣身高差

【1】

1.题目三 求交错序列前N项和

1.实验代码

#include<stdio.h>
int main()
{int i=1,flag=1,x=1,n;double sum=0,item;scanf("%d",&n);while(i<=n){item=flag*i*1.0/x;sum=sum+item;i=i+1;x=2*i-1;flag=-flag;}printf("%.3f",sum);return 0;
}

2.设计思路
(1)主要描述题目算法
第一步:本题要求交错序列前N项和,观察给出的式子,分子和分母都有变化,分子一次加一,分母一次加二,且每增加一个数正负都有变化。
第二步:先思考如何表示每次变化的值,在不考虑正负的情况下item=i1.0/(2i-1),为了方便循环可以让x=2i-1,然后将其中的相关变量进行定义。
第三步:将i,x定义成整型函数,item定义成浮点型函数,定义一个变量flag实现正负的交换,让flag=1,还需要定义一个限制量n,使i大于n的时候实现循环的结束。再定义一个输出的和sum。
第四步:利用while进行循环,循环体内需要进行的式子:item=flagi1.0/x, sum=sum+item;,i=i+1, x=2*i-1, flag=-flag。当i大于n时结束循环。
(2)流程图

3.本题调试过程碰到问题及解决办法
这道题感觉和老师在课上讲的差不多,在刚开始的时候没有注意到分子也是变化,后来发现分子也在变化,就在如何表示分子上出现了问题,当时就觉得用输入的值n就可以,现在想应该是完全没道理的,因为n的值并不随循环变化,要看输入者输入什么。在c++中并不显示错误,但运行的结果是不正确的,经过调试发现了问题。

4.本题PTA提交列表

2.题目五 统计学生平均成绩与及格人数

1.实验代码

#include<stdio.h>
int main()
{int count,i=1,n,grade;double sum;count=0;sum=0; scanf("%d",&n);if(n!=0){while(i<=n){scanf("%d",&grade);if(grade>=60)count++; sum=sum+grade;i++;}printf("average = %.1f\n",sum/n);}else {printf("average = 0.0\n");}printf("count = %d",count);return 0;}

2.设计思路
(1)主要描述题目算法
第一步:本题要求学生平均成绩与及格人数,先输入要求的人数n,再在下一行依次输出相应的成绩。输出平均数和及格人数。
第二步:本题要定义及格人数count,要求成绩的人数n,每个学生的成绩grade以及一个相关变量i。他们皆是整型函数。还要定义所有成绩的和sum,为浮点数。
第三步:本题要考虑输入的n的值,当n不等于0时可以进行循环体求平均数及及格人数,当n=0时,直接输出平均数为0.
第四步:当n不等于0时,利用while进行循环,每输入一个成绩就进行一次成绩的累加,当输入成绩大于60时,及格人数就加1,直到i的值大于所输入的n值时,结束循环,输出平均数(average=sum/n)
第五步:n的值不影响及格人数的输出,所以及格人数的输出不用进入循环体。
(2)流程图

3.本题调试过程碰到问题及解决办法
依照开始看这道题产生的设计思路无非是定义一个输出的n值,进行循环体实现成绩的累加,将成绩超过60的个数提出来,最后输出总成绩除以n算出平均数和成绩超过60的个数,编译出的代码如下

在C++里是完全正确的,但到了pta里就显示答案错误,看了同学打的代码,发现还要考虑n等不等于0,我觉的很有道理,整改后在pta中提交成功了。

4.本题PTA提交列表

【附加题】

1.题目一 求1到100的和

1.实验代码

#include <stdio.h>
int main()
{int i,sum;i=1;sum=0;while(i<=100){sum=sum+i;i++;}printf("sum = %d",sum);return 0;
}

2.设计思路
(1)主要描述题目算法
第一步:本题要求1到100的和,利用while循环语句能够达到目的。
第二步:定义一个和sum和一个循环需用的变量i。
第三步:当i小于等于100是进行循环体,直到都i大于100时结束循环,输出最后的结果。
(2)流程图
3.本题调试过程碰到问题及解决办法
4.本题PTA提交列表

2.题目二 求奇数分之一序列前N项和

1.实验代码

#include<stdio.h>
int main()
{double sum;int i,n;sum=0;scanf("%d",&n);for(i=1;i<=n;i=i+1){sum=sum+1.0/(2*i-1);} printf("sum = %.6f\n",sum);return 0;
}

2.设计思路
(1)主要描述题目算法
第一步:本题要求求奇数分之一序列前N项和,需要利用for循环语句实现。
第二步:根据输入值的大小决定循环体合何时结束,将此值定义成n。
第三步:将所求的和定义成sum,还要定义一个循环需用的变量i
第四步:当i的值超过输入的n值后结束循环体,输出sum(sum=sum+1.0/(2*i-1))
注:输出的和sum要求保留6位小数,所以sum=%.6f。
(2)流程图
3.本题调试过程碰到问题及解决办法
4.本题PTA提交列表

3.题目四找出最小值

1.实验代码

#include<stdio.h>
int main()
{int i=1,x,y,n,min;scanf("%d%d",&n,&x);while(i<n){scanf("%d",&y); if(x>y) x=y;i++;}printf("min = %d",x);return 0;}

2.设计思路
(1)主要描述题目算法
(2)流程图
3.本题调试过程碰到问题及解决办法
4.本题PTA提交列表

4.题目六 求n!

1.实验代码

#include<stdio.h>
int main()
{int i=1,n=1,a;scanf("%d",&a);while(i<=a){ scanf("%d",&n);n=n*i;i=i+1;}printf("%d",n);return 0;
}

2.设计思路
(1)主要描述题目算法
(2)流程图
3.本题调试过程碰到问题及解决办法
4.本题PTA提交列表

5.题目七 统计字符

#include<stdio.h>
int main()
{int i,letter=0,blank =0,digit =0,other=0;char x;for(i=1;i<=10;i=i+1){scanf("%c",&x);if(x>='A'&&x<='Z'){letter++;}else if(x>='a'&&x<='z'){letter++;}else if(x>='0'&&x<='9'){digit++;}else if(x=='\n'){blank++;}else if(x==' '){blank++;}else{other++;}}printf("letter = %d, blank = %d, digit = %d, other = %d",letter,blank,digit,other);return 0;
}

2.设计思路
(1)主要描述题目算法
(2)流程图
3.本题调试过程碰到问题及解决办法
4.本题PTA提交列表

6.题目八 最佳情侣身高差

1.实验代码

int main()
{int i,N;double h;char x;scanf("%d\n",&N);for(i=1;i<=N;i++){scanf("\n%c %lf",&x,&h);if(x=='F')printf("%.2lf\n",h*1.09);else  printf("%.2lf\n",h/1.09);}return 0;
}

2.设计思路

(1)主要描述题目算法
(2)流程图
3.本题调试过程碰到问题及解决办法
4.本题PTA提交列表

【2】1.git地址:

https://git.coding.net/sunna1/text.git
1.git截图:

【3】个人总结

(1)学习内容:
本周主要学习的是循环体的所使用,while,do-while,for等循环语句并将他们进行了区分。还讲了循环的镶嵌,如何使用break语句处理多循环条件,以及break和continue的区别。同时还教了如何进行错误调试,介绍了一些常见的数学库函数。
<1>while先进行判断,在进行循环体。do-while先进行循环体再进行判断。
<2>for循环将循环变量赋的初始值,循环条件,循环变量的改变都放在了for的后面。
<3>错误调试:一定要看错误提示,模拟运行过程。

(2)收获:了解了一些新的知识,如学习内容中所说,也学习了新的代码编译。

(3)难点:我觉得本周的难点应该是循环的镶嵌问题,在编译过程中容易混乱。

(4)不明白的知识点:在知识的接受方面没有什么问题,但一到实际操作的时候就会暴露出很多问题,自己一打代码时只要变点就会打不出或是要打很久。难一点就一点思路都没有了。就拿第十三周作业的第三题说吧,读了好多遍都一点思路没有,就进行了百度粘贴,虽然没粘贴同学的,不过性质是一样的,都是别人嚼过的。其实之前的作业百度的题不下少数,像这次直接粘上去的还真是第一回,当时在打代码是有别的事压在一起了,有点着急就直接粘上去了。在百度的时候其实是有一个思考的过程的,但还是不能解决本质上的问题。感觉现在有点像在高中学物理的时候,看见答案就明白什么意思,自己一做就错。而且我觉得自己写博客的顺序错误,我的设计思路都是看着代码打出来,而不是在打代码之前就形成的,有点偏离写博客的初衷。我不想否认自己其实不够努力,但确实有些力不从心。

【4】1.点评作业链接

马宇欣:http://www.cnblogs.com/mayuxin/p/7834515.html
孙美玲:http://www.cnblogs.com/sunmeiling/p/7827950.html
孙佳钰:http://www.cnblogs.com/woshisun/p/7834361.html
2.表格及折线图
(1)表格:

(2)折线图:

C语言简单算法之求交错序列前N项和,统计学生平均成绩与及格人数,求1到100的和,求奇数分之一序列前N项和,找出最小值,求n!,统计字符,最佳情侣身高差相关推荐

  1. 浙大版《C语言程序设计(第3版)》题目集 练习3-3 统计学生平均成绩与及格人数 (15 分)...

    练习3-3 统计学生平均成绩与及格人数 (15 分) 本题要求编写程序,计算学生们的平均成绩,并统计及格(成绩不低于60分)的人数.题目保证输入与输出均在整型范围内. 输入格式: 输入在第一行中给出非 ...

  2. 统计学生平均成绩与及格人数(PTA)

    7-3 统计学生平均成绩与及格人数 (15 分) 本题要求编写程序,计算学生们的平均成绩,并统计及格(成绩不低于60分)的人数.题目保证输入与输出均在整型范围内. 输入格式: 输入在第一行中给出非负整 ...

  3. 【C语言】统计学生平均成绩与及格人数

    本题要求编写程序,计算学生们的平均成绩,并统计及格(成绩不低于60分)的人数.题目保证输入与输出均在整型范围内. 输入格式: 输入在第一行中给出非负整数N,即学生人数.第二行给出N个非负整数,即这N位 ...

  4. C语言练习2-14 求奇数分之一序列前N项和

    C语言练习2-14 求奇数分之一序列前N项和 本题要求编写程序,计算序列 1 + 1/3 + 1/5 + - 的前N项之和. 输入格式: 输入在一行中给出一个正整数N. 输出格式: 在一行中按照&qu ...

  5. 求奇数分之一序列前N项和

    练习2-14 求奇数分之一序列前N项和   (15分) 本题要求编写程序,计算序列 1 + 1/3 + 1/5 + ... 的前N项之和. 输入格式: 输入在一行中给出一个正整数N. 输出格式: 在一 ...

  6. 7-11 求奇数分之一序列前N项和 (15 分)

    7-11 求奇数分之一序列前N项和 (15 分) 本题要求编写程序,计算序列 1 + 1/3 + 1/5 + - 的前N项之和. 输入格式: 输入在一行中给出一个正整数N. 输出格式: 在一行中按照& ...

  7. PTA——求奇数分之一序列前N项和

    求奇数分之一序列前N项和 (15 分) 本题要求编写程序,计算序列 1 + 1/3 + 1/5 + ... 的前N项之和. 输入格式: 输入在一行中给出一个正整数N. 输出格式: 在一行中按照&quo ...

  8. Python 求奇数分之一序列前N项和

    求奇数分之一序列前N项和 题目描述: 计算序列 1 + 1/3 + 1/5 + - 的前N项之和. 输入格式: 输入在一行中给出一个正整数N. 输出格式: 在一行中按照"sum = S&qu ...

  9. L1-040 最佳情侣身高差 (10分)(C语言)

    L1-040 最佳情侣身高差 (10分)(C语言) L1-040 最佳情侣身高差 (10分) 专家通过多组情侣研究数据发现,最佳的情侣身高差遵循着一个公式:(女方的身高)×1.09 =(男方的身高). ...

最新文章

  1. Datawhale组队学习周报(第019周)
  2. v7000更换电池步骤_v7000 gen1 电池更换问题
  3. JQuery操作checkbox、radio
  4. 用ASP实现简单的繁简转换
  5. [Vue]组件——通过$emit为组件自定义事件
  6. 将来时态:I will fly - I'm going to fly - I'm flying_48
  7. linux切换用户无法加载变量,Linux 中用户切换:su 和 su- 的使用 环境变量详解
  8. copy 自定义对象
  9. pdf内容怎么复制到word文档里_PDF转Word要收费?这4种免费实用的方法送你,一分钟统统能搞定...
  10. Fiddler4抓包筛选条件方法
  11. 怎样用html播放喜马拉雅音频文件格式,喜马拉雅音频提取方法
  12. 20个数据可视化工具点评
  13. CentOS7 VMware虚拟机克隆 网卡无法启动问题解决
  14. 【华为机试真题 Python实现】统计射击比赛成绩
  15. latex中自动生成参考文献
  16. 逼自己一把,你就优秀了 【转】
  17. 多进程写同一个日志并发问题分析
  18. P2887 [USACO07NOV]防晒霜Sunscreen - 贪心
  19. JavaScript实现网站首页动态效果
  20. 【收藏】HUE配置HDFS报错Cannot access: /. The HDFS REST service is not available. “ ““

热门文章

  1. currenthashmap底层的CAS原理
  2. 商品上架难?那是你没用对方法
  3. 让尘土回归尘土,宋宝华_第47集:如何扫除尘土飞扬的手指并保持编码状态
  4. TP6.0 采用自动多应用部署,一个入口文件自动对应多个应用
  5. SAS学习笔记44 宏函数
  6. MarkDown 模板素材积累
  7. 【python可迭代对象】
  8. 模电与爱情,人生的故事
  9. 写给自己! 生日快乐!!!
  10. 新版idea右下角没有小人头的解决设置