2.4输出华氏—摄氏温度转换表

例2-6 输入两个整数lower和upper,输出一张华氏—摄氏温度转换表,华氏温度的取值范围是[lower,upper],每次增加1°F。计算公式和前两节一样。
分析:
**
输入的lower和upper都是整数,于是用int定义。其次还应该定义的有摄氏和华氏。
输出一张表,所以应该有摄氏和华氏两栏。
存在取值范围,所以应该有for循环控制范围。**

#include <stdio.h>
int main()
{
    int f, lower, upper;
    double c;

    printf("Enter lower:");//输入提示
    scanf("%d", &lower);
    printf("Enter upper:");
    scanf("%d", &upper);

    if (lower <= upper)
    {
        printf("f c \n");
        for (f = lower; f <= upper; f++)//控制范围每次加1
        {
            c = (5.0 / 9.0) * (f - 32);//计算公式
            printf("% 4d% 6.1f\n", f, c);//格式输出,4为宽度,.1为保留的小数
        }
    }
    else
    {
        printf("Invalid Value!\n");
    }
    return 0;
}

例[2-7]输入一个正整数n,求累加的结果。

#include <stdio.h>
int main()
{
    int i, n, sum;
    printf("Please input a number:\n");
    scanf("%d", &n);
    sum = 0;
    for (i = 1; i <= n; i++)
    {
        sum = sum + i;
    }
    printf("%d\n", sum);
    return 0;
}

例[2-8]输入一个正整数n,1-1/3+1/5-1/7+……的前n项之和。

#include <stdio.h>
int main()
{
    int i, n, x, y;
    double sum, item;
    printf("Please input a number:\n");
    scanf("%d", &n);
    x = 1; //x表示第i项的符号,初始为正。
    y = 1; //y表示第i项的分母,初始为1。
    sum = 0;
    for (i = 1; i <= n; i++)
    {
        item = x * 1.0 / y; //计算第i项的值
        sum = sum + item;   //累加第i项的值
        x = -x;
        y = y + 2;
    }
    printf("sum=%f\n", sum);

    return 0;
}

例[2-9]从键盘输入一个正整数n,计算n的阶乘

#include <stdio.h>
int main()
{
    int i, n;
    double produce;
    printf("Please input a number:\n");
    scanf("%d", &n);
    produce = 1;
    for (i = 1; i <= n; i++)
    {
        produce = produce * i;
    }
    printf("produce=%.0f\n", produce);
    
    return 0;
}

练习2-12:输入两个整数lower和upper,输出一张华氏—摄氏温度转换表,华氏温度的取值范围是[lower,upper],每次增加2°F。计算公式和前两节一样。

#include <stdio.h>
int main()
{
    int f, lower, upper;
    double c;

    printf("Enter lower:"); //输入提示
    scanf("%d", &lower);
    printf("Enter upper:");
    scanf("%d", &upper);

    if (lower <= upper)
    {
        printf("f c \n");
        for (f = lower; f <= upper; f++) //控制范围每次加1
        {
            f = f + 1;//再加1
            c = (5.0 / 9.0) * (f - 32); //计算公式
            printf("%d% 6.1f\n", f, c); //格式输出,.1为保留的小数
        }
    }
    else
    {
        printf("Invalid Value!\n");
    }
    return 0;
}

练习2-13:求给定序列前n项和(1+1/2+1/3+……):输入一个正整数n,计算序列的前n项之和,试编写相关程序。

#include <stdio.h>
int main()
{
    int i, n, y;
    double sum, item;
    printf("Please input a number:\n");
    scanf("%d", &n);
    y = 1; //y表示第i项的分母,初始为1。
    sum = 0;
    for (i = 1; i <= n; i++)
    {
        item = 1.0 / y;   //计算第i项的值
        sum = sum + item; //累加第i项的值
        y = y + 1;
    }
    printf("sum=%f\n", sum);

    return 0;
}

练习2-14:求给定序列前n项和(1+1/3+1/5+……):输入一个正整数n,计算序列的前n项之和,试编写相关程序。

#include <stdio.h>
int main()
{
    int i, n, y;
    double sum, item;
    printf("Please input a number:\n");
    scanf("%d", &n);
    y = 1; //y表示第i项的分母,初始为1。
    sum = 0;
    for (i = 1; i <= n; i++)
    {
        item = 1.0 / y;   //计算第i项的值
        sum = sum + item; //累加第i项的值
        y = y + 2;
    }
    printf("sum=%f\n", sum);

    return 0;
}

练习2-15:求给定序列前n项和(1-1/4+1/7-1/10……):输入一个正整数n,计算序列的前n项之和,试编写相关程序。

#include <stdio.h>
int main()
{
    int i, n, x, y;
    double sum, item;
    printf("Please input a number:\n");
    scanf("%d", &n);
    x = 1; //x表示第i项的符号,初始为正。
    y = 1; //y表示第i项的分母,初始为1。
    sum = 0;
    for (i = 1; i <= n; i++)
    {
        item = x * 1.0 / y; //计算第i项的值
        sum = sum + item;   //累加第i项的值
        x = -x;
        y = y + 3;
    }
    printf("sum=%f\n", sum);

    return 0;
}

练习2-16:执行下列程序后,sum的值是?
for(i=1;i<=10;i++)
{
sum=0;
sum=sum+i;
}
就是一个1到10的累加,sum应该等于55.

发布了14 篇原创文章 · 获赞 2 · 访问量 278

猜你喜欢

转载自blog.csdn.net/qq_45969772/article/details/104740471
今日推荐