C语言趣味课堂练习之八

2017-11-20 12:10杨英翔
卷宗 2017年30期
关键词:C语言教法计算机

杨英翔

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

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

1 选择排序法排序

程序说明:

这个程序里我们经常提到的”选择排序法”,是C语言里很典型的一道题,讲解这道题的重点应该放在算法分析上。

练习方法:

(1).程序原型:

#include

#include

#include

#include

main()

{

system(“color 2f”);

system(“title ---选择排序法");

system(“mode con cols=130 lines=40”);

int m[256],i,j,t,k,s;

printf(“\n\n 输入10个数:\n\n ");

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

{

scanf(“%d”,&m[i]);

}

printf(“\n您输入的数组—————\n");

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

{

printf(“%5d”,m[i]);

}

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

{

t=i;

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

{

if(m[t]>m[j])

t=j;

}

s=m[t];

m[t]=m[i];

m[i]=s;

}

printf(“\n\n排序后的数组—————\n");

for(k=0;k<10;k++)

printf(“%5d”,m[k]);

printf(“\n\n”);

getchar();

}

(2).参考程序:

演示选择排序法:

#include

#include

#include

#include

main()

{

system(“color 2f”);

system(“title ---选择排序法");

system(“mode con cols=130 lines=40”);

int m[256],i,j,t,k,s;

printf(“\n\n 输入10个数:\n\n ");

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

{

scanf(“%d”,&m[i]);

}

printf(“\n您输入的数组—————\n");

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

{

printf(“%5d”,m[i]);

}

printf(“\n现在开始选择排序—————\n");

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

{

printf(“\n第 %d 趟——————\n",i+1);

t=i;

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

{

if(m[t]>m[j])

t=j;

}

s=m[t];

m[t]=m[i];

m[i]=s;

for(k=0;k<10;k++)

{

printf(“%5d”,m[k]);

}

printf(“\n”);

system(“pause”);

}

printf(“\n\n排序后的数组—————\n");

for(k=0;k<10;k++)

printf(“%5d”,m[k]);

printf(“\n\n”);

getchar();

}

后记:

这个程序和冒泡排序法一样,都要认真做算法分析,教师需要认真组织语言,激发学生学习兴趣,调动学生学习积极性。

2 解方程

一個整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少??

程序说明:

这个题目里我们使用了嵌套循环和goto语句。

这个题目可以用多个算法,程序原型里的算法属于暴力破解法,又叫穷举法。

练习方法:

(1).程序原型:

#include

#include

#include

#include

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