第壹題
#include<stdio.h>int?main()
{
int?n,i,k,a=1,s=0;
scanf("%d",&n);
for(i=1;i<=n;i++)//循環n次,求n個和?
{
for(k=1;k<=i;k++)//求階層i!?
{
a=a*k;?
}
s=s+a;//階層求和?
a=1;?//a重新歸1?
}
printf("階層和是%d\n",s);
return?0;
}
============
第二題,給出壹個能輸出任意層塔的函數
#include<stdio.h>int?main()
{
int?n,i,k;
scanf("%d",&n);//讀入需要輸出的塔有幾層?,對於這道題可以刪去,把n定義為5
for(i=1;i<=n;i++)//循環n次,每次輸出壹層?
{
for(k=1;k<=(n-i);k++)//對於第i層,需要輸出n-i個空格?
{
printf("?");
}
for(k=1;k<2*i;k++)//對於第i層,需要輸出2i-1個*?
{
printf("*");
}
printf("\n");//別忘了最後要換行?
}
return?0;
}
===========
第三題,給出求從n到m所有素數的方法
#include<stdio.h>#include<math.h>
int?main()
{
int?n,m,a,b,c=0,i=2,s[100]/*定義壹個有100個元素的素數組*/,j=-1;
scanf("%d%d",&n,&m);?
for(a=n;a<=m;a++)//從n到m壹個個找?
{
for(i=2;i<a;i++)//從2到a-1,依次除a
{
b=a%i;
if(b==0)?c=c+1;/*c表示除1和自己以外的因數個數,如果a整除i,就給c加壹個數?*/?
}?
if(c==0)?//如果沒有其他因數,就把a加到素數數組中去?
{
j=j+1;
s[j]=a;
printf("%d\n",s[j]);
}
else?c=0;
}
return?0;
}