c语言中赋予从2开始的偶数,2013年计算机二级C语言上机试题三十二及答案

2013年计算机二级、一级、三级等更多考试考前培训请进入教育联展网-中国教育培训第一门户,助您顺利通过计算机等级考试!

填空题

请补充fun函数,该函数的功能是求一维数组x[N]的平均值,并多所的结果进行四舍五入保留两位小数。

例如:当x[10]={15.6,19.9,16.7,15.2,18.3,12.1,15.5,11.0,10.0,16.0}时,输出结果为:avg=15.030000.

注意:部分源程序给出如下

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

试题程序:

#include

#include

double fun(double x[10])

{

int i;

long t;

double avg = 0.0;

double sum = 0.0;

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

___1___;

avg = sum/10;

avg = ___2___;

t = ___3___;

avg = (double)t/100;

return avg;

}

main()

{

double avg, x[10] =

{15.6, 19.9, 16.7, 15.2, 18.3, 12.1, 15.5, 11.0, 10.0, 16.0};

int i;

printf("\nThe original data is :\n");

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

printf("%6.1f", x[i]);

printf("\n\n");

avg = fun(x);

printf("average=%f\n\n", avg);

}

第1处填空:sum+=x[i]或sum=sum+x[i]

第2处填空:avg*1000或1000*avg

第3处填空:(avg+5)/10或(5+avg)/10

2013年计算机二级、一级、三级等更多考试考前培训请进入教育联展网-中国教育培训第一门户,助您顺利通过计算机等级考试!

改错题

下列给定程序中,函数fun的功能是:s所指数组中的元素赋予从2开始的偶数,然后再按顺序对每5个元素求一个平均埴,并将这些值依次存放在w所指的数组中。若s所指数组中元素的个数下是5的倍数,多余部分忽略下计。例如,s所指数组有14个元素,则只对前10个元素进行处理,不对最后的4个元素求平均值。

请改正程序中的错误,使其能得出正确结果。

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

试题程序:

#include

#define SIZE 20

int fun(double *s, double *w)

{

int k, i;

double sum;

for (k=2, i=0; i

{

s[i] = k;

k += 2;

}

sum = 0.0;

for (k=0, i=0; i

{

sum += s[i];

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

if (i+1%5 == 0)

{

w[k] = sum/5;

sum = 0;

k++;

}

}

return k;

}

main()

{

double a[SIZE], b[SIZE/5];

int i, k;

k = fun(a, b);

printf("The original data:\n");

for (i=0; i

{

if (i%5 == 0)

printf("\n");

printf("%4.0f", a[i]);

}

printf("\n\nThe result :\n");

for (i=0; i

printf("%6.2f ", b[i]);

printf("\n\n");

}

第1处:if (i+1%5 ==0)应改为if ((i+1)%5==0)

2013年计算机二级、一级、三级等更多考试考前培训请进入教育联展网-中国教育培训第一门户,助您顺利通过计算机等级考试!

编程题

请编写函数FUN,其功能是:将S所指字符串中除了下标为奇数、同时ASCII值也为奇数的字符外,其余 的全都删除:串中剩余字符所形式的一个新串放在T所指的数组中。

例如,若S所指字符串中的内容为ABCDEFG12345,其中字符A的ASCII码值为奇数,但所在元素的下标为偶数,因此必需删除:而字符1的ASCII码值为奇数,所在数组中的下标也为奇数,因此不应当删除。其他依此类推。最后T所指的数组中的内容应是135。

注意:部分源程序给出如下。

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

试题程序:

#include

#include

#include

void fun(char *s, char t[])

{

}

main()

{

char s[100], t[100];

FILE *out;

printf("\nPlease enter string S:");

scanf("%s", s);

fun(s, t);

printf("\nThe result is: %s\n", t);

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

strcpy(s, "Please enter string S:");

fun(s, t);

fprintf(out, "%s", t);

fclose(out);

}

答案是:

void fun(char *s,char t[])

{

int I,j=0,n;

n=strlen(s);

for(i=0;i

if(i%2!=0&&s[i]%2!=0)

{

t[j]=s[i];

j++;

}

t[j]=’\0’;

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值