首页 > 代码库 > UVA232

UVA232

这只是大概的雏形。

步骤就是:1输入网格,2给网格里的起始格编序号,3输出所有字母,前面要加序号

#include<stdio.h>
#include<ctype.h>
#include<string.h>
char a[15][15];//保存字母和* 
int b[15][15];//保存顺序编号 
int main(){
    int r,c;
    int d=0;
    scanf("%d %d",&r,&c);
    memset(a,0,sizeof(a));
    memset(b,0,sizeof(b));
    //输入网格 
    getchar();//输入字符串要加getchar来跳过回车 
    for(int i=0;i<r;i++)
        gets(a[i]);
    //标记起始格        
    for(int i=0;i<r;i++)
        for(int j=0;j<c;j++){
            if(a[i][j] != * && (!isalpha(a[i][j-1]) || !isalpha(a[i-1][j-1]) ) )
                b[i][j]=++d; 
        } 

    for(int i=0;i<r;i++)
        for(int j=0;j<c;j++){
            if(b[i][j] && (b[i][j-1] == * || !b[i][j-1])){
                printf("%d.",b[i][j]);
            }//输出数字 
            if(isalpha(a[i][j]))
                putchar(a[i][j]);//输出每一个字母 
            if(a[i][j+1] == * || !a[i][j+1]){
                printf("\n");
            }
        }
        
    return 0;
}

 

UVA232