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

权威发布e站免费b站推广网站短视频

权威发布e站,免费b站推广网站短视频,太仓做网站,深圳公司 网站建设引言 C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。它在编程语言中具有举足轻重的地位。 此文为【C语言必知必会】系列第八篇,进行C语言循环结构的专项练习,结合专题优质题目,带领读者从0开始&#xff0…

引言

C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。它在编程语言中具有举足轻重的地位。
此文为【C语言必知必会】系列第八篇,进行C语言循环结构的专项练习,结合专题优质题目,带领读者从0开始,深度掌握知识点。

在这里插入图片描述

文章目录

    • 1️⃣ 前言
    • 2️⃣专项练习
    • 5️⃣总结


1️⃣ 前言

在上一讲中,带领读者掌握了循环结构的相关知识点,由于题目和实践是学习的核心,所以开展专项练习十分重要。

在本讲中,将深入剖析几个经典的C语言循环结构练习带领读者在理论结合实际的基础上更好地学习、吸收、掌握C语言。


2️⃣专项练习

在循环结构的学习中我们主要学习while、do…while、for三种循环。常用的三种循环结构学习的重点在于弄清它们相同与不同之处,以便在不同场合下使用。

在这里插入图片描述

一个通用的解题思路如下:

在C语言中,循环结构通常用于重复执行一段代码,直到满足特定条件为止。下面是一种通用的解题思路,适用于很多循环问题:

1.首先需要明确何时应该终止循环。这个条件可以是一个比较表达式、逻辑表达式或其他能够计算为布尔值的表达式。

2.在进入循环之前,要初始化用于控制循环的变量。这个变量在循环的迭代过程中会不断更新。

3.循环体是被重复执行的代码块。它包含了解题的主要逻辑,并且会根据实际情况更新循环变量。

4.在每次循环迭代结束时,要对循环变量进行更新操作。这样可以使循环朝着终止条件逐渐演进。

下面是一个简单的示例,展示了如何使用循环结构计算1到10的累加和:

#include <stdio.h>int main() {int sum = 0; // 用于存储累加和的变量int i; // 控制循环的变量for (i = 1; i <= 10; i++) {sum += i; // 累加当前的数到sum变量}printf("1到10的累加和为:%d\n", sum);return 0;
}

在这个示例中,我们使用了for循环来重复执行累加操作。循环条件为i <= 10,即当i的值小于等于10时,继续循环。循环体中的代码是将当前的数累加到sum变量中。每次循环结束时,i会自增1,从而逐渐迭代到11,退出循环。

这个通用的解题思路可以帮助你处理很多循环问题,无论是求和、查找、遍历数组还是其他类型的算法。

以上是一个通用的解题思路,仍需根据具体问题的要求进行适当的调整和扩展。

接下来,让我们开始本节课程的专题练习,读者需要躬身实践来掌握。


第一题:求1!+2!+……+n!

解题思路如下:

使用二重循环做题,先使 i1 遍历到 n,再使 j1 遍历到 i ,进行相乘

下面是具体的代码实现:

#include <stdio.h>
int main()
{int n,i,j,sum=1,sum1=0;scanf("%d",&n);for(i=1;i<=n;i++){for(j=1;j<=i;j++){sum*=j;}sum1+=sum;}printf("%d",sum1);}

注意,上面这个代码块有一个致命的错误:没有将sum进行重置。

在每次内层循环前,要将sum变量重置为1,以确保每次内层循环都从1开始计算阶乘。否则,sum会一直累积上一次循环的结果。

修正后的代码如下:

#include <stdio.h>int main() {int n, i, j, sum = 1, sum1 = 0;scanf("%d", &n);for (i = 1; i <= n; i++) {sum = 1; // 重置sum为1for (j = 1; j <= i; j++) {sum *= j; // 计算阶乘}sum1 += sum; // 累加阶乘结果}printf("%d\n", sum1);return 0;
}

程序运行结果如下:

在这里插入图片描述

至此,第一题已解题结束。


第二题:计算

要求:(1)最后一项小于10的-6次方停止。(2) 用for语句实现循环。

解题思路

1/i 的形式,并且i以2为单位自增。同时要确保1进行正负交替。

代码实现:

#include <stdio.h>int main() {int i;
double a=-1.0,x,sum=0.0;for(i=1;;i+=2){a=-a;  //1进行正负交替x=a/i;if(x<1e-6)  //逻辑判断,跳出循环{break;}sum+=x;}printf("%lf",sum);return 0;
}

程序运行结果:

在这里插入图片描述

至此,第二题已解题完毕。


第三题:

在这里插入图片描述

解题思路

密码只允许输入3次,则使用循环来使用scanf;

如果在第3次或3次以内输入正确,则输出welcome,否则输出Bye

代码实现

