2015年计算机二级C语言上机操作题及答案(84)
发布时间:2011/7/25 8:41:13 来源:城市学习网 编辑:ziteng
一、填空题
请补充main函数的功能是:输出方程组A+B=5,A+2B=60的一组正整数解.本题的结果是:
A=44,B=8.
仅在横线上填入所编写的若干表达式或语句,勿改动函数中的其中他任何内容.
#include
main()
{
int i, j;
for (i=0; i<100; i++)
for (j=0; j<100; j++)
if (i+j==52 ___1___ i+2*j==60)
printf("A=-,B=-", ___2___);
}
第1处填空:&&
第2处填空:i,j [NextPage] 二、改错题
下列给定程序中,函数fun的功能是:将十进制正整数转换成k(2<=k<=9)进制数,并按位输入出.例如,若输入8和2,则应输出1000(即十进制数8转换成二制成二进制表示是1000).
请改正fun函数中的错误,使它能得出正确的结果.
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
#include
/********found********/
void fun(int m, int k);
{
int aa[20], i;
for (i=0; m; i++)
{
/********found********/
aa[i] = m/k;
m /= k;
}
for (; i; i--)
/********found********/
printf("%d", aa[i]);
}
main()
{
int b, n;
printf("\nPlease enter a number and a base:\n");
scanf("%d%d", &n, &b);
fun(n, b);
printf("\n");
}
第1处:void fun(int m,int k):应改为void fun(int m,int k)
第2处:aa[i]=m/k;应改为aa[i]m%k;
第3处:printf(“%d”,aa[i]);应改为printf(“%d”,aa[i-1]); [NextPage] 三、编程题
请编写函数fun,其功能是:将两个两面三刀位数的正整数a、b合并形成一个整数放在c中.合并的方式是:将a数的十位和个位数依次放在c数的个位和十位上.
例如,当a=45,b=12,调用该函数中的任何内容,仅在函数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 = 0; a < 10; a++)
{
fun(a+77, a+66, &c);
fprintf(out, "%ld\n", c);
}
fclose (out );
}
void fun(int a,int b,long *c)
{
c=(b/10)1000+(a)*100+(b)*10+a/10;
}