/*计算1!+2!+3!+...+100!*/
#include<stdio.h>
double fact(int n); //自定义函数声明,计算阶乘
int main(void)
{
int i;
double sum;
sum=0;
for(i=1;i<=100;i++)
sum=sum+fact(i);
printf("1!+2!+3!+...+100!=%e\n",sum);
return 0;
}
double fact(int n)
{
int i;
double result;
result=1;
for(i=1;i<=n;i++)
result=result*i;
return result;
}
//
输入m、n(m≥n≥0)后,计算表达式的值并输出。 要求将计算阶乘的运算编写作函数fact(n),函数返回值的类型为float。
#include<stdio.h>
float fact(int n);
int main()
{
int m,n;
float x,y,z,result;
printf("Enter m and n:");
scanf("%d%d",&m,&n);
if(m<n||m<0||n<0)
printf("It is wrong\n");
else if(m>=n>=0){
x=fact(m);
y=fact(n);
z=fact(m-n);
result=x/(y*z);
printf("result=%.2f\n",result);
}
return 0;
}
//计算阶乘
float fact(int n)
{
int i;
float product;
product=1;
for(i=1;i<=n;i++)
product=product*i;
return product;
}
// 输入两个正整数m和n(m<n),求从m到n之间(包括m和n)所有素数的和,要求定义并调用函数isprime(x)来判断x是否为素数
#include<stdio.h>
#include<math.h>
int isprime(int x);
int main()
{
int m,n,x,sum;
printf("Enter m and n(m<n):");
scanf("%d%d",&m,&n);
sum=0;
for(x=m;x<=n;x++){
if (isprime(x)!=0)
sum=sum+x;
}
printf("sum=%d",sum);
return 0;
}
//判断素数
int isprime(int x)
{
int i,n;
if(x==1)
return 0;
n=sqrt(x);
for(i=2;i<=n;i++){
if(x%i==0){
return 0;
}
else
return 1;
}
}
//还款年限—月还款额表
#include<stdio.h>
double cal_power(double x,int n);
double cal_money(double loan,double rate,int month);
int main(void)
{
int year;
double rate,loan,moneymonth;
printf("输入本金和利率:");
scanf("%Lf%Lf",&loan,&rate);
for(year=5;year<=30;year++)
{
moneymonth=cal_money(loan,rate,year*12);
printf("year=%d,moneymonth=%.f\n",year,moneymonth);
}
return 0;
}
double cal_power(double x,int n)
{
int i;
double result=1;
for(i=1;i<=n;i++)
result=result*x;
return result;
}
double cal_money(double loan,double rate,int month)
{
double result=cal_power(1+rate,month);
result=loan*rate*result/(result-1);
return result;
}
//哥德巴赫猜想
#include<stdio.h>
#include<math.h>
int prime(int m);
int main()
{
int i,a,b,m;
for(i=6;i<=100;i=i+2) //满足条件开始循环,偶数每次加2
{
for(b=2;b<=i;b++){ //假设b为素数
a=i-b;
if(prime(a)&&prime(b)){ //都为素数则输出
printf("%d=%d+%d ",i,a,b);
printf("\t"); //水平制表
break;
}
}
}
return 0;
}
//判断素数
int prime(int m)
{
int x;
double n;
if(m==1)
return 0;
n=sqrt(m);
for(x=2;x<=n;x++){
if(m%x==0) //余数为0不是素数
return 0;
else
return 1;
}
}