07.03-C
来源:互联网 发布:手机视频播放器 知乎 编辑:程序博客网 时间:2024/06/05 11:40
【项目2:麻烦的累加涨功夫】
计算(1) (2)
关注效率,要求用单重循环完成,第一个式子的计算不能用求幂函数pow()
题一:解答
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i=0,iDivisor=1,iSign=1;
double dSum=0;
for(i=0;i<=8;++i)
{
dSum=dSum+iSign*(1.0/iDivisor);
iDivisor=2*iDivisor;
iSign=-iSign;
}
printf("the sum is %lf",dSum);
return 0;
}
#include <stdlib.h>
int main()
{
int i=0,iDivisor=1,iSign=1;
double dSum=0;
for(i=0;i<=8;++i)
{
dSum=dSum+iSign*(1.0/iDivisor);
iDivisor=2*iDivisor;
iSign=-iSign;
}
printf("the sum is %lf",dSum);
return 0;
}
题二:解答
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i=1,iDivisor=1,iSign=1;
double dSum=0;
for(i=1;i<=9;++i)
{
dSum=dSum+iSign*(1.0/iDivisor);
iDivisor=iDivisor*(i+1);
iSign=-iSign;
}
printf("the sum is %lf",dSum);
return 0;
}
#include <stdlib.h>
int main()
{
int i=1,iDivisor=1,iSign=1;
double dSum=0;
for(i=1;i<=9;++i)
{
dSum=dSum+iSign*(1.0/iDivisor);
iDivisor=iDivisor*(i+1);
iSign=-iSign;
}
printf("the sum is %lf",dSum);
return 0;
}
【项目5:在北京买房】
现在北京有一套房子,价格200万,假设房价每年上涨10%,一个软件工程师每年固定能赚40万。如果他想买这套房子,不贷款,不涨工资,没有其他收入,每年不吃不喝不消费,那么他需要几年才能攒够钱买这套房子?
解法:#include <stdio.h>
#include <stdlib.h>
int main()
{
int i=1;
double dRate=0.1,dS_housevalue=0;
double dIncome=40,dHousevalue=200,dS_income;
do
{
dS_housevalue=dHousevalue*(1+dRate);
dS_income=dIncome*(i+1);
++i;
}while(dS_housevalue>=dS_income);
printf("it will take %d years to buy a house in beijing\n",i);
return 0;
}
#include <stdlib.h>
int main()
{
int i=1;
double dRate=0.1,dS_housevalue=0;
double dIncome=40,dHousevalue=200,dS_income;
do
{
dS_housevalue=dHousevalue*(1+dRate);
dS_income=dIncome*(i+1);
++i;
}while(dS_housevalue>=dS_income);
printf("it will take %d years to buy a house in beijing\n",i);
return 0;
}
【项目4:贪财的富翁】
一个百万富翁遇到一个陌生人,陌生人找他谈一个换钱的计划,该计划如下:我每天给你十万元,而你第一天只需给我一分钱,第二天我仍给你十万元,你给我两分钱,第三天我仍给你十万元,你给我四分钱,....,你每天给我的钱是前一天的两倍,直到满一个月(30天),百万富翁很高兴,欣然接受了这个契约。请编程序,通过计算说明,这个换钱计划对百万富翁是否是个划算的交易。
提示:(1)需要计算出30天后陌生人给了百万富翁多少钱,百万富翁给了陌生人多少钱,然后才能做出判断;(2)想要看得清楚,可以选择列出每一天双方交易获得的钱数。
一个百万富翁遇到一个陌生人,陌生人找他谈一个换钱的计划,该计划如下:我每天给你十万元,而你第一天只需给我一分钱,第二天我仍给你十万元,你给我两分钱,第三天我仍给你十万元,你给我四分钱,....,你每天给我的钱是前一天的两倍,直到满一个月(30天),百万富翁很高兴,欣然接受了这个契约。请编程序,通过计算说明,这个换钱计划对百万富翁是否是个划算的交易。
提示:(1)需要计算出30天后陌生人给了百万富翁多少钱,百万富翁给了陌生人多少钱,然后才能做出判断;(2)想要看得清楚,可以选择列出每一天双方交易获得的钱数。
解法:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i;
double dMoney=10000,dS_money=0;
double dCash=0.01,dS_cash=0;
for(i=1;i<=30;++i)
{
dS_money=i*dMoney;
dCash=2*dCash;
dS_cash=dS_cash+dCash;
}
if(dS_money<dS_cash)
{
printf("that millionaire is a SB\n");
}
else if(dS_money<dS_cash)
{
printf("that deal is even,boring!\n");
}
else
{
printf("that stranger is a SB\n");
}
return 0;
}
#include <stdlib.h>
int main()
{
int i;
double dMoney=10000,dS_money=0;
double dCash=0.01,dS_cash=0;
for(i=1;i<=30;++i)
{
dS_money=i*dMoney;
dCash=2*dCash;
dS_cash=dS_cash+dCash;
}
if(dS_money<dS_cash)
{
printf("that millionaire is a SB\n");
}
else if(dS_money<dS_cash)
{
printf("that deal is even,boring!\n");
}
else
{
printf("that stranger is a SB\n");
}
return 0;
}
【项目3:Bessel函数】
Bessel函数Jn(X)有以下的递推关系:
编写程序,利用递推关系,由任意的n和x≠0求Jn(X)。
Bessel函数Jn(X)有以下的递推关系:
编写程序,利用递推关系,由任意的n和x≠0求Jn(X)。
解法:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
printf("please enter tha values of n and x:");
int i=1;
int n;
double x;
double dJ0,dJ1,dJn;
scanf("%d %lf",&n,&x);
dJ0=sin(x)/x;
dJ1=sin(x)/(x*x)-cos(x)/x;
for (i=1;i<=n;++i)
{
dJn=(2i+1)*dJ1/x-dJ0;
dJ0=dJ1;
dJ1=dJn;
}
printf("jn=%lf\n",dJn);
return 0;
}
#include <stdlib.h>
#include <math.h>
int main()
{
printf("please enter tha values of n and x:");
int i=1;
int n;
double x;
double dJ0,dJ1,dJn;
scanf("%d %lf",&n,&x);
dJ0=sin(x)/x;
dJ1=sin(x)/(x*x)-cos(x)/x;
for (i=1;i<=n;++i)
{
dJn=(2i+1)*dJ1/x-dJ0;
dJ0=dJ1;
dJ1=dJn;
}
printf("jn=%lf\n",dJn);
return 0;
}
【项目1:另类求和】
求 Sn=a+aa+aaa+...+aa...a之值,其中 a是一个数字。
例如2+22+222+2222( 此时a=2,n=4),a和n均由键盘输入。
求 Sn=a+aa+aaa+...+aa...a之值,其中 a是一个数字。
例如2+22+222+2222( 此时a=2,n=4),a和n均由键盘输入。
解法:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a=0,n=0,Sn=0,Tn=0;
int i=1;
printf("please enter a and n:");
scanf("%d %d",&a,&n);
Tn=a;
for(i=1;i<=n;++i)
{
Sn=Sn+Tn;
Tn=10*Tn+a;
}
printf("the sum is:%d",Sn);
return 0;
}
#include <stdlib.h>
int main()
{
int a=0,n=0,Sn=0,Tn=0;
int i=1;
printf("please enter a and n:");
scanf("%d %d",&a,&n);
Tn=a;
for(i=1;i<=n;++i)
{
Sn=Sn+Tn;
Tn=10*Tn+a;
}
printf("the sum is:%d",Sn);
return 0;
}
0 0
- 07.03-C
- c
- c
- c
- c
- C
- c
- c
- c
- C+
- c
- C
- c
- c
- c
- C
- C
- c
- 2-5sele1,sele2,seleN选择器
- 关于java比较器
- apache配置虚拟主机域名
- 美观热门Java实习个人简历
- APICloud的config.xml应用配置的说明
- 07.03-C
- APICloud模块的引入、服务器数据对接,APP数据存储方式
- java开发各层对象含义
- 2-6 ance desc选择器
- 231. Power of Two
- 卷积神经网络及其在图像处理中的应用
- MySQL 5.6 for Windows 解压缩版配置安装
- 2017 Indeed-tokyo笔试题-6*6的矩阵放置元素
- java多线程基础总结