lesson11 算术运算符与算术表达式

任务一:写一个程序,输入x(三位数),输出其个、十、百位数,用空格隔开

代码

/*
*Copyright ©2017,CSDN学院
*All rights reserved.
*文件名称:main.c
*作    者:袁生
*完成日期:2017年10月13日
*版 本 号:v1.0
*问题描述:输入一个三位数x,输出其个、十、百位,空格隔开
*/
#include <stdio.h>
int main()
{
    int x,ge,shi,bai;
    printf("输入三位数x:");
    scanf("%d",&x);
    ge=x%10;
    shi=(x/10)%10;
    bai=x/100;
    printf("个、十、百位分别为:%d %d %d\n",ge,shi,bai);
    return 0;
}
行结果



任务二:编写一个程序,其功能为:从键盘上输入一个浮点数(小数点后有三位数),然后分别输出该数的整数部分和小数部分。

代码

/*
*Copyright ©2017,CSDN学院
*All rights reserved.
*文件名称:main.c
*作    者:袁生
*完成日期:2017年10月13日
*版 本 号:v1.0
*问题描述:输入一个浮点数,分别输出其整数和小数部分。
*/
#include <stdio.h>
int main()
{
    float x,point;
    int zheng;
    printf("输入浮点数x:");
    scanf("%f",&x);
    zheng=(int) x;
    point=x-zheng;
    printf("整数、小数部分分别为:%d %f\n",zheng,point);
    return 0;
}
运行结果


心得

运算中存在类型转换(如本例int)时,需要用括号将类型括起来。


任务三:小慧过生日,小明要买鲜花送她。每枝红玫瑰5元,满5支送1枝,满20枝送5枝。小明一共有n(n>10)元钱,最多能买到多少?

代码

/*
*Copyright ©2017,CSDN学院
*All rights reserved.
*文件名称:main.c
*作    者:袁生
*完成日期:2017年10月13日
*版 本 号:v1.0
*问题描述:每枝红玫瑰5元,满5支送1枝,满20枝送5枝。
*小明一共有n(n>10)元钱,最多能买到多少?
*/
#include <stdio.h>
int main()
{
    int n,num;
    printf("输入小明钱数n:");
    scanf("%d",&n);
    if(n>10)
        if(n<5*5)
            num=n/5;
        else if(n<5*20)
            num=n/5+1;
            else
                num=n/5+5+1;
    else
    {
        printf("数据错误!");
        return 0;
    }
    printf("小明最多能买红玫瑰支数:%d\n",num);
    return 0;
}
运行结果



任务四:输入3个双精度实数,分别求出它们的和、平均值、平方和以及平方和的开方,并输出所求出各个值。

代码

/*
*Copyright ©2017,CSDN学院
*All rights reserved.
*文件名称:main.c
*作    者:袁生
*完成日期:2017年10月13日
*版 本 号:v1.0
*问题描述:输入3个双精度实数,分别求出它们
*的和、平均值、平方和以及平方和的开方,
*并输出所求出各个值。
*/
#include <stdio.h>
#include <math.h>
int main()
{
    double a,b,c;
    double sum,average,ssq,ssqrt;
    printf("输入3个双精度实数:\n");
    scanf("%lf %lf %lf",&a,&b,&c);
    sum=a+b+c;
    average=sum/3;
    ssq=pow(a,2)+pow(b,2)+pow(c,2);
    ssqrt=sqrt(ssq);
    printf("3个数的和:%lf\n",sum);
    printf("3个数的平均值:%lf\n",average);
    printf("3个数的平方和:%lf\n",ssq);
    printf("3个数的平方和开根:%lf\n",ssqrt);
    return 0;
}
运行结果


心得

scanf输入双精度数据用%lf,x的y次方用函数double pow(double,double),变量命名尽量在表意的同时简化(如使用中英文简称)命名,开平方函数double sqrt (double)。


任务五:写一个程序把极坐标(r,θ) (θ之单位为度)转换为直角坐标( X,Y)。转换公式是:
x=r.cosθ
y=r.sinθ

代码

/*
*Copyright ©2017,CSDN学院
*All rights reserved.
*文件名称:main.c
*作    者:袁生
*完成日期:2017年10月13日
*版 本 号:v1.0
*问题描述:写一个程序把极坐标(r,θ) (θ之单位为度)转换为直角坐标( X,Y)。
*转换公式:
*        x=r.cosθ
*        y=r.sinθ
*/
#include <stdio.h>
#include <math.h>
#define pi 3.1415926
int main()
{
    float r,agl,x,y;
    printf("输入极坐标r,θ:\n");
    scanf("%f %f",&r,&agl);
    x=r*cos(agl/180*pi);
    y=r*sin(agl/180*pi);
    printf("直角坐标x,y:%f %f\n",x,y);
    return 0;
}
运行结果



知识点

熟悉数学三角函数的使用

心得

计算x=r.cosθ,y=r.sinθ时直接把θ带入计算未经转换,会出现错误结果来误导自己(如果没有参考输出就铸成大错了),应该做如下转换:angle=θ/180*π。以后做运算细心些。








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值