天天看點

C Primer Plus 第六版 第七章課後程式設計練習答案

1.

#include<stdio.h>

int main(void)

{

    char ch=0;

    int sap=0;//空格 

    int black=0;//換行 

    int ch1=0;//字元 

    while((ch=getchar())!='#')

    {

        if(ch==' ')

        {

            sap++;

        }

        if(ch=='\n')

        {

            black++;

        }

        else ch1++;

    }

    printf("空格%d 換行%d 字元%d",sap,black,ch1);

    return 0;

}

2.

#include<stdio.h>

int main(void)

{

    char ch;

    int count=0;

    while((ch=getchar())!='#')

    {

        count++;

        printf("%c對應的%d ",ch,ch);

        if (count%8==0)    printf("\n"); 

    }

    return 0;

}

4.

#include<stdio.h>

int main(void)

{

    char ch=0;

    while((ch=getchar())!='#')

    {

        if('.'==ch)

        {

            putchar('!');

        }

        else if ('!'==ch)

        {

            putchar('!');

            putchar('!');

        }

        else

        {

            putchar(ch);

        }

    }

    return 0;

 } 

5.

#include<stdio.h>

int main(void)

{

    char ch;

    while((ch=getchar())!='#')

    {

        switch(ch)

            {

                case '.': 

                    putchar('!');

                    break;

                case '!': 

                    putchar('!');

                    putchar('!');

                    break;

                default:

                    putchar(ch);

            }

    }

    return 0;

}

6.

#include<stdio.h>

int main(void)

{

    char ch;

    int count1=0;

    int count2=0;

    while((ch=getchar())!='#')

    {

        switch(ch)

            {

                case 'e': 

                    count1++;

                    break;

                case 'i': 

                    count2++;

                    break;

                default:

                    putchar(ch);

            }    

    }

    printf("e:%d次,i:%d次",count1,count2);

    return 0;

}

繼續閱讀