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;
}