C语言笔记 9

devtools/2024/10/21 17:27:28/

循环控制


判断素数的程序

①以无法证伪来证明是真的

#include <stdio.h>int main()
{int x;scanf("%d", &x);int i;int isPrime = 1;for ( i=2; i<x; i++ ) {if ( x%i == 0 ) {isPrime = 0;}}if ( isPrime == 1) {printf ("是素数\n");} else {printf("不是素数\n");}return 0;
}

但是循环结束后,还会再判断i<x,才结束循环

有没有方法能直接跳出循环?

#include <stdio.h>int main()
{int x;scanf("%d", &x);int i;int isPrime = 1;for ( i=2; i<x; i++ ) {if ( x%i == 0 ) {isPrime = 0;break;}}if ( isPrime == 1) {printf ("是素数\n");} else {printf("不是素数\n");}return 0;
}

break vs continue

  • break:跳出循环
  • continue:跳过循环这一轮剩下的语句,进入下一轮

#include <stdio.h>int main()
{int x;scanf("%d", &x);int i;//int isPrime = 1;for ( i=2; i<x; i++ ) {if ( x%i == 0 ) {isPrime = 0;}}//if ( isPrime == 1) {if ( i < x) {printf ("不是素数\n");} else {printf("是素数\n");}return 0;
}

嵌套循环


输出100以内的素数

#include <stdio.h>int main()
{int x;x = 6;for (x=2; x<100; x++);{int i;int isPrime = 1;for ( i=2; i<x; i++ ) {if ( x%i == 0 ) {isPrime = 0;break;}}if ( isPrime == 1) {printf ("%d", x);} }printf("\n");return 0;
}

从嵌套循环中跳出


凑硬币:如何用一角、两角和五角的硬币凑出10元以下的金额

#include <stdio.h>int main()
{int x;int one, two, five;scanf("%", &x);for (one=1; one<x*10; one++ ) {for ( two=1; two<x*10/2; two++ ) {for ( five=1; five<x*10/5; five++) {if (one + two*2 + five*5 == x*10 ) {printf("可以用%d个一角加%d个两角加%d个五角得到%d元\n",one, two, five, x);}}}}return 0;
}

如何让程序找到一种组合方法就停止?

如果在printf之后加一个break/continue:之离开了最内层的循环(也就是第三个for循环),其他循环依旧在继续。break和continue只能对他所在的那层循环做跳出。

法1:接力break(教科书)

#include <stdio.h>int main()
{int x;int one, two, five;scanf("%", &x);for (one=1; one<x*10; one++ ) {for ( two=1; two<x*10/2; two++ ) {for ( five=1; five<x*10/5; five++) {if (one + two*2 + five*5 == x*10 ) {printf("可以用%d个一角加%d个两角加%d个五角得到%d元\n",one, two, five, x);exit = 1;break;}}if (exit) break;}if (exit) break;}return 0;
}

法2:goto(传送门)

#include <stdio.h>int main()
{int x;int one, two, five;scanf("%", &x);for (one=1; one<x*10; one++ ) {for ( two=1; two<x*10/2; two++ ) {for ( five=1; five<x*10/5; five++) {if (one + two*2 + five*5 == x*10 ) {printf("可以用%d个一角加%d个两角加%d个五角得到%d元\n",one, two, five, x);goto out;}}}}
out;return 0;
}


http://www.ppmy.cn/devtools/125794.html

相关文章

k3s安装指定版本以及离线安装(docker)

首先下载你所需要版本的k3s安装包&#xff0c;目录结构如下所示&#xff0c;我这里是v1.19.15k3s2。 1.首先赋予可执行权限后进行安装。 # k3s 需要赋予可执行权限 sudo chmod x k3s sudo chmod x k3s-install.sh2.然后将k3s的二进制文件复制到/usr/local/bin/ cp k3s /us…

Chromium 中chrome.downloads扩展接口c++

一、前端chrome.downloads 使用 chrome.downloads API 以编程方式启动、监控、操作和搜索下载内容。 权限 downloads 您必须在扩展程序清单中声明 "downloads" 权限&#xff0c;才能使用此 API。 {"name": "My extension",..."permiss…

倾斜的角标 android倾斜角标实现

android倾斜角标实现_android 图片角标如何制作-CSDN博客 import android.annotation.TargetApi; import android.content.Context; import android.content.res.TypedArray; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint;…

【Matlab算法】MATLAB实现简单的图像隐写术(附MATLAB完整代码)

MATLAB实现简单的图像隐写术 前言正文:实现原理1. 消息预处理:2. 图像准备:3. 信息嵌入:4. 生成隐写图像:5. 信息提取:代码实现代码主要组成部分及功能解释代码如何使用总结前言 图像隐写术是一种将秘密信息隐藏在数字图像中的技术,使得除了预期的接收者外,其他人难以…

LabVIEW空间相机测控系统

空间相机是遥感技术中的核心设备&#xff0c;其在太空中的性能对任务的成功至关重要。为了确保空间相机能够在极端环境下稳定工作&#xff0c;地面模拟测试成为必不可少的环节。LabVIEW开发的空间相机测控系统&#xff0c;通过对温度、应力和应变等参数进行高精度测量&#xff…

前端布局与响应式设计综合指南(末)

​&#x1f308;个人主页&#xff1a;前端青山 &#x1f525;系列专栏&#xff1a;Css篇 &#x1f516;人终将被年少不可得之物困其一生 依旧青山,本期给大家带来Css篇专栏内容:前端布局与响应式设计综合指南(末) 目录 61、为什么要初始化CSS样式 62、CSS3 有哪些新特性 63、…

C++20中对于并发方面的进步

在当今的编程世界中&#xff0c;并发处理能力变得越来越重要。C20 在并发方面带来了一些进步&#xff0c;使开发者能够更高效、更安全地编写多线程应用程序。这些进步主要包括&#xff1a; 作用域线程&#xff08;Scoped Threads&#xff09; 停止令牌&#xff08;Stop Tokens…

Unity中实现预制体自动巡逻与攻击敌人的完整实现指南

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…