1题目:一个数如果恰好等于它的因子之和,这个数被成为”完数”,例如:6=1+2+3.请编程找出1000以内的完数
#include <stdio.h>
int main()
{
int i,j,sum;
int a[1000]={0};
for(i=1;i<=1000;i++)
{
sum=0;
for(j=1;j<i;j++)
{
if(0==i%j)
{
sum=sum+j;
}
}
if(sum==i)
{
printf("%d ",i);
}
}
printf("\n");
return 0;
}
2、有n个人围成一圈,顺序排号,从第一个开始报数(从1到3报数),凡报到3的人退出圈子,问最后最后留下的是原来第几号的那位.
提示:用数组完成
#include <stdio.h>
int main()
{
int a[100]={0};
int n,i,j,k;
scanf("%d",&n);
for(i=0;i<n;i++)
{
a[i]=i+1;
}
i=0;
j=0;
k=0;
while(k<n-1)
{
if(a[i]!=0)
{
j++;
}
if(3==j)
{
a[i]=0;
k++;
j=0;
}
i++;
if(i==n)
{
i=0;
}
}
for(i=0;i<n;i++)
{
if(a[i]!=0)
{
printf("%d\n",a[i]);
}
}
return 0;
}
3题目:编写程序,打印出9×9乘法表
int main()
{
int i,j,m;
for(i=1;i<=9;i++)
{
for(j=1;j<=i;j++)
{
m=i*j;
printf("%d*%d=%d ",j,i,m);
}
printf("\n");
}
printf("\n");
return 0;
}
4题目:编写程序,打印菱形星号组合
// *
// * *
// * *
// * *
// * *
// * *
// *
int main()
{
int i,j,k;
for(i=0;i<3;i++)
{
for(j=0;j<3-i;j++)
{
printf(" ");
}
printf("*");
for(;j<i+2;j++)
{
printf(" ");
}
if(i!=0)
{
printf("*");
}
printf("\n");
}
for(i=3;i>=0;i--)
{
for(j=0;j<3-i;j++)
{
printf(" ");
}
printf("*");
for(;j<i+2;j++)
{
printf(" ");
}
if(i!=0)
{
printf("*");
}
printf("\n");
}
return 0;
}