C Primer Plus 第6版 第9章 编程练习

1.设计函数 min (x,y) ,返回两个double 类型的较小值

#include<stdio.h>
double min(double x, double y);
int main(void)
{
	printf("10.1,10.101中较小的是%g", min(10.1, 10.101));

	getchar(); getchar();
	return 0;
}
double min(double x, double y)
{
	return x < y ? x : y;
}

2.设计函数chline(ch, i, j)打印字符j行i列。

#include<stdio.h>
//打印字符ch j行 i列
void chline(char ch, int i, int j) 
{
	for (int a = 0; a < j; a++)
	{
		for (int b = 0; b < i; b++)
			putchar(ch);
		putchar('\n');
	}
}
int main(void)
{
	chline('a',3,5);
	getchar(); getchar();
	return 0;
}

3.4.略

5.编写large_of(x,y),让x,y值都变成较大的那个数的值。

#include<stdio.h>

void large_of(double * x, double * y)
{
	*x = *x > *y ? *x : *y;
	*y = *x;
}
int main(void)
{
	double x = 10.2;
	double y = 11.1;
	printf("x=%g,y=%g\n", x, y);
	printf("使用large_of后:\n");
	large_of(&x, &y);
	printf("x=%g,y=%g\n", x, y);
	getchar(); getchar();
	return 0;
}

6.略

7.读取字符,报告是否是字母,是则报告在字母表的位置。

#include<stdio.h>
int judge_char(char ch);
int main(void)
{
	char ch;
	while((ch = getchar())!= EOF )
		printf ("%d ",judge_char(ch));
	getchar(); getchar();
	return 0;
}

int judge_char(char ch)
{
	while (ch != EOF)
	{
		if (ch >= 'a' && ch <= 'z')
			return ch - 'a' + 1;
		else if (ch >= 'A' && ch <= 'Z')
			return ch - 'A' + 1;
		else
			return -1;
	}
}

8.9.10略

11.编写斐波那契函数

要求使用循环

#include<stdio.h>
long fib(int n);
int main(void)
{
	printf("你想知道第几个斐波那契数?");
	int n;
	scanf_s("%d", &n);
	printf("%d", fib(n));
	getchar(); getchar();
	return 0;
}
long fib(int n)
{
	if (n <= 2)
		return 1;
	long one = 1;
	long two = 1;
	long t;
	int i = 2;
	while (i < n)
	{
		t = one + two;
		one = two;
		two = t;
		i++;
	}
	return two;
}

猜你喜欢

转载自blog.csdn.net/qq_41068877/article/details/83541022