标题 | 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(a1t=a1,a1=a2,a2=t; if(a2t=a2,a2=a3,a3=t; if(a3t=a3,a3=a4,a4=t; if(a4t=a4,a4=a5,a5=t; //第二轮排序 目的是把第二小的值给a4 if(a1t=a1,a1=a2,a2=t; if(a2t=a2,a2=a3,a3=t; if(a3t=a3,a3=a4,a4=t; //第三轮排序 目的是把下一个小的值给a3 if(a1t=a1,a1=a2,a2=t; if(a2t=a2,a2=a3,a3=t; //第四轮排序 目的是把下一个小的值给a2 if(a1t=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-美国”,否则程序运行会出错。 作者简介 杨英翔,副教授。 |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。