PAT basic 1066 图像过滤(15)
来源:互联网 发布:可视化编程软件 编辑:程序博客网 时间:2024/05/16 05:49
小小声明:某渣大学生,网上看了几个发现写的格式都不对,斗胆献上自己的代码~~~代码多余处,多多包涵。
图像过滤是把图像中不重要的像素都染成背景色,使得重要部分被凸显出来。现给定一幅黑白图像,要求你将灰度值位于某指定区间内的所有像素颜色都用一种指定的颜色替换。
输入格式:
输入在第一行给出一幅图像的分辨率,即两个正整数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此题难度真的没啥,关键是格式这东西,一定要注意,严谨。
#include <stdio.h>#include <stdlib.h>int main(){ int m,n,a,b,c,t; scanf("%d%d%d%d%d",&m,&n,&a,&b,&c); int *p=NULL; p=(int*)calloc(m*n,sizeof(int)); for(int i=0;i<m*n;i++) { scanf("%d",&t); if(t>=a&&t<=b) t=c; p[i]=t; } for(int i=0; i<m; i++) { int j=0; for(; j<n; j++) { printf("%03d",p[i*n+j]);//此处j!=n-1?' ';'\0'不可用,\0会造成格式错误。 if(j!=n-1) printf(" "); } if(i!=m-1) printf("\n"); } free(p);}
阅读全文
1 0
- PAT basic 1066 图像过滤(15)
- PAT Basic 1066. 图像过滤(15)(C语言实现)
- PAT (Basic Level) Practise (中文) 1066. 图像过滤(15)
- PAT (Basic Level) Practise (中文)1066. 图像过滤(15)
- 图像过滤(PAT-1066)
- PAT 1066 图像过滤
- PAT 1066图像过滤
- PAT 1066图像过滤 C
- PAT 1066. 图像过滤(15)
- 1066. 图像过滤(15) PAT
- PAT 1066. 图像过滤(15)-乙级
- 1066. 图像过滤(15) PAT乙级
- PAT乙级 1066. 图像过滤(15)
- PAT乙级 1066. 图像过滤(15)
- [PAT乙级]1066. 图像过滤(15)
- pat 乙级 1066. 图像过滤(15)
- PAT乙级1066. 图像过滤(15)
- PAT——1066. 图像过滤(15)
- 【LeetCode】Min Stack带最小值操作的栈
- 乐趣:初识React
- domElement.appendChild is not a function
- 628. Maximum Product of Three Numbers
- [BZOJ3124][Sdoi2013]直径(树形dp)
- PAT basic 1066 图像过滤(15)
- 1001. 害死人不偿命的(3n+1)猜想 (15)
- 一个web项目web.xml的配置中<context-param>配置作用
- MoreEffectiveC++读书笔记一
- hihocoder 1068 RMQ-ST算法
- C#回顾学习笔记三十六:字典集合Dictionary
- Postman的GET,POST请求接口
- JavaSE面向对象之三大特性
- 我的第一篇博客