国家二级C语言机试(操作题)模拟试卷301
程序填空题
1.下列给定程序中,函数fun的功能是计算下式
直到
(1)0
(2)i++或++i或i+=1或i=i+1
(3)2.0*i
解析:填空1:循环变量i从1开始参加运算,但是在每次循环的开始i都进行自加1操作,故i应赋初值为0。
填空2:循环变量i自增1运算。
填空3:根据公式确定表达式通项。注意x为double型,故应将i变为double型再进行运算。
程序修改题
2.下列给定程序中,函数fun的功能是:用下面的公式求π的近似值,直到最后一项的绝对值小于指定的数(参数num)为止。
(1)while(fabs(t)>=num)
(2)t=s/n;
解析:(1)函数fun中while语句的作用是,当新的一项大于给定参数时,循环累计计算s的值。题目要求最后一项的绝对值小于给定参数,因此循环条件应当是while(fabs(t)>=num)。
(2)变量t用来存放最后一项的值,因为每一项均为1或一1除以一个数,所以此处应使用除法运算符“/”。
程序设计题
3.编写函数fun,其功能是:将ss所指字符串中所有下标为奇数位上的字母转换为大写(若该位置上不是字母,则不转换)。
例如,若输入“abc4EFg”,则应输出“aBc4EFg”。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<conio.h>
#include<stdio.h>
#include<string.h>
void fun(char*ss)
{
}
void main(void)
{
char tt[51];
printf(\\
void tun(cnar*ss)
{
int i;
for(i=0;ss[i]!=’\0’;i++)
/*将ss所指字符串中所有下标为奇数位置的字母转换为大写*/
if(i%2==1&&ss[i]>=’a’&&ss[i]<=’z’)
ss[i]=ss[i]一32;
}
解析:将指定字符串中奇数位置的字母转换为大写,首先需要判断奇数位置,再判断该位置字符是不是小写字母,如果是小写字母,则将小写字母转换为大写字母。字母大小写转换操作中,只要将小写字母减去32即可转换为大写字母。
本文档预览:3600字符,共1625字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载