c语言期末1精选
【程序改错】
1.功能:根据整型形参m,计算如下公式的值:
y=1/2+1/8+1/18+...+1/2m*m
#include "stdio.h"
double fun(int m)
{
/**********ERROR**********/
double y=0.0 [double y=0.0;]
int i;
/**********ERROR**********/
for(i=1; i
{
/**********ERROR**********/
y=+1.0/(2*i*i); [y=y+1.0/(2*i*i);]
}
return(y);
}
main()
{
int n;
printf("Enter n: ");
scanf("%d", &n);
printf("\nThe result is %1f\n", fun(n));
}
2.题目:从键盘输入的正整数中找出最大值,输入0时结束。
#include "stdio.h"
main()
{
int max=0,a;
do
{
scanf("%d",&a);
/**********ERROR**********/
if(a>max) a=max; [if(a>max) max=a;]
}
/**********ERROR**********/
while(a==0); [while(a!=0);]
printf("%d",max);
}
3.题目:从键盘输入数a、b、c后,输出其中最小的数。
#include "stdio.h"
main()
{
int a,b,c,t,m;
scanf("%d%d%d",&a,&b,&c);
printf("a=%d,b=%d,c=%d\n",a,b,c);
/**********ERROR**********/
t=(a>b)?a :b; [t=(a
/**********ERROR**********/
m=(t>c)?t :c; [m=(t
printf("m is %d\n", m);
}
4.题目:求8!的结果。
#include "stdio.h"
main( )
{
int i=8;
long s1=1,j;
/**********ERROR**********/
for(j=1;j
/**********ERROR**********/
s1=s1*i; [ s1=s1*j;]
printf("%ld",s1);
}
5.题目:从键盘输入35,求出能被3和5整除的数。
#include "stdio.h"
main()
{
int n,flag;
scanf("%d",&n);
flag=0;
/**********ERROR**********/
if(n/3!=0) flag=-1; [if(n%3!=0) flag=-1;]
if(n%5!=0) flag=-1;
/**********ERROR**********/
if(flag!=0) printf("能被3,5整除"); [if(flag==0) printf("能被3,5整除");]
else printf("不能被3,5整除");
}
6.功能:一个整数,它加上100后是一个完全平方数,再加上168又
是一个完全平方数,请问该数是多少?
#include "stdio.h"
#include "math.h"
main()
{
long int i,x,y,z;
/**********ERROR**********/
for (i==1;i<100000;i++) [ for (i=1;i<100000;i++)]
{
/**********ERROR**********/
x=sqrt(i+100) [x=sqrt(i+100);]
y=sqrt(i+268);
/**********ERROR**********/
if(x*x==i+100||y*y==i+268) [if(x*x==i+100&&y*y==i+268)]
prin