C语言程序设计第五版谭浩强著 第五章部分课后习题答案

#include
main()
{
    int x,y,m,n,u,p;
    scanf("%d%d",&x,&y);
    m=x;
    n=y;
    while(y!=0)
    {
    	u=x%y;
    	x=y;
    	y=u;
    }
    p=m*n/x;
    printf("最大公约数=%d\n",x);     
    printf("最小公倍数=%d\n",p);
    return 0;
} 
#include
main()
{
	char a;
	int z=0,k=0,s=0,q=0;
	while((a=getchar())!='\n')
	{
	      if(a>=65&&a<=90||a>=97&&a<=122)z++;
	      else if(a==32)k++;
	      else if(a>=48&&a<=57)s++;
	      else q++;
	}
	printf("字母%d个\n",z);
	printf("空格%d个\n",k);
	printf("数字%d个\n",s);
	printf("其他字符%d个\n",q);
	return 0;
}
#include
main()
{
    int a,n,sum=0,i,t=0;
    scanf("%d%d",&a,&n);
    for(i=1;i<=n;i++)
    {
		t=a+t*10;
		sum+=t;
    }
    printf("%d\n",sum);
    return 0;
}
#include
int main()
{
    int n,s=1,sum=0;
    for(n=1;n<=20;n++)
{
    s=s*n;
    sum=sum+s;
}
    printf("%d\n",sum);
    return 0;
}

#include
main()
{
    int k1=1,k2=1,k3=1;
    int sum1=0,sum2=0,sum3=0,sum;
    for(k1=1;k1<=100;k1++) sum1=sum1+k1;
    for(k2=1;k2<=50;k2++) sum2=sum2+k2*k2;
    for(k3=1;k3<=10;k3++) sum3=sum3+(1/k3);
    sum=sum1+sum2+sum3;
    printf("%d\n",sum);
    return 0;
}
#include
main()
{
	int ud,td,hd,i;
	printf("水仙花数:");
	for(i=100;i<1000;i++)
	{
		ud=i%10;
		td=i%100/10;
		hd=i/100;
		if(i==ud*ud*ud+td*td*td+hd*hd*hd)
		printf("%d ",i);
	}
	printf("\n");
	return 0;
}
#include
int main()
{
	int sum=0,i,j;
	for(i=6;i<=1000;i++)
	{
	    sum=0;
		for(j=1;j<i;j++)
		{
			if(i%j==0)
			sum+=j;
		}
		if(sum==i)
		{printf("%d its factors are ",i);
		for(j=1;j<i;j++)
		{
		if(i%j==0)
		printf("%d,",j);
		}
		printf("\b ");
		printf("\n");
		}
	}
	return 0;
} 
#include
main()
{
	double u,d,i,sum,num,t=0;
	u=2,d=1;
	for(i=1;i<=20;i++)
	{
		num=u/d;
		t=u;
		u=u+d;
		d=t;
		sum+=num;
	}
	printf("%lf\n",sum);
	return 0;
}
#include
main()
{
	double h=100,s,i;
	for(i=1;i<=10;i++)
	{
		h/=2;
	    s+=2*h+h;
	}
	printf("经过了%lf米 高度为%lf\n",s,h);
	return 0;
}
#include
main()
{
    int i,sum=0;
    for(i=1;i<=10;i++)
    sum=sum*2+1;
    printf("%d\n",sum);
    return 0;
}
#include
#include
main()
{
	double x0,x1;
	float a;
	scanf("%f",&a);
	x0=23456;
	x1=(x0+a/x0)/2.0;
	for(;;)
	{
		x0=x1;
		x1=(x0+a/x0)/2.0;
		if(fabs(x0-x1)<1e-5)
		{printf("%lf",x1);
		break;}
	}
	return 0;
} 
#include
#include
int main()
{
    int i=0;
    double x1=1.5,x2=0;
    while (fabs(x2-x1)>=1e-5)
    {
        x1=x1-(2*x1*x1*x1-4*x1*x1+3*x1-6)/(6*x1*x1-8*x1+3);
        x2=x1-(2*x1*x1*x1-4*x1*x1+3*x1-6)/(6*x1*x1-8*x1+3);
        i++;
    }
    printf("y=%9.8f\n",x2);
    return 0;
}
#include 
#include 
int main()
{
    int i;
	double a=-10,b=10,c,x,x1,x2,x3;
    for (i=0;;i++){
        c=(a+b)/2;
        x1=2*pow(a, 3)-4*pow(a, 2)+3*a-6;
        x2=2*pow(b, 3)-4*pow(b, 2)+3*b-6;
        x3=2*pow(c, 3)-4*pow(c, 2)+3*c-6;
        if (!x3) x=c;
        else if (x1*x3<0) b=c;
        else if (x2*x3<0) a=c;
        if (fabs(a-b)<1e-8){
            x=a;
            break;
        }
    }
    printf("x=%lf\n", fabs(x));
    return 0;
}
#include
main()
{
	int i,j,k;
	for(i=0;i<=3;i++)
	{
		for(j=0;j<=2-i;j++)
		printf(" ");
		for(k=0;k<=2*i;k++)
		printf("*");
		printf("\n");
	}
	for(i=0;i<=2;i++)
	{
		for(j=0;j<=i;j++)
        printf(" ");
        for(k=0;k<=4-2*i;k++)
        printf("*");
        printf("\n");
	}
	return 0;
}
#include
main()
{
	char a,b,c;
	for(a='x';a<='z';a++)
       for(b='x';b<='z';b++)
       if(a!=b)
    for(c='x';c<='z';c++)
	   if(a!=c&&b!=c)
	   if(a!='x'&&c!='x'&&c!='z')
       printf("A-->%c B-->%c C-->%c\n",a,b,c);
	return 0;
}

你可能感兴趣的:(新的开始)