计算机二级c上机考试题库80题答案..doc
文本预览下载声明
第1套
一、填空题
给定程序的功能是求1/4的圆周长。函数通过形参得到圆的直径,函数返回1/4的圆周长(圆周长公式为:L=Πd,在程序中定义的变量名要与公式的变量相同)。
例如:输入圆的直径值:19.527,输出为:15.336457
请勿改动主函数main与其他函数中的任何内容,仅在横线上填写所需的若干表达式或语句。
#includestdio.h
double fun(double d)
{
return 3.14159*d/4.0;
}
main()
{
double z;
printf(Input the d of the round:);
scanf(%lf,z);
printf(L=%lf\n,fun(z));
}
二、改错题
下列给定程序中函数fun的功能是:计算正整数m的各位上的数字之积。例如,若输入202,则输出应该是0。
请修改程序中的错误,得出正确的结果
注意:不要改动main函数,不能增行或删行,也不能更改程序的结构
#includestdio.h
#includeconio.h
long fun(long n)
{
long r=1;
do
{
r*=n%10;
n/=10;
}while(n);
return(r);
}
main()
{
long m;
printf(\nplease enter a number:);
scanf(%ld,m);
printf(\n%ld\n,fun(m));
}
三、编程题
请编写一个函数fun,它的功能是:求出1到m之内(含m)能被7或11整初的所有整数放在数组b中,通过n返回这些数的个数。
例如,若传送给m的值为20,则程序输出7 11 14。
请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
#includeconio.h
#includestdio.h
#define N 100
void fun(int m,int*b,int*n)
{
int i,j=0;*n=0;
for(i=1;i=m;i++)
if(i%7==0||i%11==0)
{
b[j]=i;
j++;
}
*n=j;
}
main()
{
int a[N],n,i;
FILE*out;
fun(20,a,n);
for(i=0;in;i++)
if((i+1)%20==0)
printf(%4d\n,a[i]);
else
printf(%4d,a[i]);
printf(\n);
out=fopen(outfile.dat,w);
fun(100,a,n);
for(i=0;in;i++)
if((i+1)%10==0)
fprintf(out,%4d\n,a[i]);
else
fprintf(out,%4d,a[i]);
fclose(out);
}
第2套
一、填空题
函数fun的功能是:统计长整数test的各位上出现数字5、6、7的次数,并通过外部(全局)变量sum5、sum6、sum7返回主函数。
例如:当test,结果应该为:sum5=0 sum6=2 sum7=1。
请勿改动主函数main与其它函数中的任何内容,仅在fun函数的横线上填写所需的若干表达式或语句。
#includestdio.h
int sum5,sum6,sum7;
void fun(long test)
{
sum5=sum6=sum7=0;
while(test)
{
switch(test%10)
{
case 5:sum5++;break;
case 6:sum6++;break;
case 7:sum7++;
}
test/=10;
}
}
main()
{
long test;
fun(test);
printf(\nThe count result:\n);
printf(test=%ld sum5=%d sum6=%d sum7=%d\n,test,sum5,sum6,sum7);
}
二、改错题
下列给定程序中,函数fun的功能是:将字符串str中的小写字母都改为对应的大写字母,其它字符不变。例如,若输入“asAS”,则输出“ASAS”。
请修改程序中的错误,使它能统计出正确的结果。
注意:不要改动?main函数,不能增行或删行,也不能更改程序的结构
#includeconio.h
#includestdio.h
#includestring.h
char*fun(c
显示全部