c语言编程:两倍问题

来源:百度知道 编辑:UC知道 时间:2024/05/26 09:51:47
例如,给定1 4 3 2 9 7 18 22 ,得到的答案是3,因为2是1的两倍,4是2的两倍,18是9的两倍。

输入包括多组测试数据,每组数据包括一行,给出2到15个两两不同且小于100的正整数。每行最后一个数是0,表示这一行的结束后,这个数不属于2到15个给定的正整数。输入的最后一行只包括一个整数 -1,表示这一行输入结束,不用进行处理。
尽快啊 还要是c语言的 谢谢啦

# include <stdio.h>

int main()
{
int i, NO, tmp, a[101];
while(1)
{
scanf("%d",&tmp);
if(tmp == -1) break;
NO = 0;
for(i = 0; i < 101; i++)
a[i] = 0;
a[tmp] = 1;
while(scanf("%d",&tmp)==1&&tmp)
a[tmp] = 1;
for(i = 0; i < 50; i++)
if(a[i]&&a[2*i])
NO++;
printf("%d\n",NO);
}
return 0;
}

晕!哥们,你是不是在准备考试的题啊,我怎么发现所有问C的人都为了考试,每一个人问的是提高编程能力的。垃圾