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

server/2024/10/21 3:22:17/

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

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 }

结果:


http://www.ppmy.cn/server/95834.html

相关文章

[qt] 线程等待与唤醒

对于生产者与消费者的数据处理的另一种好的解决方法是使用QWaitCondition类,允许线程在一定的条件下唤醒其他多个线程来共同处理。 一 定义公共变量 DataSize: 生产者生产数据的大小BufferSize: 也就是这个缓冲区的大小,每个单元是一个int&#xff0c;也有可能是一个链表,结构…

React(四):DOCX文件在线预览

效果 注意 ⚠️注意&#xff1a;部分文件预览存在问题 依赖 $ yarn add docx-preview $ yarn add jszip源码 import ./index.scss; import {useRef} from react; import type {UploadRequestOption} from rc-upload/lib/interface; import {Upload, Button, message} from an…

写一个MyBatis的plugins,记录完整SQL日志

目录 概览MyBatis PluginsInvocationMappedStatementConfigurationBoundSqlMetaObject 完整示例参考资料 概览 MyBatis的SQL输出日志语句和参数是分开打印的&#xff0c;我们调试时需要将语句和参数再次拼接才能进行测试执行。当遇到长SQL和参数较多时&#xff0c;还原一个SQL往…

C语言基础题:硬币问题(C语言版)

1.题目描述 今有面值为 1、5、11 元的硬币各无限枚。 想要凑出 九 元&#xff0c;问需要的最少硬币数量。 2.输入格式 仅一行&#xff0c;一个正整数 n。 3.输出格式 仅一行&#xff0c;一个正整数&#xff0c;表示需要的硬币个数。 4.输入输出样例 1.输入1&#xff1a; 15 2…

Spring Boot集成RabbitMQ的使用

&#x1f341; 作者&#xff1a;知识浅谈&#xff0c;CSDN签约讲师&#xff0c;CSDN博客专家&#xff0c;华为云云享专家&#xff0c;阿里云专家博主 &#x1f4cc; 擅长领域&#xff1a;全栈工程师、爬虫、ACM算法 &#x1f525; 微信&#xff1a;zsqtcyw 联系我领取学习资料 …

HTTP/2:让网络飞起来

文章目录 一、HTTP/2 的基本概念和背景二、HTTP/2 的主要特性和优势2.1 二进制帧2.2 多路复用2.3 头部压缩2.4 服务器推送 三、HTTP/2 的实现和部署四、HTTP/2 与现有技术的比较五、HTTP/2 与 Web 性能优化六、结束语&#xff1a;让 HTTP/2 助力你的 Web 开发 今天我们来聊聊一…

C# 组合CancellationTokenSource的使用

前言 在异步编程中&#xff0c;经常需要使用CancellationToken来取消任务的执行。 但是通常情况下&#xff0c;一个耗时任务还需要有超时机制。那个如何让一个任务既可以超市自动取消也可以手动取消&#xff1f; 组合CancellationTokenSourced的使用 //创建两个cts(一个手动…

【必看!】阿里云推出QWen-7B和QWen-7b-Chat,开放免费商用!

阿里云于8月3日宣布开源两款重要的大型模型——QWen-7B和QWen-7b-Chat。这两款模型的参数规模达到了令人瞩目的70亿&#xff0c;并且已经在Hugging Face和ModelScope平台上开放&#xff0c;并可免费商用。以下是相关链接&#xff1a; GitHub项目主页&#xff1a;https://githu…