c语言输入252则输出应该是20,2013年计算机二级C语言上机试题三十及答案

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

填空题

请补充fun函数,该函数的功能是:把从主函数中输入的由数字字符组成的字符串转换成一个无符号长整数,并且倒序输出。结果有函数返回。

例如:输入:“123456”,结果输出:654321。

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

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

试题程序:

#include

#include

#include

unsigned long fun(char *s)

{

unsigned long t = 0;

int k;

int i = 0;

i = strlen(s);

for (___1___; i>=0; i--)

{

k = ___2___;

t = ___3___;

}

return t;

}

main()

{

char str[8];

printf("Enter a string made up of '0' to '9' digital character : \n");

gets(str);

printf("The string is : %s\n", str);

if (strlen(str) > 8)

printf(" The string is too long !");

else

printf("The result : %lu\n", fun(str));

}

第1处填空:--i或i—或i==1或i=i-1

第2处填空:s[i]-‘0’

第3处填空:t*10+k或k+t*10或10*t+k或k+10*t

[NextPage]

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

改错题

下列给定程序中,函数fun的功能是:计算正整数num的各位上的数字之积,例如若输入252,则输出应该是20,若输入202,则输出 应该是0。

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

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

试题 程序:

#include

#include

long fun(long num)

{

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

long k;

do

{

k *= num%10;

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

num \= 10;

} while (num);

return (k);

}

main()

{

long n;

printf("\please enter a number:");

scanf("%ld", &n);

printf("\n%ld\n", fun(n));

}

第1处:long k;应改为long k=1;

第2处:num\=10;应改为num/=10;

[NextPage]

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

编程题

请编写一个函数FUN,它的功能是:求出一个2*M整型二维数组中最大元素的值,并将最大值返回调用函数。

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

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

试题程序:

#define M 4

#include

fun (int a[][M])

{

}

main()

{

int arr[2][M]={5,8,3,45,76,-4,12,82} ;

FILE *out;

printf("max=%d\n", fun(arr)) ;

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

fprintf(out, "max=%d", fun(arr)) ;

fclose(out);

}

答案是:

int fun(int a[][M])

{

int I,j,max;

max=a[0][0];

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

for(j=0;j

if(a[i][j]>max)

max=a[i][j];

return max;

}

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值