//10_13《C Primer Plus》第五章“运算符、表达式和语句”编程练习

注意事项贴在代码的备注里:

//10_13《C Primer Plus》第五章“运算符、表达式和语句”编程练习

//1.分钟换算小时和分钟的小程序

/*定义程序目标:把分钟数转换成分钟和小时,输出0后退出循环
  设计程序:定义符号常量用于分钟与小时的转换;
  定义min、hour、left三个变量,提示用户输入分钟数;
  while(min>0)计算hour(*)和left(%),打印出三个值,再提示用户输入min;
  最后循环结束打印"done"*/


#include<stdio.h>
#define MIN_PER_HOUR 60
#define DAY_PER_WEEK 7
void lo();
int main(void)
{
	int min, hour, left;
	printf("Please enter the number of minute:\n");
	scanf_s("%d", &min);

	while (min > 0)
	{
		hour = min / MIN_PER_HOUR;
		left = min % MIN_PER_HOUR;
		printf("%d minutes is %d hours,%d minutes\n", min, hour, left);
		printf("Enter the number of minute(<= 0 to quit):\n");
		scanf_s("%d", &min);
	}
	printf("Done!\n");

	//2.打印比输入整数大十的所有整数

	/*定义程序目标:打印比输入整数大十的所有整数;
	  设计程序:定义num和i变量,提示用户输入一个整数(在while复合语句之外)
	  while(++i<=10),i从先加1再开始比较,对应打印的num值加1(可以避免多打印一个原num值)*/

	int num;
	int i = 0;
	printf("请输入一个整数:\n");
	scanf_s("%d", &num);//读取用户输入的数
	while (++i <= 10)
	{
		num++;
		printf("%d\n", num); 

		}

	 

	  //3.天数转换成天数和周数(思路和1一样)

	int days, weeks, leftd;
	printf("Please enter a number of days :");

	scanf_s("%d", &days);
	while (days >0)
	{

		weeks = days / DAY_PER_WEEK;
		leftd = days % DAY_PER_WEEK;
		printf("%d days is %d weeks %d days\n", days, weeks, leftd);
		printf("Enter a number of days(<= 0 to quit):\n", &days);
		scanf_s("%d", &days);
	}
	printf("Done!\n");


	//4.厘米转化为英尺和英寸

	/*定义程序目标:厘米转化为英尺和英寸单位;
	  设计程序:*/

	float cm;
	printf("Enter a height in centimeters:\n");
	scanf_s("%f", &cm);
	while(cm>0)
	{
		int foot = cm / 2.54;
		float inch = (cm - foot * 2.54) * 12;
		/*使用“% ”求余数会要求表达式全为整型,所以可以先求余数在转换,分两步进行*/
      
		printf("%.1f = %d feet, %.1f inches\n", cm, foot, inch);
		printf("Enter a height in centimeters(<=0 to quit):\n");
		scanf_s("%f", &cm);
	}
	printf("Done!\n");


	//5、6修改程序
	int dayss, sum,dollar,n,N;
	sum = 0;
	dollar = 0;
	n = 0;
	N = 0;

	printf("Enter a number of dayss:\n");
	scanf_s("%d", &dayss);

	while (dollar++ < dayss)
	{
		N++;
		n = n + N * N;/*考虑清楚什么是规律递增变量,什么是复杂变量,让简单变量做复杂运算*/

		sum = sum + dollar;
		printf("sum= %d$,n=%d$\n", sum, n);/*加括号可以打印每次循环*/
	}
	printf("Done!");

	//7.打印输入的立方值传递给自定义函数

	double cube;
	printf("Please enter a number of double type:\n");
	scanf_s("%f", &cube);
	cube = cube * cube * cube;
	lo();

	void lo();
	{
		printf("%f", cube);
	}
	
}
#include<stdio.h>
void lo(void);
int main(void)
{
	//7.打印输入的立方值传递给自定义函数
	lo();/*调用函数只用来打印结果会报错:应输入声明,可能是因为main函数与调用函数的内容不互通*/


	//8.求模运算
	int i, div, left;
	printf("This orogram computers moduli.\n");

	printf("Enter an integer to serve as the second operand:\n");
	scanf_s("%d", &i);
	printf("Now enter the first integer:\n");
	scanf_s("%d", &div);

	while (div > 0)
	{
		left = div % i;

		printf("%d %% %d = %d\n", div, i, left);/*打印%号:%d%d;如果只打一个%,最终导致left没打印*/
		printf("Enter the next number for the first operand(<=0 to quit):\n");
		scanf_s("%d", &div);

	}
//9.华氏温度转化为摄氏度和开氏温度,scanf_s函数返回值非1退出

/*设计程序:声明函数,while循环,条件是revalue
	提示用户输入一个值,调用函数,提示用户再次输入一个华氏温度值,且输入q退出,用revalue=跟scanf_s的返回值作比较
	定义函数,定义摄氏温度CT、华氏温度KT、华氏温度FT变量,用户输入一个华氏温度值(提示在主函数里做好)转换成摄氏度和开氏温度,并打印出来*/

#include<stdio.h>
void Temperatures(void);
int main(void)
{
	
	int revalue = 1;
	while (revalue == 1)/*用于作判断的自定义变量*/
	{
		printf("Please enter a number of Fahrenheit temperatures:\n");
		Temperatures();
		printf("Please enter a number of Fahrenheit temperatures(enter q to quit):\n");
		revalue=scanf_s("%d", revalue);
	}
	printf("Done!");

}
void Temperatures(void)
{
	
	const double FT;

	scanf_s("%lf", &FT);/*注意double的小数类型转换说明用%lf*/
	const double CT = 5.0 / 9.0 * (FT - 32.0);
	const double KT = CT + 273.16;
	printf("%.2lf Fahrenheit temperature is %.2lf  Celsius is %.2lf Kelvin temperature\n", FT, CT, KT);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值