标题 | C语言趣味课堂练习之十一 |
范文 | 杨英翔 许崇 摘 要:作者多年从事计算机应用技术研究和教学,在C语言程序设计的教学过程中,作者一直在探索激发学生学习兴趣、降低课程难度、提高学习成绩的有效途径,并提出自己的一些做法供同行们参考。 关键词:C语言;教法;计算机 1 用数组的方法求斐波那契数列前20项 程序说明: ”斐波那契数列”是C语言里很典型的一道题,可以用多种方法解答,本书前文就有用循环求解的方法。 练习方法: (1).程序原型: #include #include #include #include main() { system(“color 2f”); system("title ---斐波那契数列"); system(“mode con cols=130 lines=40”); int f[256]={1,1},i,j,t,k,s; for(i=2;i<20;i++) { f[i]=f[i-1]+f[i-2]; } printf("\n斐波那契数列—————\n"); for(i=0;i<20;i++) { printf(“%15d”,f[i]); if((i+1)%4==0) printf(“\n”); } getchar(); } (2).参考程序:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。 #include #include main() { float a1[255]={2,3}; float a2[255]={1,2}; float a3[255]; int i; float s=0; for (i=2;i<20;i++) { a1[i]=a1[i-1]+a1[i-2]; a2[i]=a2[i-1]+a2[i-2]; } for(i=0;i<20;i++) { a3[i]=a1[i]/a2[i]; s+=a3[i]; } printf("\n数列和为 %1.2f\n\n ",s); getchar(); } (3).程序变形: #include #include main() { int n,t,number=20; float a=2,b=1,s=0; for(n=1;n<=number;n++) { s=s+a/b; t=a;a=a+b;b=t; //这部分是程序的关键,请读者猜 猜t的作用 } printf(“sum is %9.6f\n”,s); system(“pause”); } 后记: 数组的灵活应用的题目很多,教师在这部分教学中应该多讲一些例题。拓展学生的知识面。 2 解方程 一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?? 程序说明: 这个题目里我们使用了嵌套循环和goto语句。 这个题目可以用多个算法,程序原型里的算法属于暴力破解法,又叫穷举法。 练习方法: (1).程序原型: #include #include #include #include void main() { system(“color 3f”); system(“title 關于完全平方数”); system(“mode con cols=130 lines=20”); int i,j,k; for (i=1;i<=1000;i++) { for (j=1;j<=1000;j++) { for (k=1;k<=1000;k++) { if(i*i==k+100&&j;*j==k+268) { printf(“\n\n 这个整数可以是 %d\n\n “,k); goto lop; } } } } lop: printf(“\n\n “); } (2).程序变形: #include #include main() { long int i,x,y,z; for (i=1;i<100000;i++) { x=sqrt(i+100); //x为加上100后开方后的结果 y=sqrt(i+268); //y为再加上168后开方后的结果 if(x*x==i+100&&y;*y==i+268) //判断此数是完全平方数 printf(“\n%ld\n\n”,i); } getchar(); } 作者简介 杨英翔,沈阳建筑大学,副教授。 许崇,沈阳建筑大学,实验师。 |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。