c primer plus 9.11

1.

double min(double x, double y)
{
	if (x < y)
		return x;
	else
		return y;
}
int main()
{
	printf("%f", min(1, 2));
}

2.

void chline(char ch, int i, int j)
{
	for (int a = 0; a < i; a++)
	{
		for (int b = 0; b < j; b++)
		{
			printf("%c", ch);
		}
		printf("\n");
	}	
}
int main()
{
	char a = 'a';
	chline(a, 4, 3);
}

3.

void chline(char ch, int a, int b)
{
	for (int i = 0; i < b; i++)
	{
		for (int j = 0; j < a; j++)
		{
			printf("%c", ch);
		}
		printf("\n");
	}
}
int main()
{
	char a = 'a';
	chline(a, 3, 4);
}

4.

double tiaohe(double a, double b)
{
	double x = 1/(1 / a + 1 / b);
	return x;
}
int main()
{
	printf("%f", tiaohe(3, 4));
}

5.

void larger_of(double *a, double *b)
{
	double temp;
	temp = *a;
	*a = *b;
	*b = temp;
}
int main()
{
	double a = 1;
	double b = 2;
	printf("a=%f b=%f\n", a, b);
	larger_of(&a, &b);
	printf("a=%f b=%f\n", a, b);
}

6.

void larger_of(double* a, double* b, double* c)
{
	double temp;
	if (*a > *b)
	{
		temp = *a;
		*a = *b;
		*b = temp;
	}
	if (*a > *c)
	{
		temp = *a;
		*a = *c;
		*c = temp;
	}
	if (*b > *c)
	{
		temp = *b;
		*b = *c;
		*c = temp;
	}
}
int main()
{
	double a = 7;
	double b = 5;
	double c = 6;
	printf("a=%f b=%f c=%f\n", a, b, c);
	larger_of(&a, &b, &c);
	printf("a=%f b=%f c=%f\n", a, b, c);
}

7.

void duqu()
{
	char a;
	int x;
	while ((a = getchar()) != EOF)
	{
		while (getchar() != '\n')
			continue;
		if ((x=panduan(a)) != -1)
		{
			printf("是字母且位置为%d\n", x);
		}
		else {
			printf("不是字母\n");
		}
	}
}
int panduan(char a)
{
	int x;
	if ('a' <= a &&a<= 'z')
	{
		x = a - 96;
		return x;
	}
	else if ('A' <= a&&a <= 'Z')
	{
		x = a - 64;
		return x;
	}
	else {
		return -1;
	}
}
int main()
{
	duqu();
}

8.

#include<stdio.h>
double power(double n, int p)
{
	double pow = 1;
	int i;
	if (n == 0 && p == 0)
		return 1;
	if (n == 0)
		return 0;
	if (p == 0)
		return 1;
	if (p < 1)
	{
		int x = 0 - p;
		for (i = 1; i <= x; i++)
		{
			pow *= n;
		}
		pow = 1 / pow;
	}
	for (i = 1; i <= p; i++)
	{
		pow *= n;
	}
	return pow;
}
int main()
{
	double x, xpow;
	int exp;
	while (scanf("%lf%d", &x, &exp) == 2)
	{
		xpow = power(x, exp);
		printf("%f to the power %d is %f\n", x, exp, xpow);
	}
}

10.

#include<stdio.h>
void binary(int n,int x)
{
	int r;
	r = n % x;
	if (n >= x)
		binary(n / x,x);
	if (x > 10)
	{
		if (r >= 10)
		{
			printf("%c", r + 55);
		}
		else {
			printf("%d", r);
		}
	}
	else {
		printf("%d",r);
	}
	return;
}
int main()
{
	int number,x;
	printf("请输入你要转换的数:");
	while (scanf("%d", &number) == 1)
	{
		printf("请输入你要转的进制:");
		scanf("%d", &x);
		binary(number,x);
		putchar('\n');
		printf("请输入你要转换的数:\n");
	}
}

11.

void fb(int n)
{
	int a = 1;
	int b = 1,c,i=1;
	while(n!=0)
	{
		c = a + b;
		a = b;
		b = c;
		if (n - 2 == i)
		{
			printf("%d", c);
			break;
		}
		i++;
	}
}
int main()
{
	int n;
	printf("裴波那切数列计算到第n项:");
	scanf("%d", &n);
	fb(n);
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值