C语言填空题的解法

点赞:22644 浏览:105890 近期更新时间:2024-02-20 作者:网友分享原创网站原创

摘 要:当前网络均采用动态网页设计,要求学生必须具备扎实的编程功底才有可能开发出网站.然而,有些学生却连一些简单的填空题都无从下手.本文从笔者的教学实践出发,详细地剖析一道C语言填空题,并总结出C语言填空题的一般解法.

C语言填空题的解法参考属性评定
有关论文范文主题研究: 关于变量的论文范文集 大学生适用: 学院学士论文、函授毕业论文
相关参考文献下载数量: 10 写作解决问题: 学术论文怎么写
毕业论文开题报告: 文献综述、论文选题 职称论文适用: 核心期刊、中级职称
所属大学生专业类别: 学术论文怎么写 论文题目推荐度: 经典题目

关 键 词:C语言解题技巧变量一般方法

大多数学生都有学好C语言的愿望,但由于学习方法不对,最终事与愿违.有没有一种方法能够将学生这种好学的愿望转变成学习动力,真正将知识转变成学生行万里路的智慧呢?

笔者从自己的教学实践出发,以一道C语言填空题的解题方法为例,与广大同行共同进行探讨.

例:10个小孩围成一圈来分糖果,教师分发给每个小孩的糖果数依次为12、2、8、22、16、4、10、6、14、20,然后所有的小孩同时把自己的糖果分一半给右边的小孩,糖果数变为奇数的小孩向老师补要一块,问经过多少次调整后每个小孩的糖果数都一样,此时的糖果数为多少?请填空.

#include

voidmain()

{inti,k,f,y,b[10],a[10]等于

{12,2,8,22,16,4,10,6,14,20},

k等于1,f等于0,

while(f!等于1)

{①,

for(i等于0,i<=9,i++)

{②,

b[i]等于a[i],}

for(i等于0,i<=9,i++)

{y等于③,

a[y]等于a[y]+b[i],

if(a[y]%2!等于0)④,}

for(i等于1,i<=9,i++)

if(a[0]!等于a[i]){f等于0,break,}

k++,}

printf(“k等于%d,a[0]等于%d”,k,a[0]),}

C语言的填空题首先要从变量入手,弄懂变量的作用,然后通读整个程序,读懂程序的算法,接下来再结合一些技巧和经验来解答,问题就能迎刃而解了.

要读懂变量的作用,应该从变量的初值入手.对于变量的初值,笔者做了一些总结,如某一变量的初值为0(检测如s等于0),那么变量s一般情况下可以用来求和、进行统计、状态变量、数组下标等.如果出题者严格遵循变量名的命名规则,那么学生应该可以很快读懂变量的作用.有时初值为1的变量也可以用来进行统计,关键要善于归纳、总结.特别要提醒的是,如果初值作为状态变量的话,那么该变量的数值一定是在0和1之间变化的.

另外,变量k是用来统计分糖果的次数,变量f是一个状态变量.既然这样,状态肯定在1和0之间变化.而整个程序只有一处f等于0,那么肯定有一空是变量f等于1,不然这道题就成了一个死循环.结合程序,第①空应该填写f等于1.

a数组第一次用来存放最初的糖果数,循环之后就变成用来存放分糖果后自己以及左面小孩给的总糖果数.统一起来a数组就是用来存放每次分之前各个小孩的糖果数.因为题目中要求同时分糖果,程序b数组是用作一个中间数组,用来存放每个小孩要分给右面小孩的糖果数,即每个小孩手中糖果数的一半,故b[i]等于a[i].所以,第②空可填成“a[i]等于a[i]/2”.

经过仔细审题,再结合程序,第④空的答案也就显而易见了.故此空可填“a[y]++”.另外,学生在解题时,要注意体会题目中的“同时”一词.

经过前面的几个步骤之后,学生就会发现第二个for语句是真正意义上的分糖果的过程.学生很快得出答案“y等于i+1”.但是,这个答案是错误的.把两个变量的变化关系写出来,为:


y等于1时i等于0

y等于2时i等于1......

y等于9时i等于8

y等于0时i等于9

前面9处两个变量间的关系均可以写成“y等于i+1”.但最后一处如果也用这样的关系,那么得出“y等于9+1等于10”.显然此处的变量y不等于10.这时就要采用取余方法,就得出答案为“y等于(i+1)%10”.