s用于统计数字,a、b、c分别记录3、5、7倍数的数量,我写的没有存储数字,存储的话可以用数组。
#include<stdio.h>
int main()
{
int n=1;
double a=0.0,b=0.0,c=0.0,s=0.0;
for(;;){
scanf("%d",&n);
if(n==0)break;
s++;
if(n%3==0)
{
a++;
if(n%5==0||n%7==0)
{
a--;
}
}
if(n%5==0)
{
b++;
if(n%3==0||n%7==0)
{
b--;
}
}
if(n%7==0)
{
c++;
if(n%3==0||n%5==0)
{
c--;
}
}
}
a=a/s*100;
b=b/s*100;
c=c/s*100;
printf("%.2lf%%\n",a);
printf("%.2lf%%\n",b);
printf("%.2lf%%\n",c);
return 0;
}