0
点赞
收藏
分享

微信扫一扫

C语言——小球自由下落、给一个不多于5位的正整数,求它是几位数并且逆序打印出各位数字。

崭新的韭菜 2022-03-27 阅读 80
c语言

 

目录

一、小球自由下落 

题目要求

程序分析

代码实现

结果如下

二、求位数并且逆序输出 

题目分析

程序分析

代码实现

结果如下


一、小球自由下落 

题目要求

一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?

程序分析

看注释 。

代码实现

#include<stdio.h>
int main()
{
    float h,s;
    h=s=100;
    h=h/2; //第一次反弹高度
    for(int i=2;i<=10;i++)
    {
        s=s+2*h;
        h=h/2;
    }
    printf("第10次落地时,共经过%f米,第10次反弹高%f米\n",s,h);
    return 0;
}

结果如下

二、求位数并且逆序输出 

题目分析

给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。

程序分析

学会分解出每一位数,如下解释。

代码实现

#include <stdio.h>
 
int main( )
{
    long a,b,c,d,e,x;
    printf("请输入 5 位数字:");
    scanf("%ld",&x);
    a=x/10000;        /*分解出万位*/
    b=x%10000/1000;   /*分解出千位*/
    c=x%1000/100;     /*分解出百位*/
    d=x%100/10;       /*分解出十位*/
    e=x%10;           /*分解出个位*/
    if (a!=0){
        printf("为 5 位数,逆序为: %ld %ld %ld %ld %ld\n",e,d,c,b,a);
    } else if(b!=0) {
         printf("为 4 位数,逆序为: %ld %ld %ld %ld\n",e,d,c,b);
    } else if(c!=0) {
         printf("为 3 位数,逆序为:%ld %ld %ld\n",e,d,c);
    } else if(d!=0) {
         printf("为 2 位数,逆序为: %ld %ld\n",e,d);
    } else if(e!=0) {
         printf("为 1 位数,逆序为:%ld\n",e);
    }
}

结果如下

 

举报

相关推荐

C++ 求 3 位整数各位数字之和

0 条评论