试卷详情
-
二级C语言机试305
-
[填空题]数列中,第一项为3,后一项都比前一项的值增5。下列给定程序中,函数fun( )的功能是:计算前n(4≤n≤50)项的累计和。在累加过程中把那些被4除后余2的当前累加值放入数组中,符合此条件的累加值的个数作为函数值返回主函数里。如,当n的值为20时,该数列为3,8,13,18,23,28,…, 93,98。符合此条件的累加值应为42,126,366,570,1010。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
# include <stdio. h>
# define N 20
int fun(iht n, int *a)
/*************found*************/
{ int i, j, k, sum;
sum=0;
for(k=3, i=0;i<n; i++, k+=5)
{ sum=sum+ k;
/************found***************/
if (sum%4=2)
a [j++] =sum;
}
/*************found**************/
return j;
}
main ( )
{ int a[N],d, n, i;
printf("/nEnter n(4<=n<=50): ");
scanf("%d", &n);
d=fun(n, a);
printf("/n/n The result :/n ");
for(i=0;i<d; i++) printf("%6d ",a[i]);
printf("/n/n ");
}
-
[填空题]请补充函数fun( ),该函数的功能是:把从键盘输入的3个整数按从小到大输出。
例如:输入“33 78 25”,结果输出“25 33 78”。
注意:部分源程序给出如下。
请勿改动主函数main 和其他函数中的任何内容,仅在函数fun 的横线上填入所编写的若干表达式或语句。
试题程序:
# include<stdio. h>
# include<conio. h>
main( )
{
int x,y, z,t;
clrscr ( );
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);
}
-
[简答题]请编一个函数float fun (double h),函数的功能是对变量h中的值保留两位小数,并对第三位进行四舍五入(规定h中的值为正数)。
例如:若h值为8.32433,则函数返回8.32:若h值为 8.32533,则函数返回8.33。
注意:部分源程序给出如下。
请勿改动主函数main 和其他函数中的任何内容,仅在函数。fun 的花括号中填入所编写的若干语句。
试题程序:
#include <stdio. h>
#include <conio. h>
float fun (float h )
{
}
main( )
{
float a;
clrscr ( );
printf ("Enter a: ");
scanf ("%f", &a);
printf("The original data is : ");
printf("%f/n/n", a) ;
printf("The result: %f/n", fun(a) );
}