习题2

习题2
1.求整数均值:输入4个整数,计算并输出这些整数的和与平均值,其中平均值精确到小数点后1位。试编写相应程序。

#include <stdio.h>
int main()
{
    int x, y, z, a, sum;
    double ave;

    printf("please input four number:");
    scanf("%d %d %d %d", &x, &y, &z, &a);
    sum = x + y + z + a;
    ave = sum / 4;
    printf("sum=%d\n", sum);
    printf("ave=%.1f\n", ave);

    return 0;
}

2.阶梯电价:为了提倡居民节约用电某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分为两个“阶梯:月用电量50千瓦时(含50千瓦时)以内的,电价为0.53元/千瓦时;超过50千瓦时的,超出部分的用电量电价上调0.05元千瓦时。输入用户的月用电量(千瓦时),计算并输出该用户应支付的电费(元)试编写相应程序。

#include <stdio.h>
int main()
{
    double x, y;

    printf("please input a number:");
    scanf("%lf", &x);
    if (x >= 0 && x <= 50)
    {
        y = 0.53 * x;
    }
    else
    {
        y = 0.53 * 50 + (x - 50) * 0.58;
    }
    printf("%.2f\n", y);

    return 0;
}

3.序列求和:输入两个正整数m和n(0<m≤n),求∑(i²+1/i),结果保留6位小数。试编写相应程序。

#include <stdio.h>
int main()
{
    int m, n, i;
    double sum;
    printf("Enter m n:");
    scanf("%d %d", &m, &n);
    if (m > 0 && m <= n) //判断m和n的大小关系
    {
        for (i = m; i <= n; i++)
        {
            sum = i * i + 1.0 / i; //累加求和
        }
        printf("sum=%.6f\n", sum);
    }
    else
    {
        printf("Invalid value\n");
    }

    return 0;
}

4.求交错序列前n项和:输入一个正整数n,计算交错序列1-2/3+3/5-4/7+5/9-6/11+…的前n项之和。试编写相应程序。

#include <stdio.h>
#include <math.h>
int main()
{
    int n,i;
    double sum=0;
    printf("Enter n:");
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        sum=sum+pow(-1,i+1)*i/(2*i-1);
    }
    printf("%0.3f\n",sum);
    
    return 0;
}

5.平方根求和:输入一个正整数n,计算1+√2+根号三+…+根号n的值(保留2位小数)。可包含头文件math.h,并调用sqrt()函数求平方根。试编写相应程序。

#include <stdio.h>
#include <math.h>
int main()
{
    int i, n;
    double sum, x;
    printf("Enter n:");
    scanf("%d", &n);
    for (i = 1; i <= n; i++)
    {
        x = sqrt(i);
        sum = sum + x;
    }
    printf("sum=%.2f\n", sum);

    return 0;
}

6.求给定序列前n项和(1!+2!+…):输入一个正整数n.求e=1!+2!+3!+…+n!的值。要求定义和调用函数fact(n)计算n!,函数类型是 double。试编写相应程序。

#include <stdio.h>
double fact(int n)
{
    int i;
    double product;
    product = 1;
    for (i = 1; i <= n; i++)
    {
        product = product * i;
    }
    return product;
}
int main()
{
    int i, n;
    double result, sum;
    printf("Enter n:");
    scanf("%d", &n);
    sum = 0;
    for (i = 1; i <= n; i++)
    {
        result = fact(i);
        sum = sum + result;
    }
    printf("sum=%0.f\n", sum);
    return 0;
}
  • 12
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值