首页 > 其他分享 >C语言 循环高级

C语言 循环高级

时间:2024-11-08 17:47:22浏览次数:3  
标签:main int 质数 高级 C语言 循环 100 include

时间:2024.11.6

一、学习内容

1、无限循环

无限循环:循环永远停不下来

注意点:无限循环因为永远停不下来,所以下面不能再写其他的代码了

2、break

跳转控制语句:

在循环的过程中,跳到其他语句上执行

 

#include<stdio.h>
int main() {
	int count = 0;
	int i;
//利用for循环去获取1-100之间的数字	
for (i = 1; i < =100; i++) {
//去判断当前的数字是否满足题目的要求		
if ((i % 3 == 0) && (i % 5 == 0)){
			count++;
			if (count == 1)
				printf("%d\n", i);

		}
	}
	
	
	return 0;
}

 或

#include<stdio.h>
int main() {
	
	int i;
//利用for循环去获取1-100之间的数字	
for (i = 1; i < =100; i++) {
//去判断当前的数字是否满足题目的要求		
if ((i % 3 == 0) && (i % 5 == 0)){
			
				printf("%d\n", i);
                break;
		}
	}
	
	
	return 0;
}

3、continue

结束本次循环,继续下次循环

#include<stdio.h>
int main() {
	
	int i;
	//利用循环去实现吃包子
	for (i = 1; i <= 5; i++) {
	//跳过第三次
		if(i==3)
		{
			continue;
		}
			
		printf("在吃第%d个包子\n", i);
		
	}
	
	
	return 0;
}

 

 

4、跳出多层循环和goto

二、练习

1、练习1-打印矩形

循环嵌套:循环里面还有其他循环

先确定内循环是做什么事情,外循环就是把里面的代码重复执行了N次

 

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

2、练习2-打印直角三角形

 

#include<stdio.h>
int main() {
	
	int i,j;
	//外循环
	for (i = 1; i <= 5; i++) {
	//内循环
		for (j = 1; j <= i; j++) {
			printf("*");
		}
		printf("\n");		
	}	
	for (i = 1; i <= 5; i++) {
		//内循环
		for (j = 1; j <= 6-i; j++) {
			printf("*");
		}
		printf("\n");
	}
	return 0;
}

3、练习3-打印乘法表

 

#include<stdio.h>
int main() {
	
	int i,j,m;
	//外循环
	for (i = 1; i <= 9; i++) {
	//内循环
		for (j = 1; j <= i; j++) {
			m = i * j;
			printf("%d * %d = %d ",i,j,m);
		}
		printf("\n");		
	}	
	
	return 0;
}

 改进:利用制表符\t调整格式

#include<stdio.h>
int main() {
	
	int i,j,m;
	//外循环
	for (i = 1; i <= 9; i++) {
	//内循环
		for (j = 1; j <= i; j++) {
			m = i * j;
			printf("%d * %d = %d\t",i,j,m);
		}
		printf("\n");		
	}	
	
	return 0;
}

4、练习4-统计质数

 第1步:

#include<stdio.h>
int main() {
/*
1.判断一个整数是否是一个质数
2.添加范围1-100
3.统计
*/
	int n=100,i;
	//定义变量记录整数
	int count = 0;
	//scanf("%d\n", &n);
	//统计从2开始,到n-1这个范围内有多少个数字能被n整数
	for (i = 2; i < n; i++) {

		if (n % i == 0)
		{
			//找到了一个数字能被n整除
			count++;
			//优化:后面其余的数字无需再次判断,提高程序的循环效率
			break;
		}
	}
		//对count进行判断
		if (count == 0) {
			printf("%d是一个质数", n);
		}
		else	
			printf("%d不是一个质数", n);
	
	return 0;
}

第2步: 

