试卷编号: 8139
所属语言: C 语言
试卷方案: TC_1102181054
试卷总分: 1130 分
共有题型: 1 种
共 113 题 (共计 1130 分)
一、程序设计
第 1 题 ( 10.0 分) 题号 :390
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:编写函数求 1~100 中奇数的平方和。
结果为 166650.000000 。
------------------------------------------------*/
#include
void wwjt();
float sum(int n)
{
/**********Program**********/
/********** End **********/
}
main()
{
printf("sum=%f\n",sum(100));
wwjt();
}
void wwjt()
{
FILE *IN,*OUT;
int i;
float o;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("Read FILE Error");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("Write FILE Error");
}
for(j=0;j<5;j++)
{
fscanf(IN,"%d",&i);
o=sum(i);
fprintf(OUT,"%f\n",o);
}
fclose(IN);
fclose(OUT);
}
答案: ----------------------
float s=0;
int i;
for(i=1;i<=n;i=i+2)
s=s+i*i;
return(s);
----------------------
第 2 题 ( 10.0 分) 题号 :320
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:在键盘上输入一个 3 行 3 列矩阵的各个元素的值(值
, 并在 fun()
为整数),然后输出主对角线元素的积
函数中输出。
------------------------------------------------*/
#include
void wwjt();
main()
{
int i,j,s,a[3][3];;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
}
s=fun(a);
printf("Sum=%d\n",s);
wwjt();
}
int fun(int a[3][3])
{
/**********Program**********/
/********** End **********/
}
void wwjt()
{
FILE *IN,*OUT;
int m;
int n;
int i[3][3];
int o;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("Read FILE Error");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("Write FILE Error");
}
for(m=0;m<3;m++)
{
for(n=0;n<3;n++)
fscanf(IN,"%d",&i[m][n]);
}
o=fun(i);
{
fprintf(OUT,"%d\n",o);
getch();
}
fclose(IN);
fclose(OUT);
}
答案: ----------------------
int sum;
int i,j;
sum=1;
for(i=0;i<3;i++)
sum=sum*a[i][i];
return sum;
----------------------
第 3 题 ( 10.0 分) 题号 :324
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:能计算从 1 开始到 n 的自然数中偶数的平方的和,
n 由
键盘输入,并在 main() 函数中输出。 ( n 是偶数)
------------------------------------------------*/
#include
void wwjt();
int fun(int n)
{
/**********Program**********/
/********** End **********/
}
main()
{
int m;
printf("Enter m: ");
scanf("%d", &m);
printf("\nThe result is %d\n", fun(m));
wwjt();
}
void wwjt()
{
FILE *IN,*OUT;
int t;
int o;
int c;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("Read FILE Error");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("Write FILE Error");
}
for(c=1;c<=5;c++)
{
fscanf(IN,"%d",&t);
o=fun(t);
fprintf(OUT,"%d\n",o);
}
fclose(IN);
fclose(OUT);
}
答案: ----------------------
int sum,i;
sum =0;
for(i=2;i<=n;i=i+2)
{
sum=sum+i*i;}
return(sum);
----------------------
第 4 题 ( 10.0 分) 题号 :345
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:将两个两位数的正整数
a、 b 合并形成一个整数放在 c
中。合并的方式是:将 a 数的十位和个位数依次放在
数的千位和十位上, b 数的十位和个位数依次放在
数的个位和百位上。
c
c
例如:当 a= 45, b=12。调用该函数后, c=4251 。
------------------------------------------------*/
#include
void wwjt();
void fun(int a, int b, long *c)
{
/**********Program**********/
/********** End **********/
}
main()
{
int a,b;
long c;
printf("input a, b:");
scanf("%d%d", &a, &b);
fun(a, b, &c);
printf("The result is: %ld\n", c);
wwjt();
}
void wwjt ( )
{
FILE *rf, *wf ;
int i, a,b ;
long c ;
rf = fopen("in.dat", "r") ;
wf = fopen("out.dat","w") ;
for(i = 0 ; i < 10 ; i++)
{
fscanf(rf, "%d,%d", &a, &b) ;
fun(a, b, &c) ;
fprintf(wf, "a=%d,b=%d,c=%ld\n", a, b, c) ;
}
fclose(rf) ;
fclose(wf) ;
}
答案: ----------------------
*c=a/10*1000+a%10*10+b/10+b%10*100;
----------------------
第 5 题 ( 10.0 分) 题号 :366
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:求一组数中大于平均值的数的个数。
例如:给定的一组数为 1,3,6,9,4,23,35,67,12,88
时,函
数值为 3。
------------------------------------------------*/
#include
void wwjt();
int fun(int a[],int n)
{
/**********Program**********/
/********** End **********/
}
main()
{
int a[10]={1,3,6,9,4,23,35,67,12,88};
int y;
y=fun(a,10);
printf("y=%d\n",y);
wwjt();
}
void wwjt()
{
FILE *IN,*OUT;
int iIN[10],iOUT,i,j;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("Please Verify The Currernt Dir..it May Be Changed");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("Please Verify The Current Dir.. it May Be Changed");
}
for(j=0;j<10;j++)
{
for(i=0;i<10;i++)
fscanf(IN,"%d",&iIN[i]);
iOUT=fun(iIN,10);
}
fprintf(OUT,"%d\n",iOUT);
fclose(IN);
fclose(OUT);
}
答案: ----------------------
int i,k=0;
float s=0,ave;
for(i=0;i