《C Primer Plus》第六章 编程习题

目录

6.16.1

6.16.2

6.16.3

6.16.4

6.16.5

6.16.6

6.16.7

6.16.8

6.18.9

6.16.10

6.16.11

6.16.12

6.16.13

6.16.14

6.16.15

6.16.16

6.16.17

6.16.18


6.16.1

编写一个程序,创建一个包含26个元素的数组,并在其中储存26个小写字母。
然后打印数组的所有内容。

/*6.16.1. 编写一个程序,创建一个包含26个元素的数组,并在其中储存26个小写字母。
然后打印数组的所有内容。*/
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main(void)
{
	char ch[26];
	int n = 0;

	for (n = 0; n < 26; n++)
	{
		ch[n] = 'a' + n;
		printf("%c ", ch[n]);
	}
	return 0;
}

运行结果:

6.16.2

使用嵌套格式,按下面的格式打印字符:
$
$$
$$$
$$$$
$$$$$

/*6.16.2. 使用嵌套格式,按下面的格式打印字符:
$
$$
$$$
$$$$
$$$$$
*/
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main(void)
{
	int x, y;
	for (x = 1; x <= 5; x++)
	{
		for (y = 0; y < x; y++)
		{
			printf("$");
		}
		printf("\n");
	}
	return 0;
}

运行结果:

6.16.3

使用嵌套循环,按下面的格式打印字母:
F
FE
FED
FEDC
FEDCB
FEDCBA
注意:如果你的系统不使用ASCII或其他以数字顺序编码的代码,可以把字符数组初始化为字母表中的字母:
char lets[27] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

/*6.16.3. 使用嵌套循环,按下面的格式打印字母:
F
FE
FED
FEDC
FEDCB
FEDCBA
注意:如果你的系统不使用ASCII或其他以数字顺序编码的代码,可以把字符数组初始化为字母表中的字母:
char lets[27] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; */

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main(void)
{
	char ch[6];
	int n = 0;
	int m = 0;

	for (n = 0; n < 6; n++)
	{
		for (m = 0; m <= n; m++)
		{
			ch[n] = 'F' - m;
			printf("%c", ch[n]);
		}
		printf("\n");
	}	
	return 0;
}

运行结果:

6.16.4

使用嵌套循环,按下面的格式打印字母:
A
BC
DEF
GHIJ
KLMNO
PQRSTU
如果你的系统不适用以数字顺序编码的代码,请参照练习3的方案解决。

/*6.16.4. 使用嵌套循环,按下面的格式打印字母:
A
BC
DEF
GHIJ
KLMNO
PQRSTU
如果你的系统不适用以数字顺序编码的代码,请参照练习3的方案解决。*/
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main(void)
{
	int x;   //行
	int y;   //下标
	int k;   
	int sum = 0;  //打印次数
	
	for (x = 0; x < 6; x++)
	{
		k = sum;
		for (y = k; y <= k + x; y++)
		{
			printf("%c", 'A' + y);
			sum++;
		}
		printf("\n");
	}
	return 0;
}

运行结果:

6.16.5

编写一个程序,提示用户输入信息。使用嵌套循环以下面金字塔型的格式打印字母:
     A
    ABA
   ABCBA
  ABCDCBA
 ABCDEDCBA
打印这样的图形,要根据用户输入的字母来决定。例如,上面的图形是在用户输入E后的打印结果。提示:用外层循环处理行,每行使用3个内层循环,分别处理空格、以升序打印字母、以降序打印字母。
如果系统不使用ASCII或其他以数字顺序编码的代码,请参照练习3的解决方案。

/*6.16.5. 编写一个程序,提示用户输入信息。使用嵌套循环以下面金字塔型的格式打印字母:
     A
	ABA
   ABCBA
  ABCDCBA
 ABCDEDCBA
打印这样的图形,要根据用户输入的字母来决定。例如,上面的图形是在用户输入E后的打印结果。
提示:用外层循环处理行,每行使用3个内层循环,分别处理空格、以升序打印字母、以降序打印字母。
如果系统不使用ASCII或其他以数字顺序编码的代码,请参照练习3的解决方案。*/
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main(void)
{
	char ch;
	int x, y, z, w, length;
	printf("输入一个字母:");
	scanf("%c", &ch);

	length = ch - 'A';              
	//以'A'为基点,假设A对应1,则B对应2,C对应3,D对应4,E对应5,length = 5-1 =4
	//实际电脑里字母都有对应的ASKII码值,但是个人觉得没必要特意去背,所以这里假设从1开始了

	for (x = 0; x <= length; x++)     //限定行数
	{   
		//length是输入字符的长
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值