c程序改错题——有答案
- 格式:docx
- 大小:46.42 KB
- 文档页数:35
试卷编号:10578
所属语言:C语言
试卷方案:TC_150522153552
试卷总分:440分
共有题型:1种
一、程序改错共44题(共计440分)
第1题(10.0分)题号:380 难度:中第2章/*------------------------------------------------------ 【程序改错】
--------------------------------------------------------
功能:输入两个双精度数,函数返回它们的平方和的平方根值。
例如:输入:22.936 和 14.121,输出为:y = 26.934415。
------------------------------------------------------*/
#include
#include
#include
/**********FOUND**********/
double fun (double *a, *b)//double fun(double *a,double *b) {
double c;
/**********FOUND**********/
c = sqr(a*a + b*b);//sqrt
/**********FOUND**********/
return *c;
}
main ( )
{
double a, b, y;
printf ( "Enter a, b : ");
scanf ("%lf%lf", &a, &b );
y = fun (&a, &b);
printf ("y = %f \n", y );
}
第2题(10.0分)题号:438 难度:中第2章/*------------------------------------------------
【程序改错】
--------------------------------------------------
功能:编写函数fun,求两个整数的最小公倍数,然后用主
函数main()调用这个函数并输出结果,两个整数由
键盘输入。
------------------------------------------------*/
#include
int fun(int m,int n)
{
int i;
/**********FOUND**********/
if (m=n)//if(m==n)
{
i=m;
m=n;
n=i;
}
for(i=m;i<=m*n;i+=m)
/**********FOUND**********/
if(i%n==1)//if(i%n==0)
return(i);
return 0;
}
main()
{
unsigned int m,n,q;
printf("m,n=");
scanf("%d,%d",&m,&n);
/**********FOUND**********/
q==fun(m,n);//q=fun(m,n);
printf("p(%d,%d)=%d",m,n,q);
}
第3题(10.0分)题号:404 难度:易第2章/*------------------------------------------------------ 【程序改错】
--------------------------------------------------------
功能:编写函数求2!+4!+6!+8!+10+12!+14!。
------------------------------------------------------*/
#include
long sum(int n)
{
/**********FOUND**********/
int i,j//int i,j;
long t,s=0;
/**********FOUND**********/
for(i=2;i<=n;i++)//for(i=2;i<=n;i+=2)
{
t=1;
for(j=1;j<=i;j++)
t=t*j;
s=s+t;
}
/**********FOUND**********/
return(t);//return (s);
}
main()
{
printf("this sum=%ld\n",sum(14));
}
第4题(10.0分)题号:360 难度:中第2章/*------------------------------------------------------ 【程序改错】
--------------------------------------------------------
功能:计算正整数num的各位上的数字之积。
例如:若输入:252,则输出应该是:20。
若输入:202,则输出应该是:0。
------------------------------------------------------*/
#include
#include
long fun (long num)
{
/**********FOUND**********/
long k=1//long k=1;
do
{
k*=num%10 ;
/**********FOUND**********/