3.第三章,算术运算符与算术表达式

1-分离各位数

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

任务和代码

/*
*copyright (c)2017年,优快云学院
*All rights resrrved.
*文件名称:mian.c
*作    者:黄家俊
*完成日期:2017年12月8日
*版本号:v1.0
*/
//  问题描述:写一个程序,输入x(三位数),输出其个、十、百位数,用空格隔开
//  程序输出;个、十、百位数。
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int x,a,b,c;
    printf("请输入一个整数:");
    scanf("%d",&x);
    printf("个十百位数分别是:%d %d %d",(a=x%10),(b=(x/10)%10),(c=x/100));   //个位数等于整数除以10再取余,十位数等于整数除以10,再除以10,取余数。百位数直接除以100.
    return 0;
}


运行结果


  


2.分离整数和小数部分

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

任务和代码

/*
*copyright (c)2017年,优快云学院
*All rights resrrved.
*文件名称:mian.c
*作    者:黄家俊
*完成日期:2017年12月8日
*版本号:v1.0
*/
//  问题描述:编写一个程序,其功能为:从键盘上输入一个浮点数(小数点后有三位数),然后分别输出该数的整数部分和小数部分。
//  程序输出;该数的整数部分和小数部分。
#include <stdio.h>
#include <stdlib.h>

int main()
{
    float x;
    int a,b;
    printf("请输入一个浮点数:");
    scanf("%f",&x);
    a=x;    //强制转换
    b=(int)(x*1000)%1000;   //百位数乘以1000再除以1000,既得小数
    printf("分别是:%d %d ",a,b);
    return 0;
}

运行结果




3.-如何买玫瑰?

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

任务和代码

/*
*copyright (c)2017年,优快云学院
*All rights resrrved.
*文件名称:mian.c
*作    者:黄家俊
*完成日期:2017年12月8日
*版本号:v1.0
*/
//  问题描述:小慧过生日,小明要买鲜花送她。每枝红玫瑰5元,满5支送1枝,满20枝送5枝。小明一共有n(n>10)元钱,最多能买到多少?
//  程序输出;买到的玫瑰花。
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int money,flower,give1,give2;
    printf("请输入你买鲜花的钱:");
    scanf("%d",&money);
    flower=money/5;    //实际买的玫瑰花
    give1=flower/20*5;  //贪心法   先计算  20送5
    give2=(flower-(flower/20)*20)/5;  //不够买20赠5的,享受买5赠1的
    printf("一共可以买 %d 朵鲜花!谢谢惠顾。",flower+give1+give2);
    return 0;
}

运行结果




4.玩数字

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

任务和代码

/*
*copyright (c)2017年,优快云学院
*All rights resrrved.
*文件名称:mian.c
*作    者:黄家俊
*完成日期:2017年12月8日
*版本号:v1.0
*/
//  问题描述:输入3个双精度实数,分别求出它们的和、平均值、平方和以及平方和的开方,并输出所求出各个值。
//  程序输出;和、平均值、平方和以及平方和的开方
#include <stdio.h>
#include <stdlib.h>
#include <math.h>    //函数库
int main()
{
     float x,x1,x2;  
    float sum,avg,sq_sum,root;  
    scanf("%f %f %f", &x, &x1, &x2);  
    sum = x + x1 + x2;  //三数相加等于和
    avg = sum / 3;    //三个数的和除以三等于平均值
    sq_sum = x*x + y*y + z*z;  //平方的和
    root = sqrt(sq_sum);     //  使用函数库计算平方和的开方
    printf("和:%f\n", sum);  
    printf("平均:%f\n", avg);  
    printf("平方和:%f\n", sq_sum);  
    printf("平方和开方:%f\n", root);  
    return 0;  
}


运行结果




5.坐标转换

写一个程序把极坐标(r,θ) (θ之单位为度)转换为直角坐标( X,Y)。

任务和代码

/*
*copyright (c)2017年,优快云学院
*All rights resrrved.
*文件名称:mian.c
*作    者:黄家俊
*完成日期:2017年12月8日
*版本号:v1.0
*/
//  问题描述:写一个程序把极坐标(r,θ) (θ之单位为度)转换为直角坐标( X,Y)。
//  程序输出;直角坐标
#include <stdio.h>
#include <stdlib.h>
#include <math.h>    //函数库
#define PI 3.1415926   //符号常量
int main()
{
     float r, theta, x, y;
     printf("请输入极坐标:");
     scanf("%f %f", &r, &theta);
    x = r * cos(theta/180*PI);//注意cos需要弧度作为参数
    y = r * sin(theta/180*PI);
    printf("直角坐标是 %f %f", x, y);
    return 0;
}

运行结果


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值