C语言程序设计(第三版)谭浩强版第六章例题源代码

   例6.1 用if语句和goto语句构成循环,求1到100的和

#include<stdio.h>

void main()
{
    int i,sum=0;
    i=1;
loop: if(i<=100)
    {
    sum=sum+i;
    i++;
    goto loop;
    }
    printf("%d\n",sum);
}

例6.2 用while循环求1到100的和

#include<stdio.h>

void main()
{
    int i,sum=0;
    i=1;
    while(i<=100)
    {
        sum=sum+i;
        i++;
    }
    printf("%d\n",sum);
}

例6.3 用do...while循环求1到100的和

#include<stdio.h>

void main()
{
    int i,sum=0;
    i=1;
    do
    {
        sum=sum+i;
        i++;
    }
    while(i<100);
    printf("%d\n",sum);
}

例6.4 while和do...while的区别

#include<stdio.h>

void main()
{
    int i,sum=0;
    scanf("%d",&i);
    while(i<=10)
    {
        sum=sum+i;
        i++;
    }
    printf("%d\n",sum);
}

 

#include<stdio.h>

void main()
{
    int i,sum=0;
    scanf("%d",&i);
    do
    {
        sum=sum+i;
        i++;
    }
    while(i<=10);
    printf("%d\n",sum);
}

例6.5 把100~200之间的不能被3整除的数输出

#include<stdio.h>

void main()
{
    int n;
    for(n=100;n<=200;n++)
    {
        if(n%3==0)continue;
        printf("%d ",n);
    }
    printf("\n");
}

例6.6 用π/4约等于1-1/3+1/5-1/7+...公式求π的近似值,直到某一项的绝对值小于10-6为止。

 #include<stdio.h>

void main()
{
    int s;
    float n,t,pi;
    t=1;n=1.0;pi=0;s=1;
    while(fabs(t)>1e-6)
    {
        pi=pi+t;
        n=n+2;
        s=-s;
        t=s/n;
    }
    pi=pi*4;
    printf("pi=%10.6f\n",pi);
}

例6.7 求Fibonacci数列的前40个数。

#include<stdio.h>

void main()
{
    long int f1,f2;
    int i;
    f1=1;f2=1;
    for(i=1;i<=20;i++)
    {
        printf("%12ld %12ld",f1,f2);
        if(i%2==0) printf("\n");
        f1=f1+f2;
        f2=f2+f1;
    }
}

例6.8 判断m是否是素数。

#include<stdio.h>

void main()
{
    int m,i,k;
    scanf("%d",&m);
    k=sqrt(m);
    for(i=2;i<=k;i++)
        if(m%i==0)break;
    if(i>k) printf("%d is a prime number\n");
    else printf("%d is not a prime number\n");
}

例6.9 求100~200间的全部素数

#include<stdio.h>

void main()
{
    int m,k,i,n=0;
    for(m=101;m<=200;m++)
    {
        k=sqrt(m);
        for(i=2;i<=k;i++)
            if(m%i==0) break;
        if(i>=k+1)
        {
            printf("%d",m);
            n=n+1;
        }
        if(n%10==0) printf("\n");    
    }
    prinf("\n");       
}

例6.10 译密码

#include<stdio.h>
void main()
{
    char c;
    while((c=getchar())!='\n')
    {
        if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
        {
            c=c+4;
            if(c>'Z'&&c<='Z'+4||c>'z')
                c=c-26;
        }
        printf("%c",c);
    }
    printf("\n");
}

posted @ 2012-10-10 22:38  forwhy  阅读(708)  评论(0)    收藏  举报