第六周作业
来源:互联网 发布:mac 小红点 编辑:程序博客网 时间:2024/04/30 08:48
第四章 数组学习要求和实验
n 学习要求:
理解数组的基本概念,了解数组存储方法。
掌握一维和二维数组定义格式和数组元素使用。了解多维数组的定义和引用形式。
掌握字答数组的定义、字符数组与字符串的关系。
掌握常用字符串处理函数的使用。
进一步掌握循环程序设计技巧和方法。
进一步积累程序调试经验。
n 实验作业
1.调试分析课本每一个例题,有可能的话更改成2-3个方法的新程序;
2.编程实现课本每一个编程习题。
3. 编程定义一个4X5矩阵和5X3矩阵,并计算它们的积。
4.编程输出1到n的平方的自然数构成的“魔方阵”,魔方阵是指它每一行和每一列及对角线之和均相等的方阵。
5.积累调试程序经验,收集错误信息原因(每个同学收集3-5条错误信息原因,并输入电脑形成文字)。
01.// leason4.cpp : Defines the entry point for the console application. 02.//课本习题:冒泡法排序 03. 04.//#include "stdafx.h" 05.#include<iostream> 06.using namespace std; 07.#include<iomanip> 08.int num[5]; 09.int main() 10.{ 11. int a,b,i; 12. cout<<"please input 5 numbers:"<<endl; 13. for(a=0;a<5;a++) 14. cin>>num[a]; 15. cout<<"这五个数是:"; 16. for(a=0;a<5;a++) 17. cout<<setw(5)<<num[a]; 18. cout<<endl; 19. for(a=0;a<5;a++) 20. for(i=4;i>0;i--) 21. if(num[i]>num[i-1]) 22. { b=num[i]; 23. num[i]=num[i-1]; 24. num[i-1]=b; 25. } 26. cout<<"排序后:"; 27. for(a=0;a<5;a++) 28. cout<<setw(4)<<num[a]; 29. cout<<endl; 30. return 0; 31.}
01.// 第四章1.cpp : 定义控制台应用程序的入口点。 02.//选择排序 03. 04.#include "stdafx.h" 05.#include<iostream> 06.using namespace std; 07.//int num[10]; 08.int _tmain(int argc, _TCHAR* argv[]) 09.{ 10. int num[10]; 11. int a,b; 12. int min,n; 13. cout<<"请输入十个数"<<endl; 14. for(a=0;a<10;a++) 15. cin>>num[a]; 16. for(a=0;a<9;a++) 17. { 18. min=a; 19. for(b=a+1;b<10;b++) 20. {if(num[b]<num[min]) 21. min=b;} 22. if(min!=a) 23. {n=num[a];num[a]=num[min];num[min]=n;} 24. cout<<"第"<<a+1<<"次排序结果:"<<endl; 25. for(b=0;b<10;b++) 26. cout<<num[b]<<'\t'; 27. cout<<endl; 28. }; 29. cout<<"最后排列结果:"<<endl; 30. for(a=0;a<10;a++) 31. cout<<num[a]<<'\t'; 32. cout<<endl; 33. return 0; 34.}
01.// 第四章1.cpp : 定义控制台应用程序的入口点。 02.//插入法排序 03. 04.#include "stdafx.h" 05.#include<iostream> 06.#include<iomanip> 07.using namespace std; 08.int num[10]={45,62,18,73,64,58,39,57,85,28}; 09.int _tmain(int argc, _TCHAR* argv[]) 10.{ 11. int a,b; 12. int min,n; 13. //cout<<"请输入十个数"<<endl; 14. //for(a=0;a<10;a++) //每次调试都要输数,真的很麻烦 15. //cin>>num[a]; //所以就在开头定义了 16. cout<<"初始数据:"<<endl; 17. for(a=0;a<10;a++) 18. cout<<setw(5)<<num[a]; 19. cout<<endl; 20. for(a=1;a<10;a++) 21. { 22. min=num[a]; 23. b=a-1; 24. while(b>=0&&num[b]>min) 25. { 26. num[b+1]=num[b]; 27. b--; 28. } 29. num[b+1]=min; 30. cout<<"第"<<a<<"次排序结果:"<<endl; 31. for(b=0;b<10;b++) 32. cout<<setw(5)<<num[b]; 33. cout<<endl; 34. }; 35. cout<<"最后排列结果:"<<endl; 36. for(a=0;a<10;a++) 37. cout<<setw(5)<<num[a]; 38. cout<<endl; 39. return 0; 40.}
01.// 第四章1.cpp : 定义控制台应用程序的入口点。 02.//习题4-3 03. 04.#include "stdafx.h" 05.#include<iostream> 06.#include<iomanip> 07.using namespace std; 08.int num[20]={1,1}; 09.int main() 10.{ 11. int a,b=0; 12. for(a=2;a<20;a++) 13. num[a]=num[a-2]+num[a-1]; 14. cout<<"初始数据:"<<endl; 15. for(a=1;a<=20;a++) 16. { 17. cout<<setw(8)<<num[a-1]; 18. if(a%5==0) 19. cout<<endl; 20. } 21. for(a=0;a<20;a++) 22. if(num[a]>99&&num[a]<1000) 23. b++; 24. cout<<"数列中共有"<<b<<"个三位数"<<endl; 25. cout<<"第十六项数是:"<<num[15]<<endl; 26. return 0; 27.}
01.// 第四章1.cpp : 定义控制台应用程序的入口点。 02.//习题4-2 03. 04.#include "stdafx.h" 05.#include<iostream> 06.#include<iomanip> 07.using namespace std; 08.int num[3][4]; 09.int main() 10.{ 11. int a,b; 12. int min,max; 13. cout<<"请输入12个数"<<endl; 14. for(a=0;a<3;a++) 15. for(b=0;b<4;b++) 16. cin>>num[a][b]; 17. cout<<"初始数据:"<<endl; 18. for(a=0;a<3;a++) 19. { 20. for(b=0;b<4;b++) 21. cout<<"num["<<a<<"]["<<b<<"]="<<num[a][b]<<'\t'; 22. cout<<endl; 23. } 24. cout<<endl; 25. max=num[0][0]; 26. min=num[0][0]; 27. for(a=0;a<3;a++) 28. for(b=0;b<4;b++) 29. { 30. if(max<num[a][b]) 31. max=num[a][b];; 32. if(min>num[a][b]) 33. min=num[a][b]; 34. } 35. for(a=0;a<3;a++) 36. for(b=0;b<4;b++) 37. { 38. if(max==num[a][b]) 39. cout<<"最大项max=num["<<a<<"][" 40. <<b<<"]="<<num[a][b]<<endl;; 41. if(min==num[a][b]) 42. cout<<"最小项min=num["<<a<<"][" 43. <<b<<"]="<<num[a][b]<<endl; 44. } 45. return 0; 46.}
01.// 第四章1.cpp : 定义控制台应用程序的入口点。 02.//习题4-3 03. 04.#include "stdafx.h" 05.#include<iostream> 06.#include<iomanip> 07.using namespace std; 08.int num[20]={1,1}; 09.int main() 10.{ 11. int a,b=0; 12. for(a=2;a<20;a++) 13. num[a]=num[a-2]+num[a-1]; 14. cout<<"初始数据:"<<endl; 15. for(a=1;a<=20;a++) 16. { 17. cout<<setw(8)<<num[a-1]; 18. if(a%5==0) 19. cout<<endl; 20. } 21. for(a=0;a<20;a++) 22. if(num[a]>99&&num[a]<1000) 23. b++; 24. cout<<"数列中共有"<<b<<"个三位数"<<endl; 25. cout<<"第十六项数是:"<<num[15]<<endl; 26. return 0; 27.}
01.// disizhanglianxi2.cpp : 定义控制台应用程序的入口点。 02.// 03. 04.#include "stdafx.h" 05.#include<iostream> 06.#include<iomanip> 07.using namespace std; 08.float A[4][5]={32,65,-23,56,14,15,9,25,41,35,67,42,65,52,35,71,19,29,34,38,}; 09.float B[5][3]={41,52,63,74,15,24,31,-41,65,-18,27,23,69,48,56,}; 10.float C[4][3]; 11.int main() 12.{ 13. int a,b,c,d=0,e,f,g; 14.for(a=0;a<4;a++) 15.{ 16. g=0; 17. for(b=0;b<3;b++) 18. { 19. c=5; 20. e=0; 21. f=0; 22. while(c) 23. { 24. C[a][b]+=A[d][e]*B[f][g]; 25. e++; 26. f++; 27. c--; 28. } 29. g++; 30. } 31. d++; 32. } 33.cout<<"A="<<endl; 34. for(a=0;a<4;a++) 35. { 36. for(b=0;b<5;b++) 37. cout<<setw(8)<<setprecision(5)<<A[a][b]; 38. cout<<endl; 39. } 40.cout<<"B="<<endl; 41.for(e=0;e<5;e++) 42. { 43. for(f=0;f<3;f++) 44. cout<<setw(8)<<setprecision(5)<<B[e][f]; 45. cout<<endl; 46. } 47.cout<<"C=AxB="<<endl; 48.for(c=0;c<4;c++) 49. { 50. for(d=0;d<3;d++) 51. cout<<setw(8)<<setprecision(5)<<C[c][d]; 52. cout<<endl; 53. } 54. 55. return 0; 56.}
01.// disizhanglianxi2.cpp : 定义控制台应用程序的入口点。 02.// 03. 04.#include "stdafx.h" 05.#include<iostream> 06.#include<iomanip> 07.using namespace std; 08. 09.//float A[4][5]={32,65,-23,56,14,15,9,25,41,35,67,42,65,52,35,71,19,29,34,38,}; 10.//float B[5][3]={41,52,63,74,15,24,31,-41,65,-18,27,23,69,48,56,}; 11.//float C[4][3]; 12.int main() 13.{ 14. int a,b,c,d=0,e,f,g,i,k,m,n; 15. float A[20][20],B[20][20],C[20][20]; //由于定义数组时系统会开辟出一块空间, 16. //在写程序时应考虑实际情况,够用就好,杜绝浪费 17. do 18. {cout<<"请确定第一个矩阵的行数i(i<=20)"<<endl; 19. cin>>i;} 20. while(i>20); 21. do 22. { 23. cout<<"请确定第一个矩阵的列数k(k<=20)"<<endl; 24. cin>>k;} 25. while(k>20); 26. do 27. {cout<<"请确定第二个矩阵的行数m(应与第一矩阵列数相等)"<<endl; 28. cin>>m;} 29. while(m!=k); 30. do 31. {cout<<"请确定第二个矩阵的列数n(n<=20)"<<endl; 32. cin>>n;} 33. while(n>20); 34. cout<<"输入第一个矩阵的元素"<<endl; 35. for(a=0;a<i;a++) 36. for(b=0;b<k;b++) 37. cin>>A[a][b]; 38. cout<<"输入第二个矩阵的元素"<<endl; 39. for(a=0;a<m;a++) 40. for(b=0;b<n;b++) 41. cin>>B[a][b]; 42.for(a=0;a<i;a++) //第一个矩阵的行数为新矩阵行数 43.{ 44. g=0; 45. for(b=0;b<n;b++) //第二个矩阵的列数为新矩阵列数 46. { 47. c=k; //这是由第一矩阵列数决定的 48. e=0; 49. f=0; 50. while(c) 51. { 52. C[a][b]+=A[d][e]*B[f][g]; 53. e++; 54. f++; 55. c--; 56. } 57. g++; 58. } 59. d++; 60. } 61.cout<<"A="<<endl; 62. for(a=0;a<i;a++) 63. { 64. for(b=0;b<k;b++) 65. cout<<setw(8)<<setprecision(5)<<A[a][b]; 66. cout<<endl; 67. } 68.cout<<"B="<<endl; 69.for(e=0;e<m;e++) 70. { 71. for(f=0;f<n;f++) 72. cout<<setw(8)<<setprecision(5)<<B[e][f]; 73. cout<<endl; 74. } 75.cout<<"C=AxB="<<endl; 76.for(a=0;a<i;a++) 77. { 78. for(b=0;b<n;b++) 79. cout<<setw(8)<<setprecision(5)<<C[a][b]; 80. cout<<endl; 81. } 82. 83. return 0; 84.}
很多都不会的说
0 0
- 第六周作业
- 第六周作业
- 第六周作业 3
- 第六周作业 4
- 第六周作业 5
- 第六周作业
- 第六周作业
- 第六周作业
- Java第六周作业
- 第六周作业
- 第六周作业1
- 第六周作业
- 第六周作业
- 第六周作业
- 第六周作业
- 第六周作业
- 第六周作业
- 第六周作业!
- windows下通过cygwin来使用hadoop
- jdbc连接数据库的步骤
- 金山网络实习生面试经历
- polay定理
- 复选框控件CheckBox(选择类控件)
- 第六周作业
- 泛型的Binary Search Tree的实现,并与STL map进行操作性能上的比较
- Linux管道的实现机制
- Struts2返回JSON数据的具体应用范例
- HttpRequest 和HttpWebRequest的区别(转)
- java基础之——局部变量和成员变量的区别?
- 威佐夫博弈模板
- 青春是什么样的味道?
- 巴什博弈