C语言期末集训3(大一,超基础,小猫猫大课堂配套练习)——循环结构

news2025/6/24 23:38:43

 更新不易,麻烦多多点赞,欢迎你的提问,感谢你的转发,

最后的最后,关注我,关注我,关注我,你会看到更多有趣的博客哦!!!

喵喵喵,你对我真的很重要。 

大一上程序设计期末复习,超基础,小猫猫大课堂配套练习。

目录

前言

while循环语句

折叠编辑本段do-while语句

折叠编辑本段for语句

折叠编辑本段三种语句比较

求1+2+3+...+100之和

方法1:dwhile()

方法2: do...while()

要求输出100~200的不能被3整除的数

输出以下4*5的矩阵

输出100-200所有不能被3整除的数,并统计这些数的个数

输出所有的玫瑰花数

输入m和n两个正整数求最大公约数和最小公倍数

输人一行字符,分别统计出其中英文字母、空格、 数字和其他字符的个数。

5.求Sn=a十aa+ aaa+...+a...a之值,其中a是一个数字,n表示a的位数,n由键盘输入例如:2+22十222十2222十22222(此时n=5)

同类型题,升级版1

同类型题,升级版2

老朋友,星号菱形

用双重循环,输出矩形(星号),每个图形输出5行

总结


前言

水字数,不然csdn要建议,小朋友需要可以看看,帮助理解

C语言循环控制语句是一个基于C语言的编程语句,该语句主要有while循环语句、do-while循环语句和for循环语句来实现循环结构。

while循环语句

一般形式如下:

while(表达式)

语句;

其中执行过程如下:正在上传…重新上传取消while语句

(1)计算while后面括号里表达式的值,若其结果非0,则转入(2),否则转(3)

(2)执行循环体,转(1)

(3)退出循环,执行循环体下面的语句。

由于是先执行判断后执行循环体,所以循环体可能一次都不执行。

循环体可以为空语句";"。

折叠编辑本段do-while语句

一般形式如下:

do

语句;

while(表达式);

(1)执行循环体,转(2)正在上传…重新上传取消do...while语句https://so1.360tres.com/t01fca9c92e175e20d4.jpg

(2)计算while后面括号里表达式的值,若其结果非0,则转入(1),否则转(3)

(3)退出循环,执行循环体下面的语句。

注意:do……while语句最后的分号(;)不可少,否则提示出错。循环体至少执行一次。

折叠编辑本段for语句

for语句是循环控制结构中使用最广泛的一种循环控制语句,特别适合已知循环次数的情况。

一般形式如下:

for ( [表达式 1]; [表达式 2 ]; [表达式3] )

语句

其中:

表达式1:一般为赋值表达式,给控制变量赋初值;正在上传…重新上传取消for语句https://so1.360tres.com/t01389352673bc08e9a.jpg

表达式2:关系表达式或逻辑表达式,循环控制条件;

表达式3:一般为赋值表达式,给控制变量增量或减量;

语句:循环体,当有多条语句时,必须使用复合语句。

其执行过程如下:首先计算表达式1,然后计算表达式 2。若表达式2为真,则执行循环体;否则,退出 for循环,执行for循环后的语句。如果执行了循环体,则循环体每执行一次,都计算表达式3,然后重新计算表达式2,依此循环,直至表达式 2的值为假,退出循环。

for语句的三个表达式都是可以省略的,但分号";"绝对不能省略。for语句有以下几种格式:

(1)for(; ;) 语句;

(2)for(;表达式2;表达式3 ) 语句;

(3)for(表达式1;表达式2;) 语句;

(4)for(i=1,j = n; i < j; i ++,j - - ) 语句;

折叠编辑本段三种语句比较

同一个问题,往往既可以用 while语句解决,也可以用 do-while或者for语句来解决,但在实际应用中,应根据具体情况来选用不同的循环语句。选用的一般原则是:

(1) 如果循环次数在执行循环体之前就已确定,一般用 for语句。如果循环次数是由循环体的执行情况确定的,一般用 while语句或者do- while语句。

(2) 当循环体至少执行一次时,用 do-while语句,反之,如果循环体可能一次也不执行,则选用while语句。

C++/C循环语句中,for语句使用频率最高,while语句其次,do语句很少用。

三种循环语句for、while、do-while可以互相嵌套自由组合。但要注意的是,各循环必须完整,相互之间绝不允许交叉。


求1+2+3+...+100之和

方法1:dwhile()

#include<stdio.h>
int main()
{
	int i=1,sum=0;
	while(i<=100)
	{
		sum=sum+i;
		i++;
	 } 
	 printf("sum=%d",sum);
	return 0;
 } 

方法2: do...while()

