当前位置: 首页 > news >正文

嵌入式初学-C语言-练习三

#部分题目可能在之前的博客中有,请谅解,保证常见题型均被发出#

1.计算n以内所有正奇数的和 ? n值通过键盘输入

代码:

  1 /*2  需求:计算n以内所有正奇数的和 ? n值通过键盘输入3 */4 #include <stdio.h>5 6 int main()7 {8     int sum = 0;9     int a = 0;10 11     printf("请输入一个正值:");12     scanf("%d",&sum);13 14     for(int i = 1;i <= sum;i++)15     {16         if(i % 2 != 0)17         {18             a += i;19         }20     }21 22     printf("正奇数和为:%d\n",a);23 24     return 0;25 }
​结果:

2.计算 1 + 1/(2 * 3) + 1/(3 * 4) + ...+ 1/(n * (n + 1)) = ?直到最后一相值小于0.00001为至。

代码:

  1 /*2   计算 1+1/(2*3)+1/(3*4)+...+1/(n*(n+1))=?直到最后一相值小于0.00001为至。3 */4 #include <stdio.h>5 6 int main()7 {8     double sum = 1.0;9     double i = 1.0;10     do11     {12 13        sum = sum + 1.0 / ((i + 1) * (i + 2));14        i++;15 16     }while(1.0 / ((i + 1) * (i + 2)) >= 0.00001);17 18 19     printf("%lf\n",sum);20 21     return 0;22 }
​

结果:

3.计算1+1/2 - 1/3 + 1/4 - 1/5 ...+1/n= ? n通过键盘输入

代码:

  1 /*2   需求:计算1+1/2 - 1/3 + 1/4 - 1/5 ...+1/n= ? n通过键盘输入3 */4 #include <stdio.h>5 6 int main()7 {8     int a;9     int b = 2;10     double sum = 1;    //找出题目的关系为1加上n分之1,再减n+1分之1,将算是前1直接赋给sum,利于找出关系表达式11     printf("请输入一个数字:\n");12     scanf("%d",&a);13 14     do15     {16         if(b % 2 == 0)  //题目可知被二整除为加号17         {18             sum += 1.0 / b;19         }20         else            //不被二整除为减号21         {22             sum -= 1.0 / b;23         }24         b++;25     }while(b <= a);   //当b大于输入值时跳出循环26 27         printf("输出的值为:%f\n",sum);28 29 30 31     return 0;32 }
​

结果:

4.计算n的阶乘 ? n! = 123.....*n n值通过键盘输入

代码:

  1 /*2  需求:计算n的阶乘 ? n! = 123.....*n n值通过键盘输入3 */4 #include <stdio.h>5 6 int main()7 {8     int b = 0,sum = 1;   //sum要算乘法所以赋值不能为09     printf("请输入一个整数数值:");10     scanf("%d",&b);11 12     for(int a = 1;a <= b;a++)   //当a循环到大于输入值b时停止循环13     {14         sum *= a;   //等价于 sum = sum * a15     }16 17     printf("你输入的数值%d的阶乘为%d\n",b,sum);18 19     return 0;20 }
​

结果:

5.输出半径为1~10的圆面积,面积大于100时停止

代码:

  1 /*2   需求:输出半径为1~10的圆面积,面积大于100时停止3 */4 #include <stdio.h>5 6 int main()7 {8     double s = 1.0;9     int r = 1;10     double PI = 3.1415926;11     while(1)        //当前循环为死循环,但是是可控制死循环12     {13         s = PI * r * r;   //圆的面积=pi×r×r14         r++;15         if(s > 100)16         {17             break;   //面积大于100,提前跳出,不再输出18         }19         printf("当前圆的面积为:%.3f\n",s);  //每次输出圆的面积20     }21 22     printf("输出结束!\n");23 24     return 0;25 }
结果:

6.求输入的十个整数中正数的个数及其平均值

代码:

  1 /*2   需求:求输入的十个整数中正数的个数及其平均值3 */4 #include <stdio.h>5 6 int main()7 {8     int b;9     int d = 0;10     double sum = 0.0;11     double c = 0.0;12 13     for(int a = 1;a <= 10;a++)14     {15         printf("请输入一个数:");16         scanf("%d",&b);17 18         if(b >= 0)19         {20             sum = sum + b;21             d++;22         }23     }24 25     c = sum / d;26     printf("您输入的正数共%d个\n",d);27     printf("输入数的均值为:%.2f\n",c);28 29     return 0;30 }
​

结果:

7.打印出100以内能整除7之外的的自然数

代码:

  1 /*2   需求:打印出100以内能整除7之外的的自然数3 */4 #include <stdio.h>5 6 int main()7 {8     for(int a = 1;a <= 100;a++)9     {10         if(a % 7 ==0)   //如果能被7整除则输出11         {12             printf("%d ",a);  //每满足一个打印一次,并且空格13         }14     }15 16     printf("\n");  //回车保证美观性17 18     return 0;19 }20 
​

结果:

8.打印乘法表

