APP下载

C语言趣味课堂练习之九

2017-11-20杨英翔

卷宗 2017年30期
关键词:C语言教法计算机

摘 要:作者多年从事计算机应用技术研究和教学,在C语言程序设计的教学过程中,作者一直在探索激发学生学习兴趣、降低课程难度、提高学习成绩的有效途径,并提出自己的一些做法供同行们参考。

关键词:C语言;教法;计算机

1 给a1,a2,a3,a4,a5五个数由小到大排序

程序说明:

这个程序的算法和前一个程序是一样的,十分清晰的体现了冒泡排序法的基本思路。教师可以把这个程序的思路重点介绍给学生们,作为日后学习冒泡排序法的基础。

练习方法:

(1).程序原型

#include

#include

void main()

{

system(“color 3e”);

system(“title 把五个数由小到大排序”);

int a1,a2,a3,a4,a5,t;

printf(“\n\n 请输入五个大小不同的整数:\n\n “);

scanf(“%d,%d,%d,%d,%d”,&a1,&a2,&a3,&a4,&a5);

//第一轮排序 目的是把最大值给a5

if(a1>a2)

t=a1,a1=a2,a2=t;

if(a2>a3)

t=a2,a2=a3,a3=t;

if(a3>a4)

t=a3,a3=a4,a4=t;

if(a4>a5)

t=a4,a4=a5,a5=t;

//第二轮排序 目的是把第二大的值给a4

if(a1>a2)

t=a1,a1=a2,a2=t;

if(a2>a3)

t=a2,a2=a3,a3=t;

if(a3>a4)

t=a3,a3=a4,a4=t;

//第三轮排序 目的是把下一个大的值给a3

if(a1>a2)

t=a1,a1=a2,a2=t;

if(a2>a3)

t=a2,a2=a3,a3=t;

//第四轮排序 目的是把下一个大的值给a2

if(a1>a2)

t=a1,a1=a2,a2=t;

printf(“\n\n 由小到大为: %d %d %d %d %d\n\n “,a1,a2,a3,a4,a5);

}

(2).参考程序:五个数由大到小排序

#include

#include

void main()

{

system(“color 3e”);

system(“title 把五個数由大到小排序”);

int a1,a2,a3,a4,a5,t;

printf(“\n\n 请输入五个大小不同的整数:\n\n “);

scanf(“%d,%d,%d,%d,%d”,&a1,&a2,&a3,&a4,&a5);

//第一轮排序 目的是把最小值给a5

if(a1

t=a1,a1=a2,a2=t;

if(a2

t=a2,a2=a3,a3=t;

if(a3

t=a3,a3=a4,a4=t;

if(a4

t=a4,a4=a5,a5=t;

//第二轮排序 目的是把第二小的值给a4

if(a1

t=a1,a1=a2,a2=t;

if(a2

t=a2,a2=a3,a3=t;

if(a3

t=a3,a3=a4,a4=t;

//第三轮排序 目的是把下一个小的值给a3

if(a1

t=a1,a1=a2,a2=t;

if(a2

t=a2,a2=a3,a3=t;

//第四轮排序 目的是把下一个小的值给a2

if(a1

t=a1,a1=a2,a2=t;

printf(“\n\n 由大到小为: %d %d %d %d %d\n\n “,a1,a2,a3,a4,a5);

}

后记:

注意区分”由小到大”和”由大到小”的区别,注意讲解程序设计思路,注意和学生的互动。

2 用 *号输出字母C的图案

程序说明:

这个程序可以在课堂授课之余给学生们娱乐用,还可以灵活变形,锻炼学生的创新、想象能力。

练习方法:

(1).程序原型

#include

#include

void main()

{

system(“color 3e”);

system(“title Hello C-world!”);

printf(“Hello C-world!\n”);

printf(“ * * * * \n”);

printf(“ * *\n”);

printf(“ * \n”);

printf(“ * \n”);

printf(“ * * \n”);

printf(“ * * * * \n”);

}

(2).参考程序:用*打印心形

#include

#include

void main()

{

system(“color 46”);

system(“title LOVE!”);

printf(“ I LOVE YOU!\n”);

printf(“ * * * * * * * * \n”);

printf(“ * * *\n”);

printf(“ * *\n”);

printf(“ * * \n”);

printf(“ * * \n”);

printf(“ * *\n”);

printf(“ * * \n”);

printf(“ * * \n”);

printf(“ * * \n”);

printf(“ * * \n”);

printf(“ * \n”);

}

后記:

这个程序可以作为课堂练习让学生自由发挥,可以培养学生的想象力和学习热情,还可以活跃课堂气氛。

3 输出国际象棋棋盘

程序说明:

这个程序可以在课堂授课之余给学生们娱乐用,还可以灵活变形,锻炼学生的创新、想象能力。

练习方法:

(1).程序原型

#include

main()

{

int i,j;

for(i=0;i<8;i++)

{

for(j=0;j<8;j++)

if((i+j)%2==0)

printf(“%c%c”,219,219);

else

printf(“ “);

printf(“\n”);

}

getchar();

}

(2).参考程序:打印楼梯,同时在楼梯上方打印两个笑脸

#include

main()

{

int i,j;

printf(“\1\1\n”);/*输出两个笑脸*/

printf(“%c%c\n”,219,219);

for(i=1;i<11;i++)

{

for(j=1;j<=i;j++)

printf(“ “);

printf(“%c%c”,219,219);

printf(“\n”);

}

getchar();

}

后记:

这两个程序都使用ACSII编码表,在运行程序时,注意调整”控制台窗口”属性的”默认代码页”选项为”OEM-美国”,否则程序运行会出错。

作者简介

杨英翔,副教授。

猜你喜欢

C语言教法计算机
计算机操作系统
基于Visual Studio Code的C语言程序设计实践教学探索
基于计算机自然语言处理的机器翻译技术应用与简介
基于C语言的计算机软件编程
信息系统审计中计算机审计的应用
高职高专院校C语言程序设计教学改革探索
“教法融合”:得道方能行远
论子函数在C语言数据格式输出中的应用
Fresnel衍射的计算机模拟演示
语文教学要创新教法