#include<stdio.h>
int main()
{
	int i=1,sum=0;
	do
	{
		sum=sum+i;
		i++; 
	}while(i<=100);//记得填i的范围哦!
	printf("%d",sum);
	return 0;
 } 

要求输出100~200的不能被3整除的数

#include<stdio.h>
int main()
{
	int n;
	for(n=100;n<=200;n++)
	{
		if(n%3==0)
		continue;//有时并不希望终止整个循环的操作,而只希望提前结束本次循环,而接着执行下次循环,可以使用continue。 
		printf("%d ",n);
	}
	printf("\n");
	return 0;
 } 

输出以下4*5的矩阵

#include<stdio.h>
int main()
{
	int i,j,n=0;
	for(i=1;i<=4;i++)
	   for(j=1;j<=5;j++,n++)
	   {
	   	if(n%5==0)
	   	
	   		printf("\n");
	   		printf("%d\t",i*j);//  \t讲过,忘了看前几次的习题博客。 
		   }
		
		printf("\n"); 
	return 0;
 } 

输出100-200所有不能被3整除的数,并统计这些数的个数

#include<stdio.h>
int main()
{
	int n,count=0;
	for(n=100;n<=200;n++)
	{
		if(n%3==0)
		continue;
		count++;
	} 
	 printf("count=%d",count);
	return 0;
}

输出所有的玫瑰花数

#include<stdio.h>
int main()
{
	int a,b,c,d,n;
	for(n=1000;n<=9999;n++)
	{
		a=n/1000;
		b=n%1000/100;
		c=n%1000%100/10;
		d=n%1000%100%10;
		if(n==a*a*a*a+b*b*b*b+c*c*c*c+d*d*d*d)
		printf("%d  ",n);
	}
	
	return 0;
}

输入m和n两个正整数求最大公约数和最小公倍数

#include <stdio.h>
int main()
{
	int m=0,n=0,mn=0,i=0,a=0;
	scanf("%d,%d",&m,&n);
	if(m>n)
	mn=n;
	else
	mn=m;
	
	for(i=mn;i>0;i--)
	{
		if(m%i==0&&n%i==0)//最大公因数应该小于等于n和m的较小数,不断进行试错,可得 
		break;
	}
	for(a=mn;a<m*n;a++)
	{
		if(a%m==0&&a%n==0)//最小公倍数应该大于等于n和m的较小数,不断进行试错,可得 
		break;
	}
	printf("最大公因数=%d,最小公倍数=%d",i,a);
	return 0;
}

输人一行字符,分别统计出其中英文字母、空格、 数字和其他字符的个数。

