图像过滤(PAT-1066)

来源:互联网 发布:ins聊天软件下载 编辑:程序博客网 时间:2024/06/05 06:57

1066. 图像过滤(15)

时间限制
400 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
CHEN, Yue

图像过滤是把图像中不重要的像素都染成背景色,使得重要部分被凸显出来。现给定一幅黑白图像,要求你将灰度值位于某指定区间内的所有像素颜色都用一种指定的颜色替换。

输入格式:

输入在第一行给出一幅图像的分辨率,即两个正整数M和N(0 < M, N <= 500),另外是待过滤的灰度值区间端点A和B(0 <= A < B <= 255)、以及指定的替换灰度值。随后M行,每行给出N个像素点的灰度值,其间以空格分隔。所有灰度值都在[0, 255]区间内。

输出格式:

输出按要求过滤后的图像。即输出M行,每行N个像素灰度值,每个灰度值占3位(例如黑色要显示为000),其间以一个空格分隔。行首尾不得有多余空格。

输入样例:
3 5 100 150 03 189 254 101 119150 233 151 99 10088 123 149 0 255
输出样例:
003 189 254 000 000000 233 151 099 000088 000 000 000 255


题目大意:

把二维数组中在[A,B]内的数改成规定值并输出。

注意事项:

①闭区间,可以等于A或B

②输出时用%03d输出,自动补齐含0的三位数。

③可以边输入,边判断,边输出。

代码如下:

#include<stdio.h>int hang,lie,a,b,x,k;int main(){scanf("%d%d%d%d%d",&hang,&lie,&a,&b,&x);for(int i=0 ; i<hang; i++){for(int j=0 ; j<lie ; j++){scanf("%d",&k);printf("%03d%c",(k>=a && k<=b)?x:k,j==(lie-1)?'\n':' ');}}return 0;}

点击打开链接


原创粉丝点击