1.一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。
找出这两个数字,编程实现。
2.喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以多少汽水。编程实现。
#include<stdio.h>
//1.一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。
//找出这两个数字,编程实现。
void find(int *a,int sz)
{
for (int i = 0; i < sz; ++i)
{
int flag = 0;
for (int j = 0; j < sz; ++j)
{
if (i != j && a[i] == a[j])
{
flag = 1;
break;
}
}
if (flag == 0)
{
printf("%d\n", a[i]);
}
}
}
void main()
{
int a[] = { 1, 2, 1, 3, 2, 4 };
int sz = sizeof(a) / sizeof(a[0]);
find(a,sz);
}
//2.喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以多少汽水。编程实现。
//void main()
//{
// int money = 20;
// int drink_soda = 0;
// int empty_bottle = 0;
// drink_soda += money;
// empty_bottle = money;
// while (empty_bottle >= 2)
// {
// if (empty_bottle % 2 == 0)
// {
// drink_soda += empty_bottle / 2;
// empty_bottle /= 2;
// }
// else
// {
// drink_soda += empty_bottle / 2;
// empty_bottle = (empty_bottle /= 2) + 1;
// }
// }
// printf("%d\n", drink_soda);
//}
本文提供两种编程解决方案:一是从数组中找出仅出现一次的两个数字;二是计算初始资金及通过空瓶兑换能获得的总汽水量。代码示例采用 C 语言实现。
572

被折叠的 条评论
为什么被折叠?



