【拯救大学牲】人民邮电出版社C语言程序设计第五章编程题答案(上)

 注:本文所有程序均为笔者自己编写,仅供交流学习使用,欢迎一切纠错与指正。

目录

一、一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下。求第10次落地时共经过多少米。

二、计算数列1!、2!、3!、......、20!的和。

三、输出所有的水仙花数。水仙花数是指它的各位数字的立方和等于它自己的三位数。例如,153满足,153是一个水仙花数。

四、平方后低位的数恰好等于该数的数是同构数。例如,,5就是同构数。求小于10000的所有同构数。

五、计算


一、一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下。求第10次落地时共经过多少米。

#include <stdio.h>

int main()
{
    float s = 100.0,h = 100.0;
    int i;
    for (i = 9;i;i--)
    {
        h /= 2;
        s += h*2;
    }
    printf("%f",s);

    return 0;
}

二、计算数列1!、2!、3!、......、20!的和。

#include <stdio.h>

int main()
{
    int i,j;
    long long int sum = 0,k;
    for (i = 1;i <= 20;i++)
    {
        k = 1;
        for (j = 1;j <= i;j++)
        {
            k *= j;
        }
        sum += k;
    }
    printf("%lld",sum);

    return 0;
}

三、输出所有的水仙花数。水仙花数是指它的各位数字的立方和等于它自己的三位数。例如,153满足153=1^{3}+5^{3}+3^{3},153是一个水仙花数。

#include <stdio.h>
#include <math.h>

int main()
{
    int a,b,c,i;
    for (i = 100;i <= 999;i++)
    {
        a = i/100;
        b = i/10%10;
        c = i%10;
        if(i == pow(a,3)+pow(b,3)+pow(c,3))
        {
            printf("%d\n",i);
        }
    }

    return 0;
}

四、平方后低位的数恰好等于该数的数是同构数。例如,5^{2}=25,5就是同构数。求小于10000的所有同构数。

#include <stdio.h>

int main()
{
    long long int i,k = 10,j;
    for(i = 1;i <= 10000;i++)
    {
        if(i == k)
        {
            k *= 10;
        }
        j = i*i;
        if(j%k == i)
        {
            printf("%lld %lld\n",i,j);
        }
    }

    return 0;
}

五、计算C_{m}^{n}

#include <stdio.h>

int main()
{
	int m,n,k,a = 1,b = 1;
	printf("请输入m和n的值:");
	scanf("%d%d",&m,&n);
	k = m-n;
	for(m;m > 0;m--)
	{
		a *= m;
	}
	for(n;n > 0;n--)
	{
		b *= n;
	}
	for(k;k > 0;k--)
	{
		b *= k;
	}
	printf("%d",a/b);

	return 0;
}

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

风痕天际

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

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

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

打赏作者

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

抵扣说明:

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

余额充值