c语言操作题和答案,C语言上机操作题及答案.doc

C语言上机操作题及答案

第一题

请补充fun函数的功能是:把字符下标能被2或3整除的字符串str中删除,把剩余的字符重新保存在字符串str中。字符串str从键盘输入,其长度作为参数传入fun函数。

例如,输入“abcdefghijk”,输出“bfh”。

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

#include

#define N 80

void fun(char s[], int n)

{

int i, k;

___1___;

for (i=0; i {

s[k++] = s[i];

if ((i%2==0) ___2___ (i%3==0))

k--;

}

___3___;

}

main()

{

int i = 0, strlen = 0;

char str[N];

printf("\nInput a string:\n");

gets(str);

while (str[i] != '\0')

{

strlen++;

i++;

}

fun(str, strlen);

printf("\n********* display string *********\n");

puts(str);

}

答案:

第1处填空:k=0;

第2处填空:||

第3处填空:s[k]=’\0’或s[k]=0 2011年计算机二级C语言上机操作题及答案(99)来源:考试大 【相信自己,掌握未来,考试大值得信赖!】 2011年7月27日第二题

下列给定程序中,函数fun的功能是:统计一个无符号整数中各位数字值为零的个数,通过形参传回主函数;并把该整数中各位上最大的数字值作为函数值返回。例如,若输入无符号整数30800,则数字值为零的个数为3,各位上数字值最大的是8。

请改正函数fun中的错误,使它能得出正确的结果。

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

#include

int fun(unsigned n, int *zero)

{

int count = 0, max = 0, t;

do

{

t = n;

/********found********/

if (t = 0)

count++;

if (max < t)

max = t;

n = n/10;

} while (n);

/********found********/

zero = count;

return max;

}

main()

{

unsigned n;

int zero, max;

printf("\nInput n(unsigned): ");

scanf("%d", &n);

max = fun(n, &zero);

printf("\nThe result: max=%d zero=%d\n", max, zero);

}

答案:

第1处:if(t=0)应改为if(t==0)

第2处:zero=count; 应改为*zero=count; 2011年计算机二级C语言上机操作题及答案(99)来源:考试大 【相信自己,掌握未来,考试大值得信赖!】 2011年7月27日第三题

请编写函数fun,其功能是:计算并输出

例如,若主函数从键盘给n输入20后,则输出为s=534.188884。

注意:n的值要求大于1但不大于100。

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

#include

#include

double fun(int n)

{

}

main()

{

int n;

double s;

FILE *out;

printf("\n\nInput n: ");

scanf("%d",&n);

s=fun(n);

printf("\n\ns=%f\n\n",s);

out=fopen("out.dat","w");

for (n = 0; n < 10; n++)

fprintf(out, "%f\n", fun(n+20));

fclose(out);

}

答案

double fun(int n)

{

int i;

double s=1.0;p=1.0;

for(i=2;i<=n;i++)

{

p+pow(i,0.5);

s+=p;

}

ret

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值