2020-8-5上机实践——迭代。

1 问题及代码

/*
*Copyright (c)2020,CSDN学院
*All rights reserved.
*文件名称:main.c
*作    者:李先声
*完成日期:2020年8月3日
*版 本 号:v1.0
*问题描述:【项目1:另类求和】
求 Sn=a+aa+aaa+...+aa...a之值,其中 a是一个数字。
例如2+22+222+2222( 此时a=2,n=4),a和n均由键盘输入。
*/


#include <stdio.h>

int main( )

{

    int a,n,count=1,Sn=0,Tn=0;

    printf("请输入 a 和 n 的值:\n");

    scanf("%d %d",&a,&n);

    while (count<=n)

    {

        Tn=Tn*10+a;

        Sn=Sn+Tn;

        count++;

    }

    printf("a+aa+aaa+...=%d\n",Sn);

    return 0;

}
/*
*Copyright (c)2020,CSDN学院
*All rights reserved.
*文件名称:main.c
*作    者:李先声
*完成日期:2020年8月3日
*版 本 号:v1.0
*问题描述:【项目2:反弹的皮球】
一球从的100米高度自由落下,每次落地后反跳回原来高度的一半,
再落下,求它在第十次落地时,共经过多少米?第十次反弹多高?
*/



#include <stdio.h>

int main( )

{

    float sn=100.0,hn=sn/2;

    int n;

    for (n=2; n<=10; n++)

    {

        sn=sn+2.0*hn;

        hn=hn/2;

    }

    printf("第10次落地时共经过%f米\n",sn);

    printf("第10次反弹%f米\n",hn);

    return 0;

}
/*
*Copyright (c)2020,CSDN学院
*All rights reserved.
*文件名称:main.c
*作    者:李先声
*完成日期:2020年8月3日
*版 本 号:v1.0
*问题描述:【项目3:求Bessel函数】

*/



#include <stdio.h>
#include<math.h>

int main( )

{

    double x,J0,J1,Jn;

    int i,n;
    printf("请输入任意的n和x(x!=0):");
    scanf("%d,%lf",&n,&x);
    J0=sin(x)/x;
    J1=sin(x)/x/x-cos(x)/x;

    for (i=2; i<=n; i++)

    {

        Jn=(2*i-1)/x*J1-J0;
        J1=Jn;
        J0=J1;

    }

    printf("Jn=%lf\n",Jn);


    return 0;

}
/*
*Copyright (c)2020,CSDN学院
*All rights reserved.
*文件名称:main.c
*作    者:李先声
*完成日期:2020年8月3日
*版 本 号:v1.0
*问题描述:【项目4:贪财的富翁】
一个百万富翁遇到一个陌生人,陌生人找他谈一个换钱的计划,该计划如下:
我每天给你十万元,而你第一天只需给我一分钱,第二天我仍给你十万元,
你给我两分钱,第三天我仍给你十万元,你给我四分钱,....,
你每天给我的钱是前一天的两倍,直到满一个月(30天),
百万富翁很高兴,欣然接受了这个契约。
请编程序,通过计算说明,这个换钱计划对百万富翁是否是个划算的交易。
提示:(1)需要计算出30天后陌生人给了百万富翁多少钱,百万富翁给了陌生人多少钱,然后才能做出判断;
      (2)想要看得清楚,可以选择列出每一天双方交易获得的钱数。
*/

#include <stdio.h>

int main( )

{

    printf("第1天,陌生人给富翁累计:100000.00,富翁给陌生人累计:0.01\n");
    double an=100000,bn=0.01;
    int i,n=30;
    for (i=2; i<=n; i++)

    {
        an=an+100000.0;
        bn=bn*2.0;
        printf("第%d天,陌生人给富翁累计:%.2lf,富翁给陌生人累计:%.2lf\n",i,an,bn);
    }
    printf("最终,陌生人给富翁累计:%.2lf,富翁给陌生人累计:%.2lf\n",an,bn);
    if(an>bn)
    {
        printf("陌生人自以为是,富翁占便宜了!\n");
    }
    else
    {
        if(an<bn)
        {
            printf("富翁没头脑,占小便宜吃大亏!\n");
        }
        else
        {
            printf("两人谁也没占对方的便宜!\n");
        }
    }
    return 0;
}
/*
*Copyright (c)2020,CSDN学院
*All rights reserved.
*文件名称:main.c
*作    者:李先声
*完成日期:2020年8月3日
*版 本 号:v1.0
*问题描述:【项目5:在北京买房】
现在北京有一套房子,价格200万,假设房价每年上涨10%,
一个软件工程师每年固定能赚40万。如果他想买这套房子,
不贷款,不涨工资,没有其他收入,每年不吃不喝不消费,
那么他需要几年才能攒够钱买这套房子?。
*/
#include <stdio.h>
int main( )
{
    double an=50.0,bn=200.0;
    int year;

    for (year=0; year<=80 && an<bn; year++)
    {
        an=an+50.0;
        bn=bn*1.1;
        printf("第%d年末,这位北漂攒了%lf万元,房子值%lf万元。\n",year+1,an,bn);
    }
    if(year>80)
    {
        printf("计划失败!根本买不起!\n");
    }
    else
    {
        printf("买这套北京的房子需要%d年。\n",year);
        printf("第%d年末,北京这套房子的价格为:%lf万元。\n",year,bn);
        printf("第%d年末,这位北漂攒了%lf万元。\n",year,an);
    }
    return 0;
}

  

2 运行结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值