2015年计算机二级C语言上机操作题及答案(77)
发布时间:2011/7/22 10:12:13 来源:城市学习网 编辑:ziteng
第一题
请补充main函数,该函数的功能是:如果数组aa的前一个元素比后一个元素小,则把它保存在数组bb中并输出.
例如,输入45,55,62,42,35,52,78,95,66,73则结果输出45 55 35 52 78 66.
仅在\横线上填入所编写的若干表达式或语句,勿改动函数中的其他任何内容.
#include
#define N 10
main()
{
int i, n = 0;
int aa[N] = {45, 55, 62, 42, 35, 52, 78, 95, 66, 73};
int bb[N];
for (i=0; i<___1___; i++)
if (aa[i] < aa[i+1])
___2___;
printf("\n********* display bb *********\n");
for (i=0; i printf("bb[%d]=- ", ___3___);
}
答案:
1:N-1
2:BB[n++]=aa[i]
3:i,bb[i] [NextPage] 第二题
下列给定程序中函数fun的功能是:将字符串中的内容按逆序输出,但不改变字符串中的内容。例如,若字符串为abcd,则应该输出dcba。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
/********found********/
void fun(char a)
{
if (*a)
{
fun(a+1);
printf("%c", *a);
}
}
main()
{
char s[10] = "abcd";
printf("处理前字符串=%s\n处理后字符串=", s);
fun(s);
printf("\n");
}
答案:
1:void fun(char a )应改为void fun(char *a) [NextPage] 第三题
请编写函数fun,其功能是:将两个两位数的正整数a、b合并形成一个整数放在c 中。合并的方式是:将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的十位和千位上。
例如,当a=45,b=12,调用该函数后,c=2514
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
#include
#include
void fun(int a,int b , long *c)
{
}
main()
{
int a,b;
long c;
FILE *out;
printf("Input a, b:");
scanf("%d%d",&a, &b);
fun(a, b, &c);
printf("The result is :%ld\n", c);
out=fopen ("out.dat", "w");
for (a = 22; a < 52; a+=3)
{
fun(a, 109-a, &c);
fprintf(out, "%ld\n", c);
}
fclose (out );
}
答案
void fun( int a ,int b ,long *c)
{
*c=(b)1000+(a)*100+(b/10)*10+a/10;
}