T1 计算阶乘的和
#include<stdio.h>
#include<stdlib.h>
long Fact(int n)
{
int i;
long t=1;
for(i=1;i<=n;i++)
t=t*i;
return t;
}
main()
{
int m,a,b,c;
for(m=100;m<1000;m++)
{
a=m/100;
b=m/10%10;
c=m%10;
if(m==Fact(a)+Fact(b)+Fact(c))
printf("%d\n",m);
}
return 0;
}
//知道了return t 是指带一个值返回主调函数
//是m==不是m=
//括号里的是int n,我第一次打成了int i,后面反应过来,这里算的是n的阶乘
T2计算最大的三位约数
#include<stdio.h>
main()
{
int n,i;
printf("Input n:");
scanf("%d",&n);
if(n>=1000&n<=1000000)
{
for(i=999;i>100;i--)
{
if(n%i==0)
{
printf("%d\n",i);
break;
}
}
}
else
printf("Input error!\n");
return 0;
}
T3孔融分梨
#include<stdio.h>
int Gcd(int a,int b)
{
int t,k;
if(a<=0||b>10000||b==0)
return -1;
else
{
for(t=a; ;t--)
{
if(a%t==0&&b%t==0&&b!=0)
{
k=t;
return k;
}
}
}
}
main()
{
int m,n,k;
printf("Input m,n:");
scanf("%d,%d",&m,&n);
k=Gcd(m,n);
if(k!=-1)
{
m=m/k;
n=n/k;
printf("%d/%d\n",m,n);
}
else
printf("Input error!\n");
return 0;
}
//b=0的情况我一开始忘了,还有就是if括号里那个k!=1那个是和一开始return -1相对
T4素数求和
#include<stdio.h>
#include<math.h>
int Isprime(int x)
{
int i;
if(x<=1)
return 0;
else
{
for(i=2;i<=sqrt(x);i++)
if(x%i==0)
return 0;
}
return 1;
}
main()
{
int sum=0,n,i;
printf("Input n:");
scanf("%d",&n);
for(i=2;i<=n;i++)
{
if(Isprime(i))
sum+=i;
}
printf("sum=%d\n",sum);
return 0;
}