代码:

  1 /**2   *嵌套循环案例:九九乘法表3 */4 #include <stdio.h>5 6 int main()7 {8     //九九乘法表,总共9行,列数受行数影响,涉及行列首选双重嵌套for循环。9     //for循环,外层循环控制行数,内层控制列数10 11     //外层控制行:912     for(int i = 1;i <= 9;i++)13     {14         //内层循环控制列:9,列小于等于当前行15         for(int j = 1;j <= i;j++)16         {17             //生成当前行中所有乘法序列18             printf("%d×%d=%d ",j,i,i*j);19         }20 21         printf("\n");//每一行结束需要换行    22 23     }24     printf("\n");25 26     return 0;27 }
​

结果:

作业9

‘. 我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三 值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?’

代码:

  1 /*2   需求:我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?3 */4 #include <stdio.h>5 6 int main()7 {8     int man;     //公鸡9     int woman;   //母鸡10     int son;     //雏鸡11 12     for(man = 0;man < 20;man++) //公鸡最多买20只,所以买100只鸡不可能大于20只公鸡13     {14         for(woman = 0;woman < 33;woman++)  //最多33只母鸡,买100只鸡不可能大于33只母鸡15         {16             for(son = 0;son < 100;son++)//买100只鸡不可能大于100只小鸡17             {18                 if(man*5 + woman*3 + son/3 ==100 && man + woman + son ==100 && son%3 ==0)19                 {20                     printf("公鸡:%d只,母鸡:%d只,雏鸡:%d只\n",man,woman,son);21                 }22             }23         }24     }25 26     printf("\n");27 28     return 0;29 }

结果:

10.从键盘上输入多个无符号整型数据,直到 0 结束 ,输出所输入数据中的最大值。

代码:

  1 /*2   需求:从键盘上输入多个无符号整型数据,直到 0 结束 ,输出所输入数据中的最大值。3 */4 #include <stdio.h>5 6 int main()7 {8     int max = 0;9     int i = 1;10 11     while(1)12     {13         printf("请输入无符号整型数据:");14         scanf("%d",&i);15 16         if(i == 0)17         {18             break;      //循环为死循环,当i=0时控制循环结束19         }20         else if(i <= 0)21         {22             continue;       //如果输入小于0,跳过本次循环23         }24         else if(i > max)25         {26             max = i;    //将输入最大值赋给max27         }28 29     }30 31     printf("您输入数值中最大值为:%d\n",max);32 33     return 0;34 }

结果:

11.判断一个数是不是回文数。

代码:

  1 /*2   需求:判断一个数是不是回文数3 */4 #include <stdio.h>5 6 int main()7 {8     int a, b;9     int num = 0;10     printf("请输入一个整数: ");11     scanf("%d", &a);12 13     b = a;14 15     while (b!= 0)16     {17         num = num * 10 + b % 10; //实现反转18         b /= 10;19     }20 21     if (a == num) {22         printf("%d 是回文数\n", a); //如果输出的和输入的数相同23     }24     else25     {26         printf("%d 不是回文数\n", a);27     }28 29     return 0;30 }

结果:

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【51单片机仿真】基于51单片机设计的整数/小数计算器系统仿真源码文档——文末资料下载
  • Leetcode第136场双周赛题解(c++)
  • 云原生应用程序简介
  • 《计算机网络》(第8版)第1章 概述 复习笔记
  • 【JavaScript】栈功能(先进后出)
  • WebSocket 协议介绍
  • 谷粒商城实战笔记-103~104-全文检索-ElasticSearch-Docker安装ES和Kibana
  • 什么是嵌入式
  • uniapp中实现语音识别(app+小程序)
  • C++解决:早餐组合
  • 抽象代数精解【4】
  • Web开发:用C#的逻辑理解VUE语法(VUE + Webapi小白开发笔记)
  • k8s安装ingress-nginx
  • [H贪心] lc100376. 新增道路查询后的最短距离 II(贪心+读题+代码实现+周赛409_3)
  • web3 solana
  • ----------
  • 分享的文章《人生如棋》
  • 《Javascript数据结构和算法》笔记-「字典和散列表」
  • CentOS 7 防火墙操作
  • Computed property XXX was assigned to but it has no setter
  • ESLint简单操作
  • Java方法详解
  • jquery ajax学习笔记
  • leetcode46 Permutation 排列组合
  • Linux中的硬链接与软链接
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • SpringBoot几种定时任务的实现方式
  • 基于web的全景—— Pannellum小试
  • 前端临床手札——文件上传
  • 前嗅ForeSpider教程:创建模板
  • 驱动程序原理
  • 收藏好这篇,别再只说“数据劫持”了
  • 微信小程序设置上一页数据
  • 正则表达式
  • 字符串匹配基础上
  • 400多位云计算专家和开发者,加入了同一个组织 ...
  • mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...
  • 移动端高清、多屏适配方案
  • #【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • (02)vite环境变量配置
  • (11)MSP430F5529 定时器B
  • (3) cmake编译多个cpp文件
  • (7) cmake 编译C++程序(二)
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (第9篇)大数据的的超级应用——数据挖掘-推荐系统
  • (分布式缓存)Redis持久化
  • (分享)一个图片添加水印的小demo的页面,可自定义样式
  • (附源码)c#+winform实现远程开机(广域网可用)
  • (附源码)springboot高校宿舍交电费系统 毕业设计031552
  • (紀錄)[ASP.NET MVC][jQuery]-2 純手工打造屬於自己的 jQuery GridView (含完整程式碼下載)...
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • (转)fock函数详解
  • (转)Linux NTP配置详解 (Network Time Protocol)