第 1 页:选择题 |
第 5 页:基本操作题 |
第 6 页:程序改错题 |
第 7 页:程序设计题 |
第 8 页:参考答案 |
二、基本操作题程序填空题
【1】b!=0【2】a%b[3]numl*num2/a
【解析】由程序可知,变量b中存放两个正整数中较小的那个数,while循环求两个正整数的公约数。因此【1】填“b!=0”;【2】填“a%b”.【3】处是求两个正整数最小公倍数的表达式,因此【3】填“numl*num2/a”。
三、程序改错题
(1)错误:void proc(10ng S,long t)
正确:void proc(long s,long*t)
(2)错误:while(s<0)
正确:while(s>O)
【解析】从主函数中实参可知,形参的第二个变量是长整型的指针变量。因此“void proc(long s,long t)”应改为“void proc(long s,long*t)”;要从低位开始取出长整型变量s中偶数位上的数,每次变量S要除以100,然后判断其是否大于0来决定是否要继续,因此“while(s0)”。
四、程序设计题
void proc(char*str。chart[3])
{
int i,j=0;
for(i=0;str[i]! =’\O’;i++)//从数组的第一个元素开始,到其最后一个
{if(i%2= =0&&str[i]%2 1=o)//下标为偶数、同时ASCIl码值为奇数的字符
t[j++]=str[i];} //如果成立,则把它放到t数组中
t[i]=’\o’;//字符串结束标志为’\0’
}
【解析】题目中要求将字符串str中下标为偶数,同时ASCIl码值为奇数的字符放在数组t中。首先,需要检查字符串str中下标为偶数的字符其ASCIl码值是否为奇数,将符合要求的字符放在数组t中。最后,为新的字符串数组添加结束符。
编辑推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |