目录
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是输入字符的长