20201022-成信大-C语言程序设计-20201学期《C语言程序设计B》C-trainingExercises04

本文提供了一系列C语言编程练习题及解答,包括输入输出操作、数学计算、数据处理等,适合初学者实践掌握基本语法和编程技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

20201015-成信大-C语言程序设计-20201学期《C语言程序设计B》C-trainingExercises04

P136

在这里插入图片描述

题解和分析

/*
编写一程序P136.C实现以下功能
  通过键盘输入弧度x,输出x的余弦值(可用库函数cos)。
    编程可用素材:printf("请输入弧度 x: ")、printf("\nCos(…) = …\n"…。
  程序的运行效果应类似地如图1所示,图1中的红色部分是从键盘输入的内容。
        请输入弧度 x: 2.553

        Cos(2.55) = -0.83172
*/

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

int main(void)
{
    double rad; //2.553

    printf("请输入弧度 x: ");
    scanf("%lf", &rad);
    printf("\nCos(%.2lf) = %.5lf\n", rad, cos(rad));

    return 0;
}

/*
	分析:
	1. 格式化,浮点数精度控制
	2. 库函数调用,注意头文件包含
*/

P238

在这里插入图片描述

题解和分析

/*
编写一程序P238.C实现以下功能
  先从键盘读入5个整数,然后倒序输出这5个数。
    编程可用素材:printf("请输入5个数: ")、printf("\n这5个数倒序为: ")。
  程序的运行效果应类似地如图1所示,图1中的1 3 6 10 22是从键盘输入的内容。
        请输入5个数:  1 3 6 10 22

        这5个数倒序为: 22 10 6 3 1
*/

#include <stdio.h>

int main(void)
{
    int data1, data2, data3, data4, data5;

    printf("请输入5个数:  ");
    scanf("%d %d %d %d %d", &data1, &data2, &data3, &data4, &data5);
    printf("\n这5个数倒序为: %d %d %d %d %d\n", data5, data4, data3, data2, data1);

    return 0;
}

P265

在这里插入图片描述

题解和分析

/*
编写一程序P265.C实现以下功能
  先从键盘读入7个数据(依次为2实数、3整数、2字符),然后按示例格式倒序输出这7个数据。
    编程可用素材:
        printf("请输入7个数据(依次为2实数、3整数、2字符): ")、
        printf("\n这7个数据倒序为: ")。
  程序的运行效果应类似地如图1所示,图1中的红色部分是从键盘输入的内容。
        请输入7个数据(依次为2实数、3整数、2字符): 61.12376371 152.351192 81 192 35 x m

        这7个数据倒序为: 7-m 6-x 5-35 4-192 3-81 2-152.3511920 1-61.1237637
*/

#include <stdio.h>

int main(void)
{
    double ddata1, ddata2;
    int idata1, idata2, idata3;
    char ch1, ch2;

    printf("请输入7个数据(依次为2实数、3整数、2字符): ");
    scanf("%lf %lf %d %d %d %c %c", 
        &ddata1, &ddata2, &idata1, &idata2, &idata3, &ch1, &ch2);
    printf("\n这7个数据倒序为: 7-%c 6-%c 5-%d 4-%d 3-%d 2-%.7lf 1-%.7lf\n",
           ch2, ch1, idata3, idata2, idata1, ddata2, ddata1);

    return 0;
}

/*
	分析
	1. 数据格式化输入和输出
	2. 变量的地址
	3. 变量的输入输出顺序
*/

P728

在这里插入图片描述

题解和分析

/*
编写一程序P728.C实现以下功能
  已知某产品单价是30 ,输入其数量是num,输出其总价。
    编程可用素材:printf("please input num: ")、printf("\ntotal=…。
  程序的运行效果应类似地如图1所示,图1中的红色部分是从键盘输入的内容。
        please input num: 8

        total=240
*/

#include <stdio.h>

int main(void)
{
    int num;
    int total;

    printf("please input num: ");
    scanf("%d", &num);
    total = num * 30;
    printf("\ntotal=%d\n", total);

    return 0;
}

/*
	分析:
		1. 建议初学者,多使用变量,中间变量
		2. 输入输出是基础
		3. 可以适当创建自己的编程模板,然后写程序时,在思路成熟后,就是填空
		4. 使用短句,方便调试
*/

P734

在这里插入图片描述

题解和分析

/*
编写一程序P734.C实现以下功能
  从键盘输入一个正方体的边长(整型),计算该正方体的体积和表面积。
    编程可用素材:
        printf("Input a side of cube: ")…、
        printf("\nThe volume of cube is …, the surface area of cube is %d.\n"…。
  程序的运行效果应类似地如图1所示,图中的红色部分是从键盘输入的内容。
        Input a side of cube: 5

        The volume of cube is 125, the surface area of cube is 150.
*/

#include <stdio.h>

int main(void)
{
    int length;
    int cube;
    int area;

    printf("Input a side of cube: ");
    scanf("%d", &length);
    cube = length * length * length;
    area = 6 * length * length;
    printf("\nThe volume of cube is %d, the surface area of cube is %d.\n", 
            cube, area);

    return 0;
}

/*
	分析
	1. 编程要实事求是,分析合适的数据类型,来存取相应的数据
	2. 要特别注意题目要求和测试数据的要求
*/

P736

在这里插入图片描述

题解和分析

/*
编写一程序P736.C实现以下功能
  从键盘上输入一个四位整数,计算各个位上的数字之和。
    编程可用素材:
        printf("Input a number with 4-digit: ")、
        printf("\nsum=…\n"…。
  程序的运行效果应类似地如图1所示,图中的红色部分是从键盘输入的内容。
        Input a number with 4-digit: 1234

        sum=10
*/

#include <stdio.h>

int main(void)
{
    int num;
    int gw, sw, bw, qw;

    printf("Input a number with 4-digit: ");
    scanf("%d", &num);

    qw = num / 1000;					// 离分出千位
    bw = num % 1000 / 100;				// 离分出百位
    sw = num % 100 / 10;				// 离分出十位
    gw = num % 10;						// 离分出个位
    printf("\nsum=%d\n", qw + bw + sw + gw);

    return 0;
}

/*
	分析:
	1. 整数除法
	2. 整数求余
	3. 表达式与函数调用
*/

P709

在这里插入图片描述

题解和分析

/*
编写一程序P709.C实现以下功能
  输入一个华氏温度,要求输出摄氏温度,计算公式为c=5(F-32)/9。
    编程可用素材:
        printf("Input the degree: ")、
        printf("\nF(…)=C(…)…。
  程序的运行效果应类似地如图1所示,图1中的红色部分是从键盘输入的内容。
        Input the degree: 120

        F(120.00)=C(48.89)
*/

#include <stdio.h>

int main(void)
{
    double fdegree, cdegree;

    printf("Input the degree: ");
    scanf("%lf", &fdegree);
    // c=5(F-32)/9
    cdegree = (double)5 * (fdegree - 32) / 9;
    printf("\nF(%.2lf)=C(%.2lf)\n", fdegree, cdegree);

    return 0;
}
/*
	分析:
	1. 转换算法,这是以后编程的核心部分,现在的题提供了算法,以后可能需要程序员自己找算法或是创建算法
	2. 计算过程中,如何去保证精度,不随意丢失精度
	3. 输出结果字符串是如何拼接出来的,哪里是原样字符输出,哪里是格式占位输出
		占位符的格式是输出的什么
			整数?
			字符?
			浮点?
			位宽,小数宽?
*/
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值