c_primer_第五版_第四章練習題解析

程序如下:



//c_primer 第四章——練習題

//第一題
/*#include<stdio.h>
int main()
{
	char first_name[10];
	char name_all[10];

	printf("請輸入姓氏:");
	scanf("%s",first_name);
	printf("請輸入名字:");
	scanf("%s",name_all);

	printf("%s%s",first_name,name_all);

	getchar();
	getchar();
	return 0;
}*/
//第二題
/*
#include<stdio.h>
#include<string>
int main()
{
	char name[10];
	int wide = 0;
	printf("請輸入名字:");
	scanf("%s",name);

	printf("\"%s\"\n",name);
	printf("\"%20s\"\n",name);
	printf("\"%-20s\"\n",name); 
	wide = strlen(name) + 3;
	printf ("\"%*s\"\n",wide,name);
	getchar();
	getchar();
	return 0;
}*/
//第三題
/*
#include<stdio.h>
#include<string>
int main()
{
	float num = 300.1415;
	printf("a.The input is %0.1f or %+0.1e\n",num,num);
	printf("b.The input is %+0.3f or %+0.3E\n",num,num);
	getchar();
	getchar();
	return 0;
}*/
//第五題
/*#include<stdio.h>
#include<string>
int main()
{
	
	char first_name[10];
	char name_all[10];

	printf("請輸入姓氏:");
	scanf("%s",first_name);
	printf("請輸入名字:");
	scanf("%s",name_all);

	printf("%s %s\n",first_name,name_all);
	printf("%*d %*d",strlen(first_name),strlen(first_name),strlen (name_all),strlen (name_all));
	getchar();
	getchar();
	return 0;
}*/
//第六題
//#include<stdio.h>
//#include<float.h>
////註釋:        先CTRL+K,然後CTRL+C
////取消註釋: 先CTRL+K,然後CTRL+U
//int main(void)
//{
// double a=1.0/3.0;
// float b=1.0/3.0;
// printf("double a=1.0/3.0:\n");
// printf("%.4e\n",a);
// printf("%.12e\n",a);
// printf("%.16e\n\n",a);
// printf("float b=1.0/3.0:\n");
// printf("%.4f\n",b);
// printf("%.12f\n",b);
// printf("%.16f\n\n",b);
// printf("FLT_DIG:%d\n",FLT_DIG);
// printf("DBL_DIG:%d\n",DBL_DIG);
// getchar();
// return(0);
//}
//計算裏存放浮點型數據,並不能精確表示。
//這兩個宏在float.h頭文件下面,用來說明double、float兩種數據類型有效數字的位數,注意不是小數點後面的有效位數,而是所有位數。
//#define DBL_DIG         15                      /* # of decimal digits of precision */
//#define FLT_DIG         6                       /* # of decimal digits of precision */
//float能保證的有效位數最多是6~7位,完全能保證的是6位,double是15~16位,完全能保證的是15位。
// 
//比如:
// float f = 123456.11111;
// printf("%f\n",f);

//第七題

#include<stdio.h>
#define GALLON 3.785  //1 gallon = 2.785 litre
#define MILE 1.609   //1 mile = 1.609 kilometer

int main(void)
{
 float mile,gallon;
 printf("Please input miles and gallons:");
 scanf("%f %f",&mile,&gallon);
 printf("Miles per gallon:%.1f\n",mile/gallon);
 printf("Litres per 100 kilometre:%.1f\n",gallon*GALLON/(mile*MILE)*100);

 getchar();
 getchar();
 return(0);
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章