#include<stdio.h>
int main() {
/*
1.判断一个整数是否是一个质数
2.添加范围1-100
3.统计
*/for (int i = 2; i < 100; i++) {
	//i:依次表示2-100之间的每一个数字
	
	//定义变量记录整数
	int count = 0;
	//scanf("%d\n", &n);
	//统计从2开始,到n-1这个范围内有多少个数字能被n整数
	for (int j = 2; j < i; j++) {

		if (i % j == 0)
		{
			//找到了一个数字能被i整除
			count++;
			//优化:后面其余的数字无需再次判断,提高程序的循环效率
			break;
		}
	}
	//对count进行判断
	if (count == 0) {
		printf("%d是一个质数\n", i);
	}
	else
		printf("%d不是一个质数\n", i);
}
	return 0;
}

第3步:

 

#include<stdio.h>
int main() {
/*
1.判断一个整数是否是一个质数
2.添加范围1-100
3.统计
*/
	//定义一个变量,用来统计2-100之间一共有多少个质数
	int count1 = 0;
	for (int i = 2; i <= 100; i++) {
	//i:依次表示2-100之间的每一个数字
	
	//定义变量记录整数
	int count = 0;
	//scanf("%d\n", &n);
	//统计从2开始,到n-1这个范围内有多少个数字能被n整数
	for (int j = 2; j < i; j++) {

		if (i % j == 0)
		{
			//找到了一个数字能被i整除
			count++;
			//优化:后面其余的数字无需再次判断,提高程序的循环效率
			break;
		}
	}
	//对count进行判断
	if (count == 0) {
		printf("%d是一个质数\n", i);
		count1++;
	}	
}
	printf("一共%d个质数\n", count1);
	return 0;
}

加上scanf 

#include<stdio.h>
int main() {
/*
1.判断一个整数是否是一个质数
2.添加范围1-100
3.统计
*/
	//定义一个变量,用来统计2-100之间一共有多少个质数
	int count1 = 0;
	int number;
	scanf("%d", &number);
	for (int i = 2; i <= number; i++) {
	//i:依次表示2-100之间的每一个数字
	
	//定义变量记录整数
	int count = 0;
	//scanf("%d\n", &n);
	//统计从2开始,到n-1这个范围内有多少个数字能被n整数
	for (int j = 2; j < i; j++) {

		if (i % j == 0)
		{
			//找到了一个数字能被i整除
			count++;
			//优化:后面其余的数字无需再次判断,提高程序的循环效率
			break;
		}
	}
	//对count进行判断
	if (count == 0) {
		printf("%d是一个质数\n", i);
		count1++;
	}	
}
	printf("一共%d个质数\n", count1);
	return 0;
}

 

5、练习5-幂级数列

 

#include<stdio.h>
int main() {
	long long result = 0;
	int i, j,n=10;
	//外循环:依次表示1-10
	for (i = 1; i <= n; i++) {
	//内循环:表示外循环的数字一共要乘几次
	//pow表示每个选项的单独结果
		long long pow = 1;
		for (j = 1; j <= i; j++) {
			pow = pow * i;
		}
    //当内循环结束后,将单独的结果进行累加
		result += pow;
	}
	printf("%lld\n", result);
	return 0;
}

6、练习6-特殊数字

 

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

 

三、知识点

1、制表符\t

长度可变的大表格

作用:

在打印图表型数据时,可以让数据对齐

原理:

会根据前面字母的个数在后面补空格,让整体的长度达到8或8的倍数,最少补1个,最多补8个

abc\t  补5个

zhangshan\t  补8个

张\t   补6个(一个中文占2个字符)

printf("name\tage\n");
printf("zhangshan23\n");

或
printf("name\t\tage\n");
printf("zhangshan\t23\n");

2、goto的用法

break只能跳出单层循环,goto可以跳出多层循环

结合标号,可以跳到代码中的任意地方,一般只用于跳出循环嵌套 

标签:main,int,质数,高级,C语言,循环,100,include
From: https://blog.csdn.net/2201_75297369/article/details/143416755

