1[填空题]从键盘输入一组小写字母,保存在字符数组str中。请补充函数proc(),该函数的功能是:把字符数组str中字符下标为奇数的小写字母转换成对应的大写字母,结果仍保存在原数组中。例如,输入abcdefg,输出aBcDeFg。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proe()的横线上填入所编写的若干表达式或语句。
试题程序:
参考解析:
【解析】要将字符串中所有下标为奇数的小写字母转化为大写字母,应该检查字符串str中从第一个到最后一个字符,判断其下标是否为奇数,因此【l】填“str[i]!= ˊ\0ˊ”。每找到一个下标为奇数的小写字母。就将其转换为大写字母,大写字母的ASCⅡ码值比与其对应的小写字母小32,因此【2】填“32”。每判断完一个字符,要为检查下一个字符做准备,因此【3】填“i++”。
2[填空题]数组xx[M]保存着一组3位数的无符号正整数,其元素的个数通过变量m传人函数proc()。请补充函数proc(),该函数的功能是:从数组xx中找出十位和百位的数字相等的所有无符号整数,结果保存在数组yy中,其个数由函数proc()返回。
例如,当xx[8]={234 339 666 850 220 448 528 440)时,bb[5]={339 666 220 448 440}。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。
试题程序:
参考解析:
【解析】要找出数组xx中十位和百位数字相等的所有整数,首先要得到数组中每一个整数的十位和百位数字,因此,【1】处填“(xx[i]/10)%10”;如果十位和百位数字相等,则将该整数放在数组bb ee,因此,【2】处填“bb[n++]=xx[i]”;符合条件的整数个数放在变量n中,返回给主函数,因此,【3】处填“n”。
3[简答题]编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k返回。
例如,若输入17,则应输出:4 6 8 9 10 12 14 15 16。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
参考解析:
【参考答案】
【考点分析】
本题考查:如何判断非素数;循环判断结构;数组的引用。
【解题思路】
题目要求将1一m之间的非素数存入数组中,应使用循环判断结构。循环语句用来遍历l一m之间的每个数,判断语句用来判断该数是否为素数,若不是素数,则将其存入数组中。本题是考查一个数是否为素数的简单延伸,只要掌握了判断素数的方法,问题便能顺利解决。
【解题宝典】
判定一个数是否为素数,即判断该数是否除了能被l和它本身整除外,不能被任何数整除。
代码实现如下:
此语句需要熟记,很多判断素数的题目可通过此法解决。
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |