C程序设计第四版(谭浩强著)第二章算法-程序的灵魂习题代码

本文介绍了六个实用的编程问题解决方案,包括数的交换、找出十个数中的最大值、排序三个数、计算等差数列和、判断整除、筛选素数、求最大公约数,以及判断闰年和计算特定序列的值。这些代码展示了基础算法在实际编程中的应用。

(1)有两个数a,b,将他们两个数值互换
(2)依次将十个数输入,要求输出其中最大的数
(3)有三个数a,b,c,要求按大小顺序把他们输出
(4)求1+2+3+···+100
(5)判断一个数能否同时被3和5整除
(6)将100~200之间的素数输出
(7)求两个数m,n的最大公约数
(8)求2000——2500年中的每一年是否为闰年,并将结果输出
(9)求多项式1-1/2+1/3-1/4+···+1/99-1/100的值

//有两个数a,b,将他们两个数值互换
#include<stdio.h>
int main()
{
    int a,b,c;
    a=1;b=2;
    c=a;
    a=b;
    b=c;
    printf("a=%d,b=%d",a,b);
    return 0;
}

//依次将十个数输入,要求输出其中最大的数
#include<stdio.h>
int main()
{
    int a[10],c,i,max=0;
    for(i=0;i<=9;i++)
    {
        scanf("%d",&a[i]);
        c=max>a[i]?max:a[i];
        max=c;
    }
    printf("max=%d",max);
    return 0;
}

//有三个数a,b,c,要求按大小顺序把他们输出
#include<stdio.h>
int main()
{
    int a,b,c,m;
    a=3;
    b=5;
    c=4;
    if(a>b)
    {
        m=a;
        a=b;
        b=m;
    }
    if(b>c)
    {
        m=b;
        b=c;
        c=m;
        if(a>b)
        {
            m=a;
            a=b;
            b=m;
        }
    }
    printf("%d,%d,%d",a,b,c);
    return 0;
}

//求1+2+3+···+100
#include<stdio.h>
int main()
{
    int i,sum=0;
    for(i=1;i<=100;i++)
    {
        sum=sum+i;
    }
    printf("sum=%d",sum);
    return 0;
}

//判断一个数能否同时被3和5整除
#include<stdio.h>
int main()
{
    int a;
    scanf("%d",&a);
    if(a%3==0&&a%5==0)
        printf("yes");
    else
        printf("no");
    return 0;
}

//将100~200之间的素数输出
#include<stdio.h>
int main()
{
    int i,j;
    for(i=100;i<=200;i++)
    {
        for(j=2;j<=i/2;j++)
        {
            if(i%j==0)
            {
                break;
            }
            else if(j==i/2)
            {
                printf("%d ",i);
            }
        }
        
    }
    return 0;
}

//求两个数m,n的最大公约数
#include<stdio.h>
int main()
{
    int i,m,n,max;
    scanf("%d%d",&m,&n);
    for(i=1;i<=n;i++)
    {
        if(m%i==0&&n%i==0)
            max=i;
    }
    printf("max=%d",max);
    return 0;
}

//求2000——2500年中的每一年是否为闰年,并将结果输出
#include<stdio.h>
int main()
{
    int i;
    for(i=2000;i<=2500;i++)
    {
        if(i%4==0&&i%100!=0)
        {
            printf("%d ",i);
        }
        else if(i%400==0)
        {
            printf("%d ",i);            
        }
    }
    return 0;
}

//求多项式1-1/2+1/3-1/4+···+1/99-1/100的值
#include<stdio.h>
#include<math.h>
int main()
{
    int i;
    double sum=0,j;
    for(i=1;i<=100;i++)
    {
        j=pow(-1,i+1)/i;
        sum=sum+j;
    }
    printf("sum=%f",sum);
    return 0;
}
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaowuguiya

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值