第十一课 项目1-5
项目1-【分离各位数】
写一个程序,输入x(三位数),输出其个、十、百位数,用空格隔开
代码:
#include <stdio.h>
int main()
{
int x,a,b,c;
printf("请输入三位整数:\n");
scanf("%d",&x);
a=x/100;
b=x/10%10;
c=x%10;
printf("百位数为:%d\n十位数为:%d\n个位数为:%d\n",a,b,c);
return 0;
}
运行结果:
项目2-【分离整数和小数部分】
编写一个程序,其功能为:从键盘上输入一个浮点数(小数点后有三位数),然后分别输出该数的整数部分和小数部分。
代码:
#include<stdio.h>
#include<math.h>
#define PI 3.1415926
int main()
{
float r,theta,x,y;
printf ("请输入坐标:\n");
scanf("%f %f",&r,&theta);
x=r*cos(theta/180*PI);
y=r*sin(theta/180*PI);
printf("(%f,%f)的直角坐标为:(%f,%f)",r,theta,x,y);
return 0;
}
运行结果:
项目3-【如何买玫瑰?】
小慧过生日,小明(小明真忙)要买鲜花送她。每枝红玫瑰5元,满5支送1枝,满20枝送5枝。小明一共有n(n>10)元钱,最多能买到多少?
代码:
#include<stdio.h>
int main()
{
int money,n,z1,z2;
printf("请输入钱的总数:\n");
scanf("%d",&money);
n=money/5;
z1=n/20*5;
z2=(n-(n/20)*20)/5;
printf("最多可以买%d只玫瑰\n",n+z1+z2);
return 0;
}
运行结果:
项目4-【玩数字】
输入3个双精度实数,分别求出它们的和、平均值、平方和以及平方和的开方,并输出所求出各个值。
代码:
#include<stdio.h>
#include<math.h>
int main()
{
float a,b,c;
float sum,avg,sq_sum,root;
printf("请输入3个双精度实数:\n");
scanf("%f %f %f",&a,&b,&c);
sum=a+b+c;
avg=sum/3;
sq_sum=a*a+b*b+c*c;
root=sqrt(sq_sum);
printf("和:%f\n平均值:%f\n平方和:%f\n平方和的开放:%f\n",sum,avg,sq_sum,root);
return 0;
}
运行结果:
【项目5-坐标转换】
写一个程序把极坐标(r,θ) (θ之单位为度)转换为直角坐标( X,Y)。
代码:
#include<stdio.h>
#include<math.h>
#define PI 3.1415926
int main()
{
float r,theta,x,y;
printf ("请输入坐标:\n");
scanf("%f %f",&r,&theta);
x=r*cos(theta/180*PI);
y=r*sin(theta/180*PI);
printf("(%f,%f)的直角坐标为:(%f,%f)",r,theta,x,y);
return 0;
}
运行结果:
知识点与心得:
本课学会了在程序中输入不同的数据类型,并运行算术运算,以及数学库的特殊用法。引入数学变量时,要在前面加#include<math.h>。
结合除法和取余值的计算来得到数字的其中一位。
不同的数据类型之间是不同的,要明确分清整数和浮点数的区别。
两个整形数相除结果为整形数 向零取整原则。
整形数才能取余数,必要时需强制改变数据类型。
66