练习一:写一个程序,输入x(三位数),输出其个、十、百位数,用空格隔开
/**
* 写一个程序,输入x(三位数),输出其个、十、百位数,用空格隔开
*
* @author 陈淦森
* @version 1.0.1
* Date 2016-01-17
*/
int main()
{
printf("分离各个位数\n请输入一个三位数值:");
int iA;
scanf("%d", &iA);
int iB, iC, iD;
iB = iA % 10;
iC = (iA / 10) % 10;
iD = iA / 100;
printf("个位是%d,十位是%d,百位是%d", iB, iC, iD);
return 0;
}
/**
* 编写一个程序,其功能为:从键盘上输入一个浮点数(小数点后有三位数),然后分别输出该数的整数部分和小数部分
*
* @author 陈淦森
* @version 1.0.1
* Date 2016-01-17
*/
int main()
{
printf("请输入一个浮点数(小数点后有三位数):");
float fA;
scanf("%f", &fA);
int iB, iC;
iB = (int)fA;
iC = (int)(fA * 1000) % 1000;
printf("整数部分是%d,小数部分是%d", iB, iC);
return 0;
}
练习三:小慧过生日,小明(小明真忙)要买鲜花送她。每枝红玫瑰5元,满5支送1枝,满20枝送5枝。小明一共有n(n>10)元钱,最多能买到多少?
/**
* 小慧过生日,小明(小明真忙)要买鲜花送她。每枝红玫瑰5元,满5支送1枝,满20枝送5枝。小明一共有n(n>10)元钱,最多能买到多少?
*
* @Author 陈淦森
* @Version 1.0.1
* @Date 2016年1月18日
*/
int main()
{
float fMoney;
printf("请输入小明有多少钱?");
scanf("%f", &fMoney);
int iNums, iGiveNums;
iNums = (int)(fMoney / 5);
iGiveNums = iNums / 20;
if (iGiveNums > 0)
{
iNums = iNums + iGiveNums * 5;
}
iGiveNums = ((int)(fMoney / 5) % 20) / 5;
if (iGiveNums > 0)
{
iNums = iNums + iGiveNums;
}
printf("小明一共买了%d支玫瑰", iNums);
return 0;
}
练习四:输入3个双精度实数,分别求出它们的和、平均值、平方和以及平方和的开方,并输出所求出各个值。
#include <stdio.h>
#include <stdlib.h>
#include <math.h> // 记得导入数学库函数
/**
* 输入3个双精度实数,分别求出它们的和、平均值、平方和以及平方和的开方,并输出所求出各个值。
*
* @Author 陈淦森
* @Version 1.0.1
* @Date 2016年1月18日
*/
int main()
{
double dA, dB, dC;
printf("请输入3个双精度实数,以空隔分开:");
scanf("%lf %lf %lf", &dA, &dB, &dC);
double dSum, dAvg; // 求和与平均值
dSum = dA + dB + dC;
printf("和是:%lf\n", dSum);
dAvg = dSum / 3;
printf("平均值是:%lf\n", dAvg);
double sqreSum; // 平方和
sqreSum = dA * dA + dB * dB + dC * dC;
printf("平方和值是:%lf\n", sqreSum);
double sqrtSum; // 平方和的开方
sqrtSum = sqrt(sqreSum);
printf("平方和的开方值是:%lf\n", sqrtSum);
return 0;
}
总结:需要导入<math.h>头文件。
练习五:写一个程序把极坐标(r,θ) (θ单位为度)转换为直角坐标( X,Y)。转换公式是: x=r.cosθ y=r.sinθ
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define PI 3.1415926
/**
* 写一个程序把极坐标(r,θ) (θ单位为度)转换为直角坐标( X,Y)。转换公式是:
* x=r.cosθ
* y=r.sinθ
*
* @Author 陈淦森
* @Version 1.0.1
* @Date 2016年1月18日
*/
int main()
{
double dR, dAngle, dX, dY;
printf("请输入半径与角度的值:");
scanf("%lf %lf", &dR, &dAngle);
dX = dR * cos(dAngle / 180 * PI);
dY = dR * sin(dAngle / 180 * PI);
printf("X,Y座标分别是:%lf,%lf\n", dX, dY);
return 0;
}