C语言程序设计Day2

一、摄氏温度和华氏温度的转化

#include <stdio.h>
int main()
{
    int celsius,fahr;
    fahr = 100;//不方便修改数值,改为scanf("%d",&fahr);printf("Enter fahr:\n);   
    celsius = 5*(fahr-32)/9;
    printf("fahr=%d,celsius=%d\n",fahr,celsius);
    return 0;
 } 

练习题2-4

求华氏温度150°F下的摄氏温度

#include <stdio.h>
int main()
{
    int celsius,fahr;
    fahr = 150;
    celsius = 5*(fahr-32)/9;
    printf("fahr=%d,celsius=%d\n",fahr,celsius);
    return 0;
 } 

练习题2-5

5*(fahr-32)/9可以写成5(fahr-32)/9吗?——不可以,会报错;

如果写成(5/9)*(fahr-32)结果会怎样?——得到的结果为celsius = 0,

但是写成 5.0/9.0 *(fahr-32)就可以,因为5/9,5和9都是当成整数类型的

这时/就是整除运算,只要分子小于分母,值就是0,也就是说5/9==0

所以只有用浮点数来相除才是真正的除法,所以写成5.0/9.0

练习题2-6

计算物体自由下落距离

#include<stdio.h>
int main()
{
    double height;
    height=0.5*10*3*3;
    printf("height = %.2f\n",height);
}

二、计算分段函数

#include<stdio.h>
int main()
{
    double x,y;
    
    printf("Enter x (x>=0):\n");
    
    scanf("%lf",&x);
    if (x<=15){
        y=4*x/3;
    }
    else{
        y=2.5*x-10.5;
    }
    printf("y=f(%f)=%.2f\n",x,y);//%.2f表示指定输出时保留两位小数
    
    return 0;
}

知识点:

  1. 关系运算

  1. if-else语句

  1. 格式化输入函数scanf

scanf(格式控制字符串,输入参数1,...,输入参数n);

格式控制字符串表示输入的形式,输入参数是变量地址(变量名前加&)。

格式控制:包含以%开头的格式控制字符,不同类型的数据采用不同的格式控制字符。

int型数据使用%d,float型数据使用%f,double型数据使用%lf。(l是long的首字母)

  1. 常用数学函数

练习题2-7

输入提示和输入语句的顺序应该如何安排?

一一对应

#include <stdio.h>

int main(){
    int a, b, c;
    printf("Input a, b, c: \n");
    scanf("%d%d%d", &a, &b, &c);//一一对应
    printf("a=%d, b=%d, c=%d\n", a, b, c);
    
    return 0;
} 

练习题2-8

计算摄氏温度:输入华氏温度,输出对应的摄氏温度。

#include <stdio.h>
int main()
{
    int celsius,fahr;
    printf("enter fahr:\n");
    scanf("%d",&fahr);
    celsius = 5*(fahr-32)/9;
    printf("celsius=%d\n",celsius);
    return 0;
 } 

练习题2-9

整数四则运算:输入2个正整数,计算并输出它们的和、差、积、商。

#include <stdio.h>
int main()
{
    int a,b;
    printf("请输入a,b的值");
    scanf("%d %d",&a,&b);
    printf("%d\n%d\n%d\n%d\n",(a+b),(a-b),(a*b),(a/b));
    
    return 0;
 } 

练习题2-10

计算分段函数(判断x是否不为0):输入x,计算并输出下列分段函数f(x)的值(保留1位小数)。

#include<stdio.h>
int main()
{
    double x,y;
    printf("输入x的值:\n");
    scanf("%lf",&x);
    if (x!=0)
       y=1.0/x;
    else
       y=0;
    printf("y=%.1f",y);
}

结果为什么不对。。。它好像是输出不来分数???

练习题2-11

计算分段函数(判断x是否小于0):输入x,计算并输出下列分段函数f(x)的值(保留2位小数)。

#include<stdio.h>
#include<math.h>
int main()
{
    double x,y;
    printf("输入x的值:\n");
    scanf("%lf",&x);
    if (x<=0)
       y=pow(x+1,2)+2*x+1.0/x;
    else
       y=sqrt(x);
    printf("y=%.2f",y);
}

p30

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值