当前位置:首页 > 计算机二级c语言30套模拟试题
第1题 (30.0分) 题号:5
/*------------------------------------------------------ 【程序改错】
--------------------------------------------------------
功能:求如下表达式:
1 1 1
S = 1 + —— + ——— + ...... + ——————— 1+2 1+2+3 1+2+3+......+n ------------------------------------------------------*/
#include
int n;
double fun();
printf(\ /**********FOUND**********/
print(\ printf(\}
/**********FOUND**********/
fun(int n) {
int i,j,t; double s; s=0;
/**********FOUND**********/
while(i=1;i<=n;i++); {
t=0;
for(j=1;j<=i;j++) t=t+j;
/**********FOUND**********/ =s+1/t;
} return s; }
答案:
=======(答案1)======= scanf(\
=======(答案2)======= double fun(int n)
=======(答案3)======= for(i=1;i<=n;i++) =========或========= for(i=1;n>=i;i++) =========或========= for(i=1;i
=========或========= s= s + 1.0 /(float)t; =========或========= s= s + 1.0 /t;
=========或========= s+=1.0/(float)t; =========或========= s+=1.0/(double)t; =========或=========
13
s= s + 1.0 /(double)t;
三、程序设计 共1题 (共计40分) 第1题 (40.0分) 题号:329
/*------------------------------------------------ 【程序设计】
-------------------------------------------------- 功能:对某一正数的值保留2位小数,并对第三位进行四舍 五入。
------------------------------------------------*/ #include
double fun(float h) {
/**********Program**********/
/********** End **********/ }
main() {
float m;
printf(\ scanf(\
printf(\
wwjt(); }
void wwjt() {
FILE *IN,*OUT; int s ; float t; double o;
IN=fopen(\ if(IN==NULL) {
printf(\ }
OUT=fopen(\ if(OUT==NULL) {
printf(\ }
for(s=1;s<=5;s++) {
fscanf(IN,\ o=fun(t);
fprintf(OUT,\ }
fclose(IN); fclose(OUT); }
答案:---------------------- int i;
i=(int)(h*1000); if(i>=5)
14
return(int)(h*100+1)/100.0; else
return(int)(h*100)/100.0; ----------------------
试卷编号:8109 所属语言:C语言
试卷方案:C语言期末模拟练习 试卷总分:100分 共有题型:3种
一、程序填空 共1题 (共计30分) 第1题 (30.0分) 题号:32
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:计算并输出500以内最大的10个能被13或17整除的自然数之和。
-------------------------------------------------------*/
#include
/***********SPACE***********/ int fun(【?】 ) {
int m=0, mc=0;
/***********SPACE***********/ while (k >= 2 && 【?】) {
/***********SPACE***********/
if (k == 0 || 【?】) {
m=m+k; mc++; } k--; }
/***********SPACE***********/ 【?】; }
main ( ) {
printf(\}
答案:
=======(答案1)======= int k
=======(答案2)======= mc < 10
=========或========= 10 > mc
=========或========= mc <= 9
=========或========= 9 >= mc
=======(答案3)======= k == 0
=========或========= !(k)
=========或========= k/17*17 == k
=======(答案4)=======
15
return m
=========或========= return (m)
二、程序改错 共1题 (共计30分) 第1题 (30.0分) 题号:431
/*------------------------------------------------------
【程序改错】
--------------------------------------------------------
功能:编写一个程序计算某年某月有几天。(注意要区分闰年) ------------------------------------------------------*/
#include
int yy,mm,len;
printf(\ scanf(\
/**********FOUND**********/ switch(yy) {
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
len=31;
/**********FOUND**********/
break case 4: case 6: case 9: case 11:
len=30; break; case 2:
if (yy%4==0 && yy0!=0 || yy@0==0) len=29; else
len=28; break;
/**********FOUND**********/ default
printf(\ break; }
printf(\}
答案:
=======(答案1)======= switch(mm)
=======(答案2)======= break;
=======(答案3)======= default :
三、程序设计 共1题 (共计40分) 第1题 (40.0分) 题号:315
/*------------------------------------------------ 【程序设计】
16
共分享92篇相关文档