欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

PAT 1066 图像过滤

程序员文章站 2022-07-15 13:57:47
...
#include <stdio.h>
// PAT 1066 图像过滤 
int is_in(int A,int B,int N){//判断是否在区间内  
    if (A <= N && N <= B) return 1;
    else return 0; 
} 

int main(){
    int M,N;//分辨率 0-500  思路:M行N列 双重循环 N列为内层循环 
    int a[510][510];
    int A,B;//灰度区间 A B 0-255
    int X;  //指定替换灰度值 

    scanf("%d%d%d%d%d",&M,&N,&A,&B,&X);

    for(int i = 0;i < M;i++)
        for(int j = 0;j < N;j++){
            scanf("%d",&a[i][j]);
        } 
    //完成输入

    //开始过滤
    for(int i = 0;i < M;i++)
        for(int j = 0;j < N;j++){
            if(is_in(A,B,a[i][j])) a[i][j]={X};
        }  
    //输出
    for(int i = 0;i < M;i++){ 
        for(int j = 0;j < N;j++){
            printf("%03d",a[i][j]);
            if(j != N-1) printf(" ");//空格处理 
        }
        printf("\n");
    }      
    return 0;
}