第四周作业提交
来源:互联网 发布:sql和mysql学哪个 编辑:程序博客网 时间:2024/05/16 09:08
实验作业
1.完成课本每一个编程题。要求先画出流程算法图或N-S图,然后编程实现,有可能的话使用两种以上方法;
2.编程求“百钱百鸡”问题。(鸡翁一值钱五,鸡母 一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?)
3.编程输入一个整数,计算它是几位数字,分别输出每一位数字,并输出各个数位上数字之和。
4.在一个平面上,有四个圆柱形塔,塔底圆心坐标分别为(2,2)、(-2,2)、(-2,-2)、(2,-2),塔半径为1,塔高为10米,塔外无建筑物。编程,输入任一个点平面坐标,求该点建筑物的高度。
5.编程计算s=1!+2!+3!+......n!(其中n为整数,n!表示计算n阶乘),要求使用两种以上的方法。
6.猴子吃苹果问题:猴子第一天摘了若干个苹果,当时吃了一半,还不过隐,又多吃了一个。第二天,又吃掉余下的一半,又多吃一个。以后每一天,都是吃掉前一天余下的一半零一个。到第10天,只有一个苹果了。问猴子第一天共摘了多少个苹果?
7.计算s[n]=a+aa+aaa+aa...a(n个)的值。其中a是一个数字,n表示a的位数。例如,当a=1,n=5时,则要计算的表达式为 s[5]=1+11+111+1111+11111
8.打印九九乘法表。
9.两个羽毛队进行单打比赛,各出3个人。甲队为张三、李四、王五3个队员,已队为陈六、赵七、宋八3个队员。现已经抽签决定比赛名单,有人向队员打听比赛名单,张三说他不和陈六打,王五说他不和陈六和宋八打。请编程找出3对比赛名单。
10.积累调试程序经验,收集错误信息原因(每个同学收集3-5条错误信息原因,并输入电脑形成文字)。n 作业要求网上提交各个程序和相关要求的文字。可以分两个博客文章来交。前5个题和后5个题各放到一个博客文章中提交。
1)课本编程题 (有几个题还没做,迟点补上)
习题7
//将输入数据按照小于10 , 10-100,100-1000 ,1000以上分类显示//by Tin Lin# include <iostream>using namespace std ;int main(){float i ;cout << "请输入一个数:" ;cin >> i ;if (i < 10)cout << i << " " << "is less than 10" << endl ;else if (i >= 10 && i <= 100)cout << i << " " << "is 10 to 100" << endl ;else if (i >= 100 && i <= 1000)cout << i << " " << "is 100 to 1000" << endl ;else if (i > 1000)cout << i << " " << "is greater than 1000" << endl ;return 0 ;}
习题9
//求满足1^2+2^2 +3^2 +……+n^2<=1000的最大n值// by Tin Lin# include <iostream>using namespace std ;int main (){int n = 1 , sum = 0;do{sum = sum + n * n ;n++ ;} while (sum <= 1000) ;cout << --n << endl ;return 0 ;}
</pre><p></p><p></p><p></p><p></p><p><span style="font-size: 18px;"><span style="font-size:14px"><span style="font-size:14px">2)百鸡问题</span></span></span></p><p></p><pre code_snippet_id="267413" snippet_file_name="blog_20140331_4_6197102" name="code" class="cpp">//百鸡问题//by Tin Lin # include <iostream> using namespace std ; int main () { <span style="white-space:pre"></span>int i , j , k ; cout << endl ;cout << "方案为:" << endl ; for (i = 0 ; i < 100 ; i++) {for (j = 0 ; j < 100 ; j++) {for (k = 0 ; k < 100 ; k+=3) { if(5*i+3*j+k/3==100 && i+j+k==100) cout << "鸡翁" << i << "只"<< "鸡母" << j << "只" << "鸡雏" << k << "只"<< endl ; } } } return 0 ; }
3)编程输入一个整数,计算它是几位数字,分别输出每一位数字,并输出各个数位上数字之和。
//输入一个整数,计算它是几位数字,分别输出每一位数字,并输出各个数位上数字之和。//by Tin Lin# include <iostream>using namespace std ;int main(){int a , b , c = 0 , d ,temp , s = 0 ;cout << "请输入一个整数" ;//该数不能太大,不然会溢出cin >> a ;b = a ;d = a ;do {a = a / 10 ;c = c++ ;} while ( a > 0 ) ;cout << "该数为" << c << "位数" << endl << endl ;cout << "该数" << d << "每个位上的数分别为" ;do{temp = b % 10 ;b = b / 10 ;s = s + temp ;cout << temp << "\t" ;} while ( b > 0) ;cout << endl ;cout << "该数每一位相加之和为:" << s << endl ;return 0 ;}
4)在一个平面上,有四个圆柱形塔,塔底圆心坐标分别为(2,2)、(-2,2)、(-2,-2)、(2,-2),塔半径为1,塔高为10米,塔外无建筑物。编程,输入任一个点平面坐标,求该点建筑物的高度。
// 求建筑物的高度// by Tin Lin# include <iostream># include <math.h>using namespace std ;int main(){float x , y , d ;cout << "输入横坐标x:";cin >> x ;cout << "输入纵坐标y:";cin >> y ;x = fabs(x) ;y = fabs(y) ;d = sqrt((x - 2) * (x - 2) + (y - 2) * (y - 2)) ;<span style="white-space:pre"></span>//求(|x| , |y|) 到点(2,2)的距离if (d <= 1)cout << "该点坐标为:(" << x << "," << y << ")" <<"该建筑物的高度为10米" << endl ;else cout << "该建筑物的高度为0" << endl ;return 0 ;}
5)计算s=1!+2!+3!+......n!(其中n为整数,n!表示计算n阶乘),要求使用两种以上的方法。
// 计算s=1!+2!+3!+4!+5!+……+n!//by Tin Lin # include <iostream>using namespace std ;int main (){int i , n , s = 1 , sum = 0 ;cout << "请输入任意一个自然数n=" ;cin >> n ;for (i = 1 ; i <= n ; i++){s = s * i ;sum = sum + s ;}cout << "sum = 1!+2!+……+" << n << "!" << "=" << sum << endl ;return 0 ;}
方法二
// 计算s=1!+2!+3!+4!+5!+……+n!//by Tin Lin # include <iostream>using namespace std ;int main (){int i , n , s = 1 , sum = 0 ;cout << "请输入任意一个自然数n=" ;cin >> n ; i = 1 ; do{s = s * i ;sum = sum + s ;i++ ;} while (i <= n);cout << "sum = 1!+2!+……+" << n << "!" << "=" << sum << endl ;return 0 ;}
6)猴子吃苹果问题:猴子第一天摘了若干个苹果,当时吃了一半,还不过隐,又多吃了一个。第二天,又吃掉余下的一半,又多吃一个。以后每一天,都是吃掉前一天余下的一半零一个。到第10天,只有一个苹果了。问猴子第一天共摘了多少个苹果?
//猴子吃苹果问题// by Tin Lin# include <iostream>using namespace std ;int main (){ int sum = 1 , t ;for (t = 1 ; t <= 9 ; ++t){sum = (sum + 1) * 2 ;}cout << endl << endl ;cout << "答案是" << sum << endl ;return 0 ;}
7)计算s[n]=a+aa+aaa+aa...a(n个)的值。其中a是一个数字,n表示a的位数。例如,当a=1,n=5时,则要计算的表达式为s[5]=1+11+111+1111+11111
//计算s[n] = a+aa+aaa+aaaa... // by Tin Lin # include <iostream> using namespace std ; int main () { int a , n , t ,i = 0 ,s = 0 ; cout << "请输入a的值" ; cin >> a ; cout << "请输入n的值" ; cin >> n ; for (t = 1 ; t <= n ; t++) {i = 10 * i + a ;s = s + i ;}cout << endl ;cout << "所以" << "S["<< n <<"]=" << s << endl ;return 0 ;}
8)打印九九乘法表。
//九九乘法口诀// by Tin Lin# include <iostream>using namespace std ;int main (){int i , j , s ;for (i = 1 ; i <= 9 ; i++){for (j = 1 ; j <= i ; j++){s = i * j ;cout << i << "*" << j << "=" << s << "\t" ;}cout << endl ;}return 0 ;}
补交的作业
习题5
//求e得近似值//by Tin Lin# include <iostream># include <cmath>using namespace std ;int main (){int i = 1 ;long double j = 0 , temp = 1 , por, result = 0 ;do {temp = temp * i ;j = j + temp ;i++ ;por = 1 / temp ;result += por ;}while (fabs(por)>=1e-5) ;cout << "e = " << result + 1 << endl ;return 0 ;}
//求e得近似值//by Tin Lin# include <iostream># include <cmath>using namespace std ;int main (){int i = 1 ;long double j = 0 , temp = 1 , por, result = 0 ;do {temp = temp * i ;j = j + temp ;i++ ;por = 1 / temp ;result += por ;}while (fabs(por)>=1e-5) ;cout << "e = " << result + 1 << endl ;return 0 ;}
//输出图形#include<iostream>using namespace std;int main(){cout <<" * " << endl ;cout <<" * * * " << endl ;cout <<" * * * * * " << endl ;cout <<" * * * * * * * " << endl ;cout <<" * * * * * " << endl ;cout <<" * * * " << endl ;cout <<" * " << endl ;return 0;}
习题10
//百万富翁和陌生人的换钱问题//by Tin Lin# include <iostream># include <math.h>using namespace std ;int main (){int t , j , i ;float result = 0.0 ;j = 1 ;for (t= 1 ; t < 31 ; t++){j = pow(2,t-1) ;result = j + result ;i = 1000000 * t ;}cout << "一个月中陌生人给了百万富翁"<< result / 1000000 << "万元" << endl ;cout << "百万富翁给了陌生人" << i/100000 << "万元" << endl ;return 0 ;}
9两个羽毛队进行单打比赛,各出3个人。甲队为张三、李四、王五3个队员,已队为陈六、赵七、宋八3个队员。现已经抽签决定比赛名单,有人向队员打听比赛名单,张三说他不和陈六打,王五说他不和陈六和宋八打。请编程找出3对比赛名单。
//羽毛球比赛对战选手名单//by Tin Lin# include <iostream>using namespace std ;int main(){char zhang , li , wang ;cout << "D是陈六,E是赵七,F是宋八" << endl ;for (zhang = 'D' ; zhang <= 'F' ; zhang++)for(li = 'D' ; li <= 'F' ; li++)for (wang = 'D' ; wang <= 'F' ; wang++){if (zhang != li && zhang != wang && li != wang)//排除重复if (zhang != 'D' && wang != 'D' && wang != 'F' )//排除已知情况{cout << "张三VS" << zhang << endl ;cout << "李四VS" << li << endl ;cout << "王五VS" << wang << endl ;}}return 0 ;}
习题7修改后
//将输入数据按照小于10 , 10-100,100-1000 ,1000以上分类显示 // by Tin Lin # include <iostream> using namespace std ; int main() { float i ; cout << "请输入一个数:" ; cin >> i ; if (i < 10) cout << i << " " << "is less than 10" << endl ; else if ( i < 101) cout << i << " " << "is 10 to 100" << endl ; else if (i < 1001) cout << i << " " << "is 100 to 1000" << endl ; else cout << i << " " << "is greater than 1000" << endl ; return 0 ; }
- 第四周作业提交
- 第四周作业
- 第四周作业 1
- 第四周作业 4
- 第四周作业 2
- 第四周作业
- 第四周作业二
- 第四周作业三
- 第四周作业1
- 第四周作业2
- 第四周作业
- Java第四周作业
- 第四周作业:多线程
- 第四周作业
- 第四周作业
- 第四周C++作业
- 第四周作业
- 第四周作业
- dismiss keyboard when touching outside of textfield
- DB2 V10版与C编程相关接口的安装注意事项
- CKeditor使用备注
- a letter and a number
- Ubuntu”ls: error initializing month strings“
- 第四周作业提交
- Delphi TWebBrowser
- Ubuntu 忘记密码怎么修改
- 解决U盘插入状态冷启动机器,app捕抓不到 udev event问题
- ArcGIS 客户端跨版本连接Oracle 地理数据库时的兼容性说明
- Android xml 深入解析shape
- 《Java语言程序设计(Java7)——入门与提高篇》目录
- GDB简单使用
- 8种Nosql数据库系统对比