C Primer Plus 6th(中文版)第六章编程练习答案

3.使用嵌套循环,按下面的格式打印字母:
F
FE
FED
FEDC
FEDCB
FEDCBA

#include<stdio.h>

int main(void)
{
    char str[6]={'F','E','D','C','B','A'};   //这是一个字符数组,不是字符串
    int i,j;

    for(i=0;i<6;i++)   //i控制外循环,即循环趟次 
    {
        for(j=0;j<=i;j++)   //j控制内循环,即输出个数 
        {
            printf("%c",str[j]);
        }
        printf("\n"); 
    }

    return 0;
}

这里写图片描述

4.使用嵌套循环,按下面的格式打印字母:
A
BC
DEF
GHIJ
KLMNO
PQRSTU

#include<stdio.h>

int main(void)
{
    char str[]={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U'};
    int i,j;
    int k=0;
    int n;

    for(i=0;i<6;i++)   //控制循环趟次 
    {
        for(j=0;j<=i;j++)   //控制每次输出个数 
        {
            printf("%c",str[k]);
            k++;
        }
        printf("\n");
    }

    return 0;
}

/*不使用数组的方法

#include<stdio.h>

int main(void)
{
    int i,j;
    char x='A';

    for(i=0;i<6;i++)
    {
        for(j=0;j<=i;j++)
        {
            printf("%c",x);
            x++;
        }
        printf("\n"); 
    }

    return 0;
}

*/

这里写图片描述

5.编写一个程序,提示用户输入大写字母,使用嵌套循环以下面金字塔型的格式打印字母:

    A
   ABA
  ABCBA
 ABCDBCA
ABCDEDCBA
#include<stdio.h>

int main(void)
{
    char ch;
    char space=' ';
    char a='A';
    char x;
    int i,j,n,k,l;

    printf("请输入一个大写字母:\n");
    scanf("%c",&ch);

    n=ch-64;   //A的ASCII码值为65 
    for(i=0;i<n;i++)
    {
        for(j=0;j<=n-i;j++)   //空格数 
        {
            putchar(space);
        }

        a='A';   //放在循环外是为了使每次从A开始 
        for(k=0;k<=i;k++)   //升序 
        {
            printf("%c",a);
            a++;
        }

        x=ch+i-n;
        for(l=i;l>0;l--)   //降序 
        {
            printf("%c",x);
            x--;
        }
        printf("\n");
    } 


    return 0;
 } 

这里写图片描述

6.编写一个程序打印一个表格,每行打印一个整数、该数的平方、该数的立方。要求用户输入表格的上下限。使用一个for循环。

#include<stdio.h>

int main(void)
{
    int n,m;

    printf("请输入表格开始的数:\n");
    scanf("%d",&n);
    printf("请输入表格结束的数:\n");
    scanf("%d",&m);

    printf("\n");
    printf("原数\t平方\t立方\t\n");
    for(n=n;n<=m;n++)
    {
        printf("%d\t%d\t%d\n",n,n*n,n*n*n);
    }

    return 0;

}

这里写图片描述

7.编写一个程序,把一个单词读入一个字符数组中,然后倒序打印这个单词。提示:strlen()函数可用于计算数组最后一个字符的下标。

#include<stdio.h>
#include<string.h>   //因为要使用strlen()函数,所以需要导入头文件
#define MAXSIZE 100   //预处理中间没有等号,末尾没有分号

int main(void)
{
    char str[MAXSIZE];   //定义数组时,数组长度不能为空
    int n,i;

    printf("请输入一个单词:\n") ;
    scanf("%s",str);
    n=strlen(str);

    printf("倒序打印为:\n");
    for(i=n-1;i>=0;i--)
    {
        printf("%c",str[i]);
    }

    return 0;
 } 

这里写图片描述

猜你喜欢

转载自blog.csdn.net/u011785309/article/details/81785005
今日推荐