好文档 - 专业文书写作范文服务资料分享网站

计算机二级C语言上机题库及答案(100套)

天下 分享 时间: 加入收藏 我要投稿 点赞

} main() {

char str[80]; printf(\a string: \ gets(str);

printf(\\

puts(str); fun(str);

printf(\\ puts(str);

printf(\ }

第 1 处:void fun(char *p);应改为 void fun(char *p) 第 2 处:p=q+I;应改为 q=p+i;

编程题

编写函数 fun,函数功能是:根据以下公式计算 s,计算结果作 为函数值返回;n 通过型参传入。

1 1 1 ??..... ??S=1+ ?

1??2 1??2 ??3 1??2 ??3 ??....n

例如:若 n 的值为 11 时,函数的值为 1.833333。 注意:部分源程序给出如下。

请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入所编写的若干语句。 试题程序:#include

#include

#include float fun (int n) { } main() { int n; float s; FILE *out;

printf(\ scanf(\ s=fun(n);

printf(\result is: %f\\n\ s = fun(28);

out = fopen(\ fprintf(out, \s); fclose(out); }

答案是: float fun(int n) {

int i;

float s=1.0,t=1.0;

for(i=2;i<=n;i++) { t=t+i; s=s+1/t; } return s; }

第 9 套

填空题 给定程序的功能是分别统计字符串中大写字母和小写字母的个 数。

例如,给字符串 SS 输入:AaaaBBb123CCccccd,则输出结果应 为:upper=5, lower=9。

请勿改动主函数 main 和其他函数中的任何内容,仅在 fun 函数 的横线上填入所编写的若干表达式或语句。 试题程序:#include

void fun(char *s, int *a, int *b) {

while (*s) {

if (*s>='A' && *s<='Z') 1 ;

if (*s>='a' && *s<='z') 2 s++; } } main() {

char s[100];

int upper = 0, lower = 0; printf(\\ gets(s);

fun(s, &upper, &lower);

printf(\lower = %d\\n\}

3 );

;

第 1 处填空:(*a)++或++(*a)或*a=*a+1 或*a+=1 第 2 处填空:(*b)++或++(*b)或*b=*b+1 或*b+=1 第 3 处填空:upper,lower

改错题

下列给定程序中,函数 fun 的功能是:从 n 个学生的成绩中统 计出低于平均分的学生人数,此人数由函数值返回,平均分存放 在行参 aver 所指的存储单元中。例如,若输入 8 名学生的成绩:

80.5 60 72 90.5 98 51.5 88 64

则低于平均分的学生人数为 4(平均分为:75.5625). 请改正程序中的错误,使程序能统计出正确的结果。

注意:不要改动 main 函数,不得增行或删行,也不得更改 程序的结构!

试题程序:#include

#include #define N 20

int fun(float *s, int n, float *aver) {

float ave, t = 0.0; int count = 0, k, i; /********found********/ for (k=0; k

if (s[i] < ave) count++; /********found********/

*aver = &ave; return count; }

main() {

float s[30], aver; int m, i;

printf(\ scanf(\&m);

printf(\

0z1tv9pu763h0qq02ukg7f1wl0k4iy014zi
领取福利

微信扫码领取福利

微信扫码分享