相关文章

  • Java流程控制-循环结构
    循环结构while循环while是最基本的循环,它的结构为:while(布尔表达式){ //循环内容}只要布尔表达式为true,循环就会一直执行下去。我们大多数情况是会让循环停止下来的,我们需要一个让表达式失效的方式来结束循环。少部分情况需要循环一直执行,比如服务器的请求响应监听等。......
  • C语言格式化打印
    C语言格式化打印十进制:%d      int、char%i       有符号的整数%hd    short%ld     long int%lld    long long int%zd    size_t%u      unsigned int%lu     unsigned long int%llu    unsigned long long int八进制:%o......
  • 嵌入式课程day10-C语言数组
    目录七、数组7.1数组是什么?7.2数组的使用7.3定义数组7.4数组初始化7.5冒泡排序7.6二分法查找七、数组7.1数组是什么?存储多个同种类型的数据 ,方便数据处理7.2数组的使用先定义再使用7.3定义数组存储多少数据 数据的数据类型 数组名元素:数组中数据可以统......
  • VS Code/Code-Runner编译C语言遇到undefined reference to XXX的一种解决办法
    背景用VSCode编译一个C语言编写的项目文件,这个项目除main文件外还有些被引用的C文件,如果不做相关配置的话,运行会报错:即编译时找不到被引用的这些文件,从而报错。解决办法我是使用code-runner这个插件跑的,所以这里只写关于用这种方式运行代码的解决办法。首先查看.vscode/配......
  • vue,for循环为什么不提倡放主键id
    在Vue.js中,v-for循环用于渲染列表时,推荐为每个列表项提供一个key属性,以帮助Vue更高效地更新和复用DOM元素。但是,使用主键id作为key有时并不推荐,原因如下:1.id不一定稳定主键id通常是在数据库中生成的唯一标识符,虽然在数据库中它是唯一的,但在前端应用中,尤其是在......
  • PDF阅读神器~已破去广解锁高级版
    前言AdobeAcrobatRead的最新专业解锁版,是一款专为手机用户设计的PDF阅读工具,其卓越的性能让PDF文件的阅读变得异常便捷,该版本去除广解锁会员功能,让大家在阅读PDF的时候,能有一个清爽、不被打扰的环境。安装环境[名称]:AdobeAcrobatRead[版本]:24.9.1[大小]:150MB   [......
  • 二叉树 (王道数据结构 C语言版)
    2004.11.04计算一颗给定二叉树的所有双分支节点个数编写把一个树的所有左右子树进行交换的函数求先序遍历中第k个结点的值(1<=k<=二叉树中的结点个数)#include<bits/stdc++.h>#defineintlonglong#defineendl'\n'usingnamespacestd;typedefstructBitnode{......
  • 用C语言实现汉诺塔问题(第四天:函数递归)【每天进步一点点-小白学习笔记】
    0 前言        最近比较忙,到现在才有时间更新博客,这两天刚好学到了函数递归,这是个很有趣的知识,为什么说有趣呢?因为递归这个东西吧,很多人都对它又爱又恨。爱在递归不仅可以轻松简化代码,增加可读性,还能将一些很难解决的算法问题轻松解决,但它又大大加大了程序复杂度,既......
  • 2个月搞定计算机二级C语言——真题(10)解析qg
    合集-3个月搞定计算机二级C语言(6)1.2个月搞定计算机二级C语言——真题(5)解析10-292.2个月搞定计算机二级C语言——真题(6)解析10-303.2个月搞定计算机二级C语言——真题(7)解析11-034.2个月搞定计算机二级C语言——真题(8)解析11-035.2个月搞定计算机二级C语言——真题(9)解析11-06:Flow......
  • c语言入门学习这一篇就够了-知识点总结(三万字二级必看)
    C语言   C语言是中高级语言的代表之一,它是所有现代编程语言的基石,包括C++、Java、C#、Python、JavaScript、Swift等。C语言是学习其他编程语言的基础,因为它提供了对系统底层的精确控制,这使得它在开发操作系统、驱动程序、嵌入式系统、高性能计算等领域中有着不可替代的......