C语言上机五十题答案,2013年计算机二级C语言上机试题五十一及答案

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

第一题:

请补充fun函数,该函数的功能是把从键盘输入的3 个整数 按从小到大输出。

例如:输入场23 32 14, 结果输出14 23 32 。

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

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

#include

#include

main()

{

int x, y, z, t;

printf("Input x,y,z\n");

scanf("%d%d%d", &x, &y, &z);

if (___1___)

{

t = x;

x = y;

y = t;

} /* 交换x,y的值 */

if (___2___)

{

t = z;

z = x;

x = t;

} /* 交换x,z的值 */

if (___3___)

{

t = y;

y = z;

z = t;

} /* 交换z,y的值 */

printf("******the result*******\n");

printf("from small to big: %d %d %d\n", x, y, z);

}

参考答案:

填空题:第1处填空:x>y或y

第2处填空:x>z或z

第3处填空:y>z或z

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

第二题:

下列给定程序中,函数fun的功能是:将m(1<=m<=10)个字符串连接起来,组成一个新串,放在pt所指字符串中。例如:把3个串abc,CD,EF串连起来,结果是abcCDEF。

请改正程序中的错误,使它能计算出正确的结果。

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

#include

#include

#include

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

void fun(char str[][], int m, char *pt)

{

int k, q, i;

for (k=0; k

{

q = strlen(str[k]);

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

for (i=0; i

pt[i] = str[k,i];

pt += q;

pt[0] = 0;

}

}

main()

{

int m, h;

char s[10][10], p[120];

printf("\nPlease enter m:");

scanf("%d", &m);

gets(s[0]);

printf("\nPlease enter %d string:\n", m);

for (h=0; h

gets(s[h]);

fun(s, m, p);

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

}

参考答案:

改错题:第1处:void fun(char str[][],int m,char *pt)应改为 void fun ( char str[][10], int m,char *pt)

第2处:pt[i]=str[k,i];应改为 pt[i]=str[k][i];

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

第三题:

请编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k传回。

例如,若输入17,则应输出:9和4 6 8 9 10 12 14 15 16。

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

#include

#include

void fun( int m, int *k, int xx[] )

{

}

main()

{

int m, n, zz[100];

FILE *out;

printf( "\nPlease enter an integer number between 10 and 100: " );

scanf( "%d", &n );

fun( n, &m, zz );

printf( "\n\nThere are %d non-prime numbers less than %d: ", m, n );

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

printf( "\n %4d", zz[n] );

out=fopen("out.dat", "w"); www.Examda.CoM

fun( 28, &m, zz );

fprintf(out, "%d\n", m);

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

fprintf(out, "%d\n", zz[n] );

fclose(out);

}

参考答案

编程题:

void fun(int m,int *k,int xx[])

{

int i,j;

int t=0;

for(i=2;i

{ j=2;

while(j

{ if(i%j==0)

{ xx[t]=i;

t++;

break;

}

j++;

}

*k=t;

}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值