您的位置:首页 > 娱乐 > 明星 > 嵌入式初学-C语言-练习三

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

2024/10/6 8:07:01 来源:https://blog.csdn.net/MaBaB/article/details/140897497  浏览:    关键词:嵌入式初学-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 }

结果:

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com