网站首页  词典首页

请输入您要查询的论文:

 

标题 C语言趣味课堂练习之七
范文 摘 要:作者多年从事计算机应用技术研究和教学,在C语言程序设计的教学过程中,作者一直在探索激发学生学习兴趣、降低课程难度、提高学习成绩的有效途径,并提出自己的一些做法供同行们参考。
关键词:C语言;教法;计算机
1 乘法口诀(二)
程序说明:
这个程序使用while语句实现了前面程序的功能,教师可以通过这个程序给学生讲解while语句的使用,其他可以设置特殊形状的窗口并且逐行显示乘法口诀,涉及了多个头文件、休眠,还涉及嵌套循环的使用。
教师讲解这个程序的时候应该多突出它的趣味性,激发学生的学习热情。
#include
#include
#include
int main(void)
{
system(“color 3f”);
system(“title 乘法口诀”);
system(“mode con cols=130 lines=20”);
int i=1,j=1;
while(i<=9)
{
printf(“\n “);
while(j<=i)
{
printf(“%d*%d=%-6d”,j,i,i*j);
j++;
}
j=1;
Sleep(500);
i++;
}
printf(“\n\n “);
}
后记:
教师需要一边讲解,一边逐步增加各项功能,以免学生跟不上教师的思路。
教师讲解这个程序的时候应该多突出它的趣味性,激发学生的学习热情。
2 求100以内的所有素数
程序说明:
这个程序使用for语句,找出100以内的所有素数,教师可以通过这个程序给学生讲解for语句和if语句的綜合使用。
教师讲解这个程序的时候应该多讲解它的算法分析,培养学生的算法设计能力。
练习方法:
(1).程序原型
#include
#include
int main(void)
{
system(“color 3f”);
system(“title 100以内的所有素数”);
system(“mode con cols=90 lines=30”);
int i=2,j=2,k=0;
for(i=2;i<=100;i++)
{
for(j=2;j{
if(i%j==0)
break;
}
if(i==j)
{
printf(“\t%d\t”,i);
k++;
if(k%4==0)
printf(“\n”);
}
}
printf(“\n\n “);
}
(2).算法分析
1)开始:i=2,j=2;
2)设置i从2到100的循环
3)设置j从2到i的循环
4)第一次判断:J每一次取值,都验证i%j是否为零,如果为零,则终止j的循环
5)第二次判断:验证i==j是否成立,如果成立,则找到一个素数
后记:
教师在使用这个程序时应该多关注算法设计,多给学生讲解算法设计,培养学生算法设计能力。
3 用1、2、3、4,能组成多少个互不相同且无重复数字的三位数?都是多少?
程序说明:
这个程序使用三层嵌套for语句,找出1、2、3、4组成的所有不同的并且没有重复的三位数,教师可以通过这个程序给学生讲解for语句和if语句的综合使用。
教师讲解这个程序的时候应该多讲解它的算法分析,并且引导学生设计不同的算法,培养学生的算法设计能力。
练习方法:
(1).程序原型
#include
#include
int main(void)
{
system(“color 3f”);
system(“title 用1--4组成的互不相同且无重复数字的三位数”);
system(“mode con cols=90 lines=30”);
int i,j,k,m=0,n=0;
printf(“\n”);
for(i=1;i<5;i++) //以下为三重循环
for(j=1;j<5;j++)
for(k=1;k<5;k++)
{
if (i!=k&&i!=j&&j!=k) //确保i、j、k三位互不相同
{
m++;
printf(“\t%d,%d,%d\t”,i,j,k);
n++;
if(n%4==0)

printf(“\n”);
}
}
printf(“\n 以上一共 %d 个。\n “,m);
}
(2).算法分析
算法一
1)设置i=1,j=1,k=1
2)嵌套设置I,j,k三层循环
3)判断分拣出I,j,k互不相同的组合打印
算法二
1)设置i=1,j=1,k=1
2)设置i循环
3)設置j循环,分拣出与i不同的j
4)设置k循环,分拣出与I,j不同的k
5)打印
(3).参考程序
#include
#include
int main(void)
{
system(“color 3f”);
system(“title 1--4组成的互不相同且无重复数字的三位数”);
system(“mode con cols=90 lines=30”);
int i,j,k,m=0,n=0;
printf(“\n”);
for(i=1;i<5;i++) //以下为三重循环
{
for(j=1;j<5;j++)
{
if(i==j)
continue;
else
{
for(k=1;k<5;k++)
if((i==k)||(j==k)) //确保i、j、k不相同
continue;
else
{
printf(“\t%d,%d,%d\t”,i,j,k);
m++;
n++;
if(n%4==0)
printf(“\n”);
}
}
}
}
printf(“\n 以上一共 %d 个。\n “,m);
}
后记:
教师应该多讲解它的算法分析,并且引导学生设计不同的算法,培养学生的算法设计能力。
作者简介
杨英翔,副教授。
随便看

 

科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。

 

Copyright © 2004-2023 puapp.net All Rights Reserved
更新时间:2025/4/17 22:28:08