找不同 C语言

找不同

三个球ABC,大小形状相同且其中有一个球与其他球重量不同。要求找出这个不一样的球。

输入格式:
输入在一行中给出3个正整数,顺序对应球ABC的重量。

输出格式:
在一行中输出唯一的那个不一样的球,肯定有一个球的重量与其他两个不同。

输入样例1:

1 1 2

输出样例1:

C

输入样例2:

1 2 2

输出样例2:

A

代码:

#include<stdio.h>
int main()
{
	int a,b,c;
	scanf("%d %d %d",&a,&b,&c);
	if(a!=b&&a!=c)
		printf("A");
	else if(b!=a&&b!=c)
		printf("B");
	else
		printf("C");
	return 0;
} 
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
霍夫变换是一种基于数学原理的图像处理方法,可以用来检测图像中的圆形。下面是一个简单的基于C语言的霍夫变换实现。 1. 首先读入图像,使用OpenCV或其他图像处理库进行处理。 2. 对图像进行边缘检测,得到二值化图像。 3. 针对每个二值化图像的像素点,以其为圆心,计算出所有可能的圆的半径。 4. 对于每个半径,计算出图像中所有可能的圆心位置,并将其在霍夫空间中投票。 5. 根据投票结果,到在霍夫空间中得票最高的位置,即为检测到的圆的圆心和半径。 下面是一个简单的C语言代码实现: ```c #include <stdio.h> #include <math.h> #define IMG_WIDTH 320 #define IMG_HEIGHT 240 unsigned char image[IMG_HEIGHT][IMG_WIDTH]; unsigned int accumulator[IMG_HEIGHT][IMG_WIDTH][20]; void hough_transform() { int r, x, y; for (y = 0; y < IMG_HEIGHT; y++) { for (x = 0; x < IMG_WIDTH; x++) { if (image[y][x] > 128) { for (r = 10; r < 30; r++) { int i; for (i = 0; i < 360; i++) { int a = x + r * cos(i * 3.1415926535 / 180.0); int b = y + r * sin(i * 3.1415926535 / 180.0); if (a >= 0 && b >= 0 && a < IMG_WIDTH && b < IMG_HEIGHT) { accumulator[b][a][r-10]++; } } } } } } } void find_circles() { int x, y, r; int max_vote = 0; int max_x = 0, max_y = 0, max_r = 0; for (y = 0; y < IMG_HEIGHT; y++) { for (x = 0; x < IMG_WIDTH; x++) { for (r = 0; r < 20; r++) { if (accumulator[y][x][r] > max_vote) { max_vote = accumulator[y][x][r]; max_x = x; max_y = y; max_r = r + 10; } } } } printf("Circle found at (%d,%d) with radius %d\n", max_x, max_y, max_r); } int main() { // Load image FILE *fp; fp = fopen("image.raw", "rb"); fread(image, 1, IMG_WIDTH * IMG_HEIGHT, fp); fclose(fp); // Perform Hough transform hough_transform(); // Find the most voted circle find_circles(); return 0; } ``` 这个实现仅仅是一个简单的示例,实际的霍夫变换算法需要更多的优化和调整,以适应不同的应用场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大菜彩

家人们鼓励鼓励!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值