2015年计算机二级C语言上机操作题及答案(87)
发布时间:2011/7/28 15:38:14 来源:城市学习网 编辑:ziteng
一、请补充main函数,该函数的功能是:打印出满足个位上的数字、十位上的数字和百位上的数字都相等的所有三位数。
本题的结果为:111 222 333 444 555 666 777 888 999。
仅在横线上填入所编写的若干表达式或语句,勿改动函数中的其他任何内容。
#include
main()
{
int g, s, b;
for (g=1; g<10; g++)
for (s=1; s<10; s++)
for (b=1; b<10; b++)
if (g==s ___1___ s==b)
printf("]", ___2___s*10+b*100);
} [NextPage] 二、下列给定程序中,函数fun的功能是:给一维数组a输入任意4个整数,并按如下的规律输出。例如输入1、2、3、4,程序运行后将输出以下方阵:
4 1 2 3
3 4 1 2
2 3 4 1
1 2 3 4
请改正函数fun中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
#define M 4
/********found********/
void fun(int a)
{
int i, j, k, m;
printf("Enter 4 number : ");
for (i=0; i scanf("%d", &a[i]);
printf("\n\nThe result :\n\n");
for (i=M; i>0; i--)
{
k = a[M-1];
/********found********/
for (j=M-1; j>0; j--)
a[j] = a[j+1];
a[0] = k;
for (m=0; m printf("%d ", a[m]);
printf("\n");
}
}
main()
{
int a[M];
fun(a);
printf("\n\n");
} [NextPage] 三、请编写函数fun,其功能是:将两个丙位数的正整数a\b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和个位上,b数的十位和个位数依次放在c数的个位和百位上。
例如,当a=45,b=12,调用该函数后,c=4251。
请勿改动主函数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 = 0; a < 10; a++)
{
fun(a+44, a+55, &c);
fprintf(out, "%ld\n", c);
}
fclose (out );
}
答案:
一:1、&& 2、g+
二:1、应改为:void fun(int a[M])2、应改为:a[j]=a[j-1];