您的位置:首页 > 编程语言 > C语言/C++

十一讲项目 分离各位数,坐标转换等。

2016-09-12 20:08 337 查看
任务和代码:

【项目1-分离各位数】

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

样例输入:768

样例输出:8 6 7

/*
*Copyright (c) 2016, CSDN学院
*All rights reserved.
*文件名:main.c
*作者:DylanLiu
*完成日期:2016/09/12
*版本号:V1.0
*
*问题描述:分离各位数。
*程序输出:分离之后的各位数。
*/

#include <stdio.h>

int main()
{
int num = 0, a = 0, b = 0, c = 0;

printf("This program is the separation of a three digits\n");
printf("Please input a number :");
scanf ("%d", &num);
a = num%10;
b = (num/10)%10;
c = num/100;
printf("个位是:%d, 十位是:%d, 百位是;%d\n", a, b, c);

return 0;
}


输出结果:



任务和代码:

【项目2-分离整数和小数部分】

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

样例输入:123.456

样例输出:123 456

/*
*Copyright (c) 2016, CSDN学院
*All rights reserved.
*文件名:main.c
*作者:DylanLiu
*完成日期:2016/09/12
*版本号:V1.0
*
*问题描述:分离各位数(小数)。
*程序输出:分离之后的各位数。
*/

#include<stdio.h>

int main (void)
{
float num=0.0;
int a,b;

printf("Please input a floating point Numbers:");
scanf("%f", &num);
a = num;
b = (int)(num*1000)%1000;
printf("整数部分是:%d, 小数部分是:%d\n", a, b);

return 0;
}


输出结果:



任务和代码:

【项目3-如何买玫瑰?】

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

样例输入:135

样例输出:33

/*
*Copyright (c) 2016, CSDN学院
*All rights reserved.
*文件名:main.c
*作者:DylanLiu
*完成日期:2016/09/12
*版本号:V1.0
*
*问题描述:买玫瑰。
*程序输出:买到的玫瑰的最大数量。
*/

#include<stdio.h>

int main (void)
{
int money, n1, n2;
int rose_num;
printf("Please input the money that you want to spand:");
scanf ("%d", &money);
rose_num = money/5;
n1 = rose_num/20*5;
n2 = (rose_num-(rose_num/20)*20)/5;
printf("%d\n", rose_num+n1+n2);

return 0;
}


程序输出:



任务和代码:

【项目4-玩数字】

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

/*
*Copyright (c) 2016, CSDN学院
*All rights reserved.
*文件名:main.c
*作者:DylanLiu
*完成日期:2016/09/12
*版本号:V1.0
*
*问题描述:玩数字。
*程序输出:输入数字的平均值, 平方根等。
*/

#include <stdio.h>
#include<math.h>
int main()
{
float a, b, c, ave, sum, sum_sqare, sum_sqrt_prescribing;
printf("Please input three numbers:");
scanf("%f %f %f", &a, &b, &c);
sum = a+b+c;
ave = sum/3.0;
sum_sqare = a*a+b*b+c*c;
sum_sqrt_prescribing = sqrt(sum_sqare);
printf("sum=%.2f, sum_sqare=%.2f, ave=%.2f, sun_sqrt_prescribing=%.2f", sum , sum_sqare, ave, sum_sqrt_prescribing);

return 0;
}


输出结果:



任务和代码:

【项目5-坐标转换】

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

x=r.cosθ

y=r.sinθ

样例输入1:10 45(代表r=10 θ=45°)

样例输出1:7.071068 7.071068

样例输入2:20 90 (代表r=20 θ=90°)

样例输出2:0 20(可以接近似的结果)

/*
*Copyright (c) 2016, CSDN学院
*All rights reserved.
*文件名:main.c
*作者:DylanLiu
*完成日期:2016/09/12
*版本号:V1.0
*
*问题描述:坐标转换。
*程序输出:直角坐标的值。
*/

#include <stdio.h>
#include <math.h>
#define PI 3.1415926

int main()
{
float r = 0.0, b = 0.0;
float z_x = 0.0, z_y = 0.0;
printf("Please input the polar coordinate values: ");
scanf("%f %f", &r, &b);
z_x = r*cos(b/180*PI);
z_y = r*sin(b/180*PI);
printf("极坐标(%.2f, %.2f)-->直角坐标(%.2f, %.2f)", r, b, z_x, z_y);
return 0;
}


输出结果:



总结:注意z_x = r*cos(b/180*PI);

z_y = r*sin(b/180*PI);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言