#include <stdio.h>int main() {int x=11;  //正确密码int a,i;for(i=1;i<=3;i++)
{scanf("%d",&a);  //输入密码if(a==x){printf("Welcome!");  //如果正确,直接跳出循环break;}if(i==3)   //第三次还是不能达到if的条件时,输出break
{printf("break");
}	}return 0;
}

注意:判断数值是否相等时需要使用的运算符为== 而不是=

程序运行结果:

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

至此,第三题已解题完毕。


第四题:打印所示图形

要求:输入n代表图形所占的行数

在这里插入图片描述

解题思路

使用两个嵌套的 for 循环来控制每行的输出。外层循环控制行数,内层循环控制每行中的列数。

内层循环中的第一个循环用于输出空格,以对齐三角形。它根据当前行数和总行数之间的差值来确定需要打印的空格数。

内层循环中的第二个循环用于输出等边三角形的边。它打印 (2 * i - 1) 个星号,其中 i 是当前行数。

最后,使用 printf(“\n”) 来打印换行符,以继续下一行的输出。

代码实现

首先我们确保每一行的*能被打印出来:

#include <stdio.h>int main() {int hang;printf("请输入行数:");scanf("%d", &hang);for (int i = hang; i >= 1; i--) {for (int k = 1; k <= 2 * i - 1; k++) {printf("*"); // 打印三角形的边}printf("\n"); // 打印换行}return 0;
}

接着我们确保输出空格,以对齐三角形:

#include <stdio.h>int main() {int hang;printf("请输入行数:");scanf("%d", &hang);for (int i = hang; i >= 1; i--) {for (int j = 1; j <= hang - i; j++) {printf(" "); // 打印空格来对齐}for (int k = 1; k <= 2 * i - 1; k++) {printf("*"); // 打印三角形的边}printf("\n"); // 打印换行}return 0;
}

程序运行结果:

在这里插入图片描述

自此,第四题已解题完成。


现在让我们看看第五题:

第五题:计算

在这里插入图片描述

解题思路

分子/分母的形式,分子看成以1为增量的阶乘,分母看成以2为增量的阶乘。

代码实现

#include <stdio.h>int main() {int i = 1;double sum = 0.0;double fenzi = 1.0;double fenmu = 1.0;while (fenzi / fenmu >= 1e-6){sum += fenzi / fenmu;fenzi *= i;                   // 计算分子的阶乘fenmu *= (i * 2 + 1);       // 计算分母的阶乘i++;}printf("%lf", sum);return 0;
}

程序运行结果:

在这里插入图片描述

至此,第五题已解题完成。


5️⃣总结

此文为 【C语言你还没卷起来?】系列之第八篇 ,通过以题代练的形式带领读者掌握C语言的循环结构,带领读者从0开始,深度掌握知识点。

以题代练对于C语言的学习是十分重要的,专栏将持续提供优质C语言编程题与理论课的学习,带领读者全方位掌握C语言,读者可订阅专栏持续跟进。

http://www.tj-hxxt.cn/news/94878.html

相关文章:

  • 郑州动力无限网站建设seo网络优化是什么工作
  • 苏州专业做网站公司电话小红书sem是什么意思
  • 深圳网站开发制作什么是搜索引擎优化的核心
  • 广元做网站淘宝店铺推广方式有哪些
  • 高校微信网站建设情况汇报长尾关键词查询
  • 网站分析怎么做seo搜索引擎优化的内容
  • 信息网络公司经营范围东莞市网络seo推广服务机构
  • 长治市住房保障和城乡建设管理局网站全自动引流推广软件app
  • 帮人做网站一个多少钱百度产品大全入口
  • 网站内页是什么广州seo关键词优化费用
  • 怎么查网站做404页面没百度竞价推广开户内容
  • 做b2b比较好的网站有哪些网站关键词排名手机优化软件
  • 彩票销信 网站怎么做网络营销与网站推广的
  • 爱民网站制作百度搜索热度指数
  • 做公司网站大概多少钱bing搜索引擎国际版
  • WordPress分类目录 前100篇seo的工具有哪些
  • 网站建设方案平台架构营销型网站建设步骤
  • 微信公众号 链接微网站网购网站十大排名
  • 北京公司注册网站全国疫情高峰感染进度查询
  • 做网页到哪个网站找素材靠网络营销火起来的企业
  • 湖北网站制作公司的联系方式100个电商平台
  • 网站登录 效果代码软件开发培训学校
  • 网站首页建设中页面头条热点新闻
  • 东莞住房建设网站的网锦州seo推广
  • 买域名做网站表白seo的内容怎么优化
  • 苏州高端网站设计机构个人发布信息免费推广平台
  • 永久免费生成app网站临沂百度代理公司有几个
  • 设计做网站香港域名注册网站
  • 天津建设监理协会网站深圳seo网站优化公司
  • thinkphp5 做网站网络营销软件下载