C Primer Plus(第六版)13.11 编程练习 第12题

#include
#include

#define MAX 41
/*
13.11-12.txt
0 0 9 0 0 0 0 0 0 0 0 0 5 8 9 9 8 5 2 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 9 0 0 0 0 0 0 0 5 8 9 9 8 5 5 2 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 5 8 1 9 8 5 4 5 2 0 0 0 0 0 0 0 0 0
0 0 0 0 9 0 0 0 0 0 0 0 5 8 9 9 8 5 0 4 5 2 0 0 0 0 0 0 0 0
0 0 9 0 0 0 0 0 0 0 0 0 5 8 9 9 8 5 0 0 4 5 2 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 5 8 9 1 8 5 0 0 0 4 5 2 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 5 8 9 9 8 5 0 0 0 0 4 5 2 0 0 0 0 0
5 5 5 5 5 5 5 5 5 5 5 5 5 8 9 9 8 5 5 5 5 5 5 5 5 5 5 5 5 5
8 8 8 8 8 8 8 8 8 8 8 8 5 8 9 9 8 5 8 8 8 8 8 8 8 8 8 8 8 8
9 9 9 9 0 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 9 9 9 9 9 9 9
8 8 8 8 8 8 8 8 8 8 8 8 5 8 9 9 8 5 8 8 8 8 8 8 8 8 8 8 8 8
5 5 5 5 5 5 5 5 5 5 5 5 5 8 9 9 8 5 5 5 5 5 5 5 5 5 5 5 5 5
0 0 0 0 0 0 0 0 0 0 0 0 5 8 9 9 8 5 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 5 8 9 9 8 5 0 0 0 0 6 6 0 0 0 0 0 0
0 0 0 0 2 2 0 0 0 0 0 0 5 8 9 9 8 5 0 0 5 6 0 0 6 5 0 0 0 0
0 0 0 0 3 3 0 0 0 0 0 0 5 8 9 9 8 5 0 5 6 1 1 1 1 6 5 0 0 0
0 0 0 0 4 4 0 0 0 0 0 0 5 8 9 9 8 5 0 0 5 6 0 0 6 5 0 0 0 0
0 0 0 0 5 5 0 0 0 0 0 0 5 8 9 9 8 5 0 0 0 0 6 6 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 5 8 9 9 8 5 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 5 8 9 9 8 5 0 0 0 0 0 0 0 0 0 0 0 0
*/

char convert(int n);

int main(void)
{
    FILE *fp;
    int i,j;
    int num[20][30];
    char str[20][31];
    char file_name[MAX];
    char ch;
    
    scanf("%s",file_name);
    if ((fp = fopen(file_name, "r")) == NULL)
    {
        fprintf(stdout,"Can't open \"wordy\" file.\n");
        exit(EXIT_FAILURE);
    }
    i=0;
    j=0;
    while((ch = getc(fp))!=EOF)
    {
        if(ch != '\n'&&ch != ' ')
        {
            num[i][j] = ch - '0';
            j++;
        }
        else if(ch=='\n')
        {
            i++;
            j=0;
        }
    }
    fclose(fp);
    for(i=0;i<20;i++)
    {    
        str[i][30] = '\0';
        for(j=0;j<30;j++)
            str[i][j] = convert(num[i][j]);        
    }
    for(i=0;i<20;i++)
        printf("%s\n",str[i]);        

    return 0;
}    

char convert(int n) 
{
    switch(n)
    {
        case 0:return(' ');
        case 1:return('.');
        case 2:return('\'');
        case 3:return(':');
        case 4:return('~');
        case 5:return('*');
        case 6:return('=');
        case 7:return('+');
        case 8:return('%');
        case 9:return('#');
        default:return(' ');
    }
}

你可能感兴趣的:(C,Primer,Plus(第六版),c语言,开发语言,算法)