C语言循环结构程序设计

举报
鸣海步 发表于 2022/04/19 21:24:00 2022/04/19
【摘要】 第1关:小球自由落体运动任务描述一球从M米高度自由下落,每次落地后返回原高度的一半,再落下。 它在第N次落地时反弹多高?共经过多少米? 结果保留两位小数。相关知识(略)编程要求根据提示,在右侧编辑器Begin-End处补充代码,并按照要求完成本关任务。输入从键盘输入M和N的值。输出它在第N次落地时反弹多高?共经过多少米? 保留两位小数,空格隔开,放在一行。测试说明平台会对你编写的代码进行测试...

第1关:小球自由落体运动

任务描述

一球从M米高度自由下落,每次落地后返回原高度的一半,再落下。 它在第N次落地时反弹多高?共经过多少米? 结果保留两位小数。

相关知识(略)

编程要求

根据提示,在右侧编辑器Begin-End处补充代码,并按照要求完成本关任务。

输入
从键盘输入M和N的值。

输出
它在第N次落地时反弹多高?共经过多少米? 保留两位小数,空格隔开,放在一行。

测试说明

平台会对你编写的代码进行测试,若是与预期输出相同,则算通关。
样例输入:
1000 5
样例输出:
31.25 2875.00

#include<stdio.h>
 
int main(){
    int i,b;
    double high,sum=0.0;
    scanf("%lf %d",&high,&b);
    for(i=1;i<=b;i++){     //用for()循环来模拟反弹的过程,
                              //注意不要忘了最后的反弹反弹高度以及开始落下的距离
                             //其他的中间过程都是两倍的反弹高度。
        if(i==1){            
            sum+=high;        //第一次落地时
        }
        else{
            sum+=high*2;      //中间过程都是两倍的反弹高度。
        }
        high=high/2;        //反弹高度
    }
    printf("%.2lf %.2lf",high,sum);
    return 0;
}
2:求解出n以内所有能被5整除的正整数的乘积
任务描述

本关任务:求解出n以内(包含n)所有能被5整除的正整数数的乘积s。

相关知识(略)

编程要求

根据提示,在右侧编辑器Begin-End处补充代码,求解出n以内(包含n)所有能被5整除的正整数数的乘积s

输入
输入包含多个样例,每个样例一个正整数n,占一行。读取到文件结尾。输入的n不超过100。

输入格式

scanf("%d", &n)
输出
对于每个样例n,输出n以内(包含n)所有能被5整除的正整数的乘积。
输出格式

printf("%d\n", s);

测试说明

平台会对你编写的代码进行测试,若是与预期输出相同,则算通关。
样例输入:
19
样例输出:
750

#include<stdio.h>
    int main(void)
    {  
      /*********Begin*********/
      int n,s=1,i;
      scanf("%d", &n) ;
      for(i=5;i<=n;i+=5)
      {
          s*=i;
      }
      
      printf("%d\n", s);
      /*********End**********/ 
       return 0;
    }
3.最大公约数和最小公倍数
任务描述

本关任务:输入两个正整数m和n,求其最大公约数和最小公倍数。

相关知识(略)

编程要求

根据提示,在右侧编辑器Begin-End处补充代码,输入两个正整数m和n,求其最大公约数和最小公倍数。

输入
从键盘上任意输入两个数。

输出
分两行输出,第一行输出:最大公约数是多少;第二行输出最小公倍数是多少。

测试说明

平台会对你编写的代码进行测试,若是与预期输出相同,则算通关。
样例输入:
2 3
样例输出:
最大公约数是:1
最小公倍数是:6

#include <stdio.h>
int main()
{
    int a,b,c,d,e;
    
    scanf("%d%d",&a,&b);
    if(a<b)
    {
        e=a;
        a=b;
        b=e;
    }
    d=a*b;
    c=a%b;
    while(c!=0)
    {
        a=b;
        b=c;
        c=a%b;
    }
    printf("最大公约数是:%d\n",b);
    printf("最小公倍数是:%d\n",d/b);
    return 0; 
}
4:字符串中各类字符数的统计
本关任务:输入一行字符,分别统计出其中英文字母、数字、空格和其他字符的个数。

相关知识(略)

编程要求

根据提示,在右侧编辑器Begin-End处补充代码,输入一行字符,分别统计出其中英文字母、数字、空格和其他字符的个数。

输入
一行字符。
输出
统计每种字符的个数值。

测试说明

平台会对你编写的代码进行测试,若是与预期输出相同,则算通关。
样例输入:
aklsjflj123 sadf918u324 asdf91u32oasdf/.';123
样例输出:
23 16 2 4

#include<stdio.h>  
    int main(void)  
    {    
      /*********Begin*********/  
      char c;  
      int a=0,b=0,e=0,d=0;  
      while((c=getchar())!='\n')  
      {  
      if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))  
       {a++;}  
       else if(c>='0'&&c<='9')  
       {b++;}  
       else if(c==' ')  
       {e++;}  
       else   
       {d++;}  
      }  
       printf("%d %d %d %d\n",a,b,e,d);  
      /*********End**********/   
       return 0;  
    }


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。