C Primer Plus第六版第五章运算符,表达式,语句源码


源码


//5.1

#include<stdio.h>
#define ADJUST 7.31
int main(void)
{
	const double SCALE = 0.333;
	double shoe, foot;

	shoe = 9.0;
	foot = SCALE * shoe + ADJUST;
	printf("Shoe size (men's')   foot length\n");
	printf("%10.1f %15.2f inches\n",shoe,foot);

	return 0;

}

 

//5.2
#include<stdio.h>
#define ADJUST 7.31
int main(void)
{
	const double SCALE = 0.333;
	double shoe, foot;
	
	printf("Shoe size (men's)  foot length\n");
	shoe = 3.0;
	while (shoe < 18.5)
	{
		foot = SCALE * shoe * ADJUST;
		printf("%10.1f %15.2f inches\n",shoe, foot);
		shoe = shoe + 1.0;
	}
	printf("If the shoe fits, wear it.\n");
	
	return 0;
}

 

//5.3
#include<stdio.h>
int main(void)
{
	int jane, tarzan, cheeta;
	
	cheeta = tarzan = jane = 68;
	printf("               cheeta  tarzan   jane\n");
	printf("First round score %4d %8d %8d\n",cheeta, tarzan, jane);
	
	return 0;
}

 

//5.4
#include<stdio.h>
int main(void)
{
	int num = 1;
	
	while (num < 21)
	{
		printf("%4d %6d\n",num, num * num);
		num = num + 1;
	}
	return 0;
}

 

//5.5
#include<stdio.h>
#define SQUARES 64
int main(void)
{
	const double CROP = 2E16;
	double current, total;
	int count = 1;
	
	printf("square   grains   total   ");
	printf("fraction of \n");
	printf("         added      grains   ");
	printf("world total\n");
	total = current = 1.0;
	printf("%4d %13.2e %12.2e %12.2e\n",count, current,
	      total, total/CROP);
	while (count < SQUARES)
	{
		count = count + 1;
		current = 2.0 * current;
		total = total + current;
		printf("%4d %13.2e %12.2e %12.2e\n",count, current,
		       total,total/CROP);
	}
	printf("That's all.\n");
	
	return 0;
}

 

//5.6
#include<stdio.h>
int main(void)
{
	printf("integer division: 5/4 is %d \n",5/4);
	printf("integer division: 6/3 is %d \n",6/3);
	printf("integer division: 7/4 is %d \n",7/4);
	printf("floating division: 7./4. is %1.2f \n",7./4);
	printf("mixed division: 7./4 is %1.2f \n",7./4);
	
	return 0;
}

 

//5.7
#include<stdio.h>
int main(void)
{
	int top, score;
	
	top = score = -(2 + 5) * 6 + (4 + 3 * (2 + 3));
	printf("top = %d, score = %d\n",top, score);
	
	return 0;
}

 

//5.8
#include<stdio.h>
int main(void)
{
	int n = 0;
	size_t intsize;  
	
	intsize = sizeof(int);
	printf("n = %d, n has %zd bytes; all ints have %zd bytes.\n",n,sizeof n,intsize);
	
	return 0;
}

 

//5.9
#include<stdio.h>
#define SEC_PER_MIN 60
int main(void)
{
	int sec, min, left;
	
	printf("Convert seconds to minutes and seconds!\n");
	printf("Enter the number of seconds (<=0 to quit):\n");
	scanf("%d",&sec);
	while (sec>0)
	{
		min = sec/SEC_PER_MIN;
		left = sec% SEC_PER_MIN;      // 可以通过 a - (a/b)*b 来计算 a%b .
		printf("%d seconds is %d minutes,%d seconds.\n",sec,min,left);
		printf("Enter next value(<=0 to quit):\n");
		scanf("%d",&sec);
	}
	printf("Done!\n");
	
	return 0;
}

 

//5.10
#include<stdio.h>
int main(void)
{
	int ultra = 0,super = 0;
	
	while (super < 5)
	{
		super++;
		++ultra;
		printf("super = %d, ultra = %d \n",super, ultra);
	}
	
	return 0;
}

 

//5.11
#include<stdio.h>
int main(void)
{
	int a = 1, b = 1;
	int a_post, pre_b;
	
	a_post = a++;
	pre_b = ++b;
	printf("a    a_post b    pre_b \n");
	printf("%ld %5d %5d %5d\n",a,a_post,b,pre_b);
	
	return 0;
}

 

//5.12
#include<stdio.h>
#define MAX 100
int main(void)
{
	int count = MAX + 1;	
	while(--count > 0) {
		printf("%d bottles of spring water on the wall, "
		        "%d bottles of spring water!\n",count,count);
		printf("Take one down and pass it aroud,\n");
		printf("%d bottles of spring water!\n\n",count - 1);
	}
	
	return 0;
}

 

//5.13
#include<stdio.h>
int main(void)
{
	int count, sum;
	
	count = 0;
	sum = 0;
	
	while (count++ < 20)
		sum = sum + count;
	printf("sum = %d\n",sum);
	
	return 0;
}
//5.14
#include<stdio.h>
int main(void)
{
    char ch;
    int i;
    float fl;

    fl = i = ch = 'C';
    printf("ch = %c, i = %d, fl = %2.2f\n",ch,i,fl);
    ch = ch + 1;
    i = fl + 2 * ch;
    fl = 2.0 * ch + i;
    printf("ch = %c, i = %d, fl = %2.2f\n",ch,i,fl);
    ch = 1107;
    printf("Now ch = %c\n",ch);
    ch = 80.89;
    printf("Now ch = %c\n",ch);

    return 0;
}

 

//5.15

#include<stdio.h>
void pound(int n);
int main(void)
{
	int times = 5;
	char ch = '!';
	float f = 6.0f;
	
	pound(times);
	pound(ch);
	pound(f);
	
	return 0;
}
void pound(int n)
{
	while(n-- > 0)
		printf("#");
	printf("\n");
}

 

//5.16
#include<stdio.h>
const int S_PER_M = 60;
const int S_PER_H = 3600;
const double M_PER_K = 0.62137; 
int main(void)
{
	double distk, distm;
	double rate;
	int min, sec;
	int time;
	double mtime;
	int mmin, msec;
	
	printf("This is program converts your time for a metric race\n");
	printf("to a time for running a mile and to your average\n");
	printf("speed in miles per hour\n");
	printf("Please enter, in kilometers, the distance run.\n");
	scanf("%lf",&distk);
	printf("Next enter the time in minutes and seconds.\n");
	printf("Begin by entering the minutes.\n");
	scanf("%d",&min);
	printf("Now enter the seconds.\n");
	scanf("%d", &sec);
	
	time = S_PER_M * min + sec;    //把时间转化成秒 
	distm = M_PER_K * distk;       //把公里转换成英里 
	rate = distm / time * S_PER_H; //英里/秒 * 秒/小时 = 英里/小时 
	mtime = (double)time / distm;  //时间/距离 = 跑1英里所用的时间 
	mmin = (int)mtime / S_PER_M;   //求出分钟数
	msec = (int)mtime % S_PER_M;   //求出剩余的秒数 
	
	printf("You ran %1.2f km (%1.2f miles) in %d min, %d sec.\n",distk, distm, min, sec);
	printf("That pace corresponds to running a mile in %d min, ",mmin);
	printf("%d sec.\nYour avergae speed was %1.2f mph.\n",msec, rate);
	
	return 0;
}

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值