电子版C primer plus 第6版 中文文字版下载地址
https://blog.csdn.net/gouqi426/article/details/106412212
以下为课后练习。
使用编译器 vs 2013 。
如使用其他编译器,可将scanf_s()修改为scanf(),同时删除sizeof()。具体原因请学习scanf_s()和scanf()的区别。
6.16.1编写一个程序,创建一个包含26个元素的数组,并在其中储存26个小写字母。然后打印数组的所有内容。
// 6.16.1 26元素数组.cpp : 定义控制台应用程序的入口点。
#include "stdafx.h"
#define SIZE 26
int _tmain(int argc, _TCHAR* argv[])
{
char alphabet[SIZE];
alphabet[0] = 'a'; // 初始化,数组元素编号从0开始,alphabet[0]表示第1个元素,alphabet[1]表示第二个元素,以此类推。
int index;
for (index = 0; index < SIZE; index++)
{
alphabet[index] = alphabet[0] + index;
printf("%c\t", alphabet[index]);
}
printf("\n");
return 0;
}
6.16.2 使用嵌套循环,按下面的格式打印字符:
// 6.16.2 三角形打印.cpp : 定义控制台应用程序的入口点。
#include "stdafx.h"
int _tmain()
{
char code = '$';
int i, j;
for (i = 1; i < 6; i++) //i控制行数
{
for (j = 1; j < i+1 ;j++) //j控制每行字符数,j < i+1表示每行字符数小于等于行数。
{
printf("%c", code); // 只要字符数不多于行数就继续打印直至等于行数。
}
printf("\n"); //字符数等于行数后,换行。
}
return 0;
}
6.16.3 使用嵌套循环,按下面的格式打印字母:
F
FE
FED
FEDC
FEDCB
FEDCBA
// 6.16.3 打印三角形字母.cpp : 定义控制台应用程序的入口点。
#include "stdafx.h"
int _tmain()
{
int i,j;
char code;
for (i = 1; i < 7; i++)
{
code = 'F'; //每行打印前将首字符初始化为F
for (j = 1; j < i+1; j++)
{
printf("%c", code);
code--; //打印每一个字符后递减
}
printf("\n"); //换行
}
return 0;
}
6.16.4
使用嵌套循环,按下面的格式打印字母:
A
BC
DEF
GHIJ
KLMNO
PQRSTU
// 6.16.4 字母增加三角形打印.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
int _tmain()
{
int i, j;
char code='A';
for (i = 1; i < 7; i++)
{
for (j = 1; j < i + 1; j++)
{
printf("%c", code);
code++; //打印每一个字符后递增
}
printf("\n"); //换行
}
return 0;
}
6.16.5 编写一个程序,提示用户输入大写字母。使用嵌套循环以下面金字塔型的格式打印字母:
打印这样的图形,要根据用户输入的字母来决定。例如,上面的图形是在用户输入E后的打印结果。
提示:用外层循环处理行,每行使用3个内层循环,分别处理空格、以升序打印字母、以降序打印字母。如果系统不使用ASCII或其他以数字顺序编码的代码,请参照练习3的解决方案。
// 6.16.5 等腰三角形字母表.cpp : 定义控制台应用程序的入口点。
#include "stdafx.h"
int _tmain()
{
int i, j;
char ch = 0;
printf("Please input an letter in uppercase:"); //输入一个大写字母
scanf_s("%c", &ch, sizeof(ch));
int length = ch - 'A' + 1; // 整形变量 length 最小值为1,即输入A时。ch - 'A' + 1即为输入的字符是第几个字符。
for (i = 1; i <= length; i++) // i确定行数 ,
{
char a = &#