#include <stdio.h>
int main()
{
	
	char a[20];
	int number =0;
	int space  =0;
	int letters=0;
	int other=0;
	while((a[i]=getchar())&&a[6]]!='\n')//getchar作用是读取字符,getchar()的功能最主要是c语言中读取字符的一个函数,能够提取单个字符
	{
		if(a[i]>='0'&&a[i]<='9')
		number++;
		else if(a[i]==' ')
		space ++;
		else if((a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z'))
		letters ++;
		else
		other++;
	}
	printf("英语字母个数为:%d\n",letters);
	printf("数字个数为:%d\n",number);
	printf("空格个数为:%d\n",space);
	printf("其他个数为:%d\n",other);
	return 0;
}

求Sn=a十aa+ aaa+...+a...a之值,其中a是一个数字,n表示a的位数,n由键盘输入例如:2+22十222十2222十22222(此时n=5)

#include<stdio.h>
int main()
{
    double a=2.0,b=1.0;
    double n,sum=0.0,t;
    int i;
    for(i=1;i<=20;i++)
    {
		n=a/b;
		t=a;
		a=a+b;
		b=t;
		sum=sum+n;
	}
	printf("%.10lf",sum);
	return 0;
}

同类型题,升级版1

#include<stdio.h>
int main()
{
	int n1=100,n2=50,n3=10;
	double k,s1=0,s2=0,s3=0;
	for(k=1;k<=n1;k++)
	{
		s1=s1+k;
	}
	for(k=1;k<=n2;k++)
	{
		s2=s2+k*k;
	}
	for(k=1;k<=10;k++)
	{
		s3=s3+1/k;
	}
	printf("%lf",s1+s2+s3);
	return 0;
}

同类型题,升级版2

有一个分数序列

#include<stdio.h>
int main()
{
    double a=2.0,b=1.0;
    double n,sum=0.0,t;
    int i;
    for(i=1;i<=20;i++)
    {
		n=a/b;
		t=a;
		a=a+b;
		b=t;
		sum=sum+n;
	}
	printf("%.10lf",sum);
	return 0;
}

老朋友,星号菱形

 

#include<stdio.h>//菱形写了三遍了,自己还是写不出来,啊————,真是头疼!
int main()
{
	int n,i,j,k;
	scanf("%d",&n);
	for(i=1;i<=n+1;i++)
	{
		for(j=1;j<=n+1-i;j++)
		printf(" ");
		for(k=1;k<=2*i-1;k++)
		printf("*"); 
		printf("\n");
	}
	for(i=1;i<=n;i++)
	{
		for(j=1;j<=i;j++)
			printf(" ");
		for(k=1;k<=(2*n+1)-2*i;k++)
			printf("*");
			printf("\n"); 
	}
	return 0;
}

用双重循环,输出矩形(星号),每个图形输出5行

#include<stdio.h>
#include<math.h>
int main()
{
	int i,j;
	for(i=1;i<=5;i++)
	{
		for(j=1;j<=5;j++)
		{
			printf("*");
		}
		printf("\n");
	}
	return 0;
} 

总结

循环结构,小喵练习得差不多有这些数,有些重复了的,小喵挑拣了些,最近状态不对,小喵会对自己的博客进行再度完善的,希望下一次的小喵会更美好。

更新不易,麻烦多多点赞,欢迎你的提问,感谢你的转发,

最后的最后,关注我,关注我,关注我,你会看到更多有趣的博客哦!!!

喵喵喵,你对我真的很重要。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/110359.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[第十二届蓝桥杯/java/算法]F——时间显示

&#x1f9d1;‍&#x1f393;个人介绍&#xff1a;大二软件生&#xff0c;现学JAVA、Linux、MySQL、算法 &#x1f4bb;博客主页&#xff1a;渡过晚枫渡过晚枫 &#x1f453;系列专栏&#xff1a;[编程神域 C语言]&#xff0c;[java/初学者]&#xff0c;[蓝桥杯] &#x1f4d…

五步法搞定BI业务需求梳理

五步法搞定BI业务需求梳理。高手就是把复杂的事情简单化&#xff0c;简单的东西重复做、认真做。 五步法是哪五步 第一&#xff0c; 明确用户。商业智能BI项目的规划一切以用户需求为导向&#xff0c;首先需要明确各层次的需求用户。用户都不能明确&#xff0c;调研的入口就没…

前端工程化与 webpack:webpack 的基本使用

1. 什么是 webpack 概念&#xff1a;webpack 是前端项目工程化的具体解决方案。 主要功能&#xff1a;它提供了友好的前端模块化开发支持&#xff0c;以及代码压缩混淆、处理浏览器端 JavaScript 的兼容性、性 能优化等强大的功能。 好处&#xff1a;让程序员把工作的重心放…

自动控制原理笔记-信号流图-Mason公式-控制系统的传递函数

目录 信号流图与结构图的比较&#xff1a; 掌握结构图与信号流图的转换&#xff1a; Mason增益公式&#xff1a; 式子详解&#xff1a; 使用Mason增益公式步骤&#xff1a; 使用Mason增益公式的例题&#xff1a; ​编辑 控制系统的传递函数 &#xff1a; 开环传递函数…

当红齐天再捧“绽放杯”金奖:全流程算力网络夯实元宇宙“底座”

近日&#xff0c;由工信部主办的第五届“绽放杯”5G应用征集大赛在深圳落幕。本届大赛以“5G赋能数字化&#xff0c;扬帆助力新征程 ”为主题&#xff0c;超7000家单位的2.8万个项目参赛&#xff0c;共享5G赋能实体经济的新技术、新成果。英特尔联合行业合作伙伴再获佳绩。 其…

java ssm热带水果网上商城系统--

目录 第一章 绪论 5 1.1 研究背景 5 1.2系统研究现状 5 1.3 系统实现的功能 6 1.4系统实现的特点 6 1.5 本文的组织结构 6 第二章开发技术与环境配置 7 2.1 Java语言简介 7 2.2JSP技术 8 2.3 MySQL环境配置 8 2.4 MyEclipse环境配置 9 2.5 mysql数据库介绍 9 2.6 B/S架构 9 第三…

Matter理论介绍-通用-1-06:桥接设备-其他功能

【源码、文档、软件、硬件、技术交流、技术支持&#xff0c;入口见文末】 【所有相关IDE、SDK和例程源码均可从群文件免费获取&#xff0c;免安装&#xff0c;解压即用】 持续更新中&#xff0c;欢迎关注&#xff01; 一、桥接设备的功能更新 桥接设备能够独立与桥接器进行软…

一文带你快速搭建框架(最全MyBatis笔记修改篇)

前言&#xff1a;最近收到小伙伴们的私信说这一篇有点问题&#xff0c;因为我是用Typora搬运笔记没考虑到这个问题&#xff0c;感谢这个小伙伴反映的问题~ 目录 一.概述 1.简介 2.maven构建 二.相关概念 1.Mapper接口 2.ORM思想 三.映射配置文件 1.文件结构 2.映射配…

31. 填充和步幅的代码实现

1. 填充 我们创建一个高度和宽度为3的二维卷积层&#xff0c;并在所有侧边填充1个像素。给定高度和宽度为8的输入&#xff0c;则输出的高度和宽度也是8。 import torch from torch import nn# 为了方便起见&#xff0c;我们定义了一个计算卷积层的函数。 # 此函数初始化卷积层…

互异数

这道题是实验舱举办的"编程一小时"千人马拉松竞赛的第三题! 目录 #C、互异数 题目描述 输入格式 输出格式 输入样例1 输出样例1 输入样例2 输出样例2 数据规模 思路: 1.最大互质数 2.互质数的数量 3.贪心策略 总代码: 总结: 题目链接: #C、互异数 题目…

Typora使用之在腾讯云建立远程图床【多图】

1 安装PicGo PicGo是一款功能非常强大的图床的工具&#xff0c;支持SM.MS、腾讯COS、GitHub图床、七牛云图床、Imgur图床、阿里云OSS等多种图床平台。 下载地址&#xff1a;https://github.com/Molunerfinn/PicGo/releases 一般安装PicGo-Setup-2.3.0-beta.7-ia32.exe。 可以选…

C++模板特化

前言 模板特化对函数和函数都可以使用。它的作用是以某一模板函数或某个模板类为例&#xff0c;大部分情况下需要写的函数或内容是一致的&#xff0c;但是有些特别情况&#xff0c;所以我们需要单独拎出来。 模板参数 模板参数可分为类型形参和非类型形参。 类型形参&#x…

消息中间件(消息队列)

简介 MQ&#xff08;message queue&#xff09;消息队列&#xff0c;也叫消息中间件。消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能&#xff0c;成为异步RPC的主要手段之一。它是类似于数据库一样需要…

残差网络~

搬来这个 给自己学学啊,残差网络解决了什么&#xff0c;为什么有效 从深度神经网络的两大难题入手&#xff0c;说说残差网络的形式化定义与实现&#xff0c;并深入探讨其作用的机制&#xff0c;并结合文献对残差网络有效性进行了一些可能的解释。 残差网络是深度学习中的一个…

【论文阅读】(2020)Knapsack polytopes: a survey(下)

文章目录六、Valid inequalities, separation and computations 有效的不等式&#xff0c;分离和计算七、Complete linear descriptions of particular knapsack polytopes 特定背包多形体的完整线性描述7.1 Extended formulations7.2 Complete linear descriptions 完整的线性…

JavaFx TreeView TreeItem 设置额外属性

在使用JavaFx 编写GUI程序时&#xff0c;不可避免的需要创建一个树组件,下面是一个简单的树组件的代码。 import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.TreeItem; import javafx.scene.control.TreeView; import javafx.s…

clickhouse笔记05--快速部署3节点集群

clickhouse笔记05--快速部署3节点集群1 介绍2 方法步骤2.1 部署 zookeeper 集群2.2 拉起 clickhouse 集群2.3 测试集群3 注意事项4 说明1 介绍 clickhouse笔记01–快速部署clickhouse 介绍了如何快速部署单节点clickhouse服务&#xff0c;本文基于该博文继续介绍如何快速部署3…

Java进阶—JUC编程

1、线程和进程 获取CPU核数 /*** author java小豪* version 1.0.0* date 2022/12/15* description 测试*/ public class Test {public static void main(String[] args) {// 获取CPU核数// CPU 密集型&#xff0c;IO密集型System.out.println(Runtime.getRuntime().available…

响应式营销策划文化传媒公司网站模板源码

模板信息&#xff1a; 模板编号&#xff1a;8071 模板编码&#xff1a;UTF8 模板颜色&#xff1a;蓝色 模板分类&#xff1a;设计、广告、文化、影视 适合行业&#xff1a;影视传媒类企业 模板介绍&#xff1a; 本模板自带eyoucms内核&#xff0c;无需再下载eyou系统&#xf…

qt5实现pdf阅读器(三)——pdfjs

目录 1、参考 2、实现 3、开发记录 1、参考 使用Qt的WebEngine和javascript的pdf.js模块构建的PDF查看器。 参考链接1&#xff1a;GitHub - Archie3d/qpdf: PDF viewer widget for Qt 参考链接2&#xff1a;GitHub - yshurik/qpdfjs: Desktop PDF Viewer based on Qt and…