int i,a,n,s,sum;
for(a=2;a<=1000;a++)
{
n=0;
s=a;
for(i=1;i<a;i++)
if(a%i==0)
{
n++;
sum+=i;
switch(n) error:未想到用switch语句(n为因子的个数,i为因子)
{
case 1:
k1=i; break;
case 2:
k2=i; break;
case 3:
k3=i; break;
case 4:
k4=i; break;
case 5:
k5=i; break;
case 6:
k6=i; break;
case 7:
k7=i; break;
case 8:
k8=i; break;
case 9:
k9=i; break;
case 10:
k10=i; break;
}
}
if(s==sum)
{
printf("%d,Its factor are :",a);
if(n>1) printf("%d,%d",k1,k2);
if(n>2) printf(",%d",k3);
if(n>3) printf(",%d",k4);
if(n>4) printf(",%d",k5);
if(n>5) printf(",%d",k6);
if(n>6) printf(",%d",k7);
if(n>7) printf(",%d",k8);
if(n>8) printf(",%d",k9);
if(n>9) printf(",%d",k10);
printf("\n");
}
}
return 0;
}
心得:当碰到同时需要考虑的两个不同变量时,应先确定一个,再讨论下一个,当出现输出的变量个数不确定的时候,应该用switch语句确定输出的情况,并且同时定义一个变量确定输出变量的个数,便于switch语句进行选择判断