c语言循环程序怎么编程,c语言程序(5):循环结构程序设计

#include

#include

#include

/*

循环结构:

1.基本循环语句

while循环

do_while循环

for循环

1.1 所有的的循环,都是满足条件循环

1.2 while循环

while(条件)

{

循环体;

}

1.3 kbhit() :监测键盘是否按键,

1.4

do

{

循环体;

}while(count<3);

1.5 for循环

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

{

语句4;

}

执行过程: 1 2 4 3        2 4 3

表达式1:写循环变量的初始化

表达式2:循环条件

表达式3:循环条件的改变

2.跳转语句

break;

continue;

goto;

3.循环的作用

3.1 处理重复或者具有规律的事情

3.2 递推的数学问题

3.3 控制交互的循环

*/

int main()

{

//描述一个鼓掌的过程

//次数去控制循环的次数

int count = 0;

while (count<3)

{

printf("啪啪啪!\n");

count++;//改变条件变量

}

count = 0;

while (count++<3)

printf("啪啪啪!\n");

//count++;//改变条件变量

do   //无论条件成立与否都会执行一次

{

printf("无论条件成立与否,都会执行一次!\n");

} while (0);

count = 0;

do

{

printf("啪啪啪!\n");

} while (count++ < 3);  //注意点后面一定要有  “ ; ”

printf("for循环:\n");

for (int i = 0; i < 3; i++)

{

printf("啪啪啪!\n");

}

//printf("i=%d\n", i); 未定义的变量的,i作用于只在循环中有效

printf("缺省:\n");

count = 0;

for (; count < 3; )  //表达式可以缺省,但是 “ ; ” 必须写

{

printf("啪啪啪!\n");

count++;

}

按键暂停功能的实现

//while (1)

//{

//printf("唱歌中!....\n");

//if (_kbhit ( ))    // 包含头文件 #include   ;监视键盘,按键暂停

//{

system("pause");

//int userKey = _getch();

//if (userKey == ' ')

//{

//while (_getch() != ' ');//第一次按键是空格,只有但第二次用户输入的是空格时,才会暂停。

//}

//}

//}

system("pause");

return 0;

}

#include

#include

/*

break; --->跳出整条复合语句  ,即跳出一条循环

conitnue;

一般都是结合选择结构使用   ,结束当前循环,开启下次循环。

goto:一般描述逻辑尽量不适用,原来操作函数的函数的状态可以用-->在同一个函数中跳转

当标签在上面的的时候, 需要 “ ; ”去做间隔

*/

int main()

{

//1.break跳出switch语句

//2.break 在循环中只跳出一层循环

CODE:

;

int count = 0;

while (1)

{

printf("我在鼓掌!\n");

count++;

if (count == 3)

break;

}

printf("我退出无限循环\n");

goto CODE;

count = 0;

while (1)

{

printf("我在鼓掌!\n");

count++;

if (count == 3)

goto NEXT;

}

NEXT:

printf("我退出无限循环\n");

//count = 0;

//while (1)

//{

//count++;

//if (count == 3)

//continue;//提高效率

//printf("第 %d 次 鼓掌!\n",count);

//

//}

system("pause");

return 0;

}

//循环的基本使用:

#define _CRT_SECURE_NO_WARNINGS

#include

#include

int main()

{

//3.1 处理重复或者具有规律的事情

//3.1.1 处理重复-->逆序操作

printf("逆序操作!\n");

int num = 1234567;

while (num)

{

printf("%d", num % 10);

num /= 10;//递推--->循环  递归--->函数里面

}

printf("\n");

//3.2 递推的数学问题

//求和,求阶乘

int sum = 0;

for (int i = 0; i <= 100; i++)

{

sum += i;

}

printf("求和:%d\n", sum);

//求1/2+1/3+....1/n;

int x;

scanf("%d", &x);

float result = 0;

for (int i = 2; i <= x; i++)  //++运算符只能用在整数里面,小数里面没有++运算符。

{

result += 1.0 / i;  //描述有规律的事物一定要注意类型问题

}

printf("%.4f\n", result);

//3.3 控制交互的循环

while (1)

{

printf("0.退出\n1.xxx\n2.ooo\n");//游戏菜单

int choice = 0;

scanf("%d", &choice);

switch (choice)

{

case 0:

printf("正常退出!");

system("pause");

//exit(0)

break;

case 1:

break;

case 2:

break;

}

if (choice == 0)

{

break;

}

system("pause");

system("cls");

}

printf("循环外面!\n");

system("pause");

return 0;

}

//循环嵌套的含义:

#include

#include

/*

任何循环之间都可以嵌套

代表的是一种类似于乘法的一种规律描述

或者是一种具有表格特性的规律的描述

习惯于用外层循环描述行的变化 内层循环描述列的变化

*/

int main()

{

int count = 10;

for (int i = 0; i < count; i++)//外循环

{

for (int j = 'A'; j < 'A'+10; j++) //内循环

{

printf("%d%C\t", i, j);//i每是一个数,j都要循环10次,所以j共循环100次。

}

printf("\n");

}

/*

行: 列

*****                1      5个*       6-1

****                2    4  6-2

***3    3  6-3

**4    2  6-4

*5    1  6-5

6-i

*/

for (int i = 1; i <= 5; i++)

{

for (int j = 6 - i; j >= 1; j--)

{

printf("*");

}

printf("\n");

}

/*

1111*11

111***23

11*****35

1******* 47

********* 59

2*i-1  //简单的方法,套公式

*/

for (int i = 1; i <= 5; i++)

{

for (int j = 5 - i; j >= 1; j--)

{

printf(" ");

}

for (int k = 1 ; k <= 2*i-1 ; k++)

{

printf("*");

}

printf("\n");

}

system("pause");

return 0;

}

#define  _CRT_SECURE_NO_WARNINGS

#include

#include

int main()

{

//1.求最大公约数和最小公倍数

//9 6 能够同时用两个整数去整除的最大整数就是 :最大公约数

//最大公约数:辗转相除法

//9 6   最大公约数:3

//能被两数整除最小整数:最小公倍数  :18

//数学特性:最小公倍数=两数之积/最大公约数

int firstNum, secondNum,temp;

scanf("%d%d", &firstNum, &secondNum);

int sum = firstNum*secondNum;//准备一点

//1.求最大值:

if (firstNum < secondNum)

{

//交换a和b的值--->杯子倒水

temp = firstNum;

firstNum = secondNum;

secondNum = temp;

}

//前提是对于欧几里得了解(辗转相除法)

while (firstNum%secondNum != 0)

{

/*

1997 / 615 = 3 (余 152)

615 / 152 = 4(余7)

152 / 7 = 21(余5)

7 / 5 = 1 (余2)

5 / 2 = 2 (余1)

2 / 1 = 2 (余0)

*/

temp = secondNum;   //占用存储最小的值,防止改变

secondNum = firstNum%secondNum;  //第二次除数要是余数

firstNum = temp;   //第二的被除数是不是第一次的最小值

}

printf("最大公约数是:%d\n", secondNum);

printf("最小公倍数:%d\n", sum / secondNum);

//求素数: 素数-->除了被1和自身整除的数

int num = 0;

scanf("%d", &num);

//标记法

int  flag = 0;

for (int i = 2; i < num; i++)

{

if (num%i == 0)

{

flag = 1;

break;

}

}

if (1==flag)  //非零表示真,0表示假

{

printf("该数不是素数!\n");

}

else

{

printf("该数是素数!\n");

}

int flag = 0;

if ("来一个人")

{

if ("他上了女厕所")

{

flag = 1;

}

}

if (flag == 1)

{

printf("女的!\n");

}

else

{

printf("汉子!\n");

}

system("pause");

return 0;

}

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

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

相关文章

Java基础知识强化之网络编程笔记05:UDP之多线程实现聊天室案例

1. 通过多线程改进刚才的聊天程序&#xff0c;这样我就可以实现在一个窗口发送和接收数据了 2. 代码示例&#xff1a; &#xff08;1&#xff09;SendThread.java&#xff0c;如下&#xff1a; 1 package com.himi.udpDemo2;2 3 import java.io.BufferedReader;4 import java.…

c语言宿舍管理设计报告,C语言课程设计—学生宿舍管理系统设计报告.doc

word格式精心整理版范文范例 学习指导课 程 设 计 报 告课程名称 C语言程序设计课题名称 学生宿舍管理系统专 业班 级学 号姓 名指导教师2012年6月19日湖南工程学院课 程 设 计 任 务 书课程名称 C语言程序设计课 题 学生宿舍管理系统专业班级学生姓名学 号指导老师审 批任务书…

EF编辑

//修改推荐的信息 var productRe db.Shop_ProductRecommends.Single(item > item.Id model.Id); productRe.seat model.seat; db.Set<Shop_ProductRecommends>().Attach(productRe); db.Entry(productRe).State EntityState.Modified;转载于:https://www.cnblogs.…

考勤管理系统c语言,C语言课程设计学生考勤系统最终版(范文1)

《C语言课程设计学生考勤系统.doc》由会员分享&#xff0c;可免费在线阅读全文&#xff0c;更多与《C语言课程设计学生考勤系统(最终版)》相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里搜索。1、&#xff1b;return(head)&#xff1b;}voidenter()*录入函数*{structS…

关于类和接口的一些小笔记

如果一个类实现了多个接口&#xff0c;如果将这个类实例化&#xff0c;那么这些接口之间可以互相调用的。转载于:https://www.cnblogs.com/pilihaotian/p/4868609.html

汇编语言调用c语言ads,ADS1.2 在汇编代码中调用C函数

EDA365欢迎您登录&#xff01;您需要 登录 才可以下载或查看&#xff0c;没有帐号&#xff1f;注册x, U) b) } U8 \" d/ v( \$ ~ T对于ARM体系来说&#xff0c;不同语言撰写的函数之间相互调用(mix calls)遵循的是 ATPCS(ARM-Thumb Procedure Call Standard)&#xff0c;…

c语言选择法排序案例,谁能给我一个c语言选择排序法的简单例子

满意答案evil83752014.02.27采纳率&#xff1a;51% 等级&#xff1a;11已帮助&#xff1a;7590人#include int main(){int array[100], n, c, d, position, swap;printf("Enter number of elements\n");scanf("%d", &n);printf("Enter %d inte…

huffman算法c语言实验报告,huffman二叉树实验报告--数据结构(c语言).doc

江海强 PAGE 7数 据 结 构 作 业 报 告——Huffman二叉树实验报告姓名&#xff1a;江海强班级&#xff1a;070921班学号上机时间&#xff1a;2010-报告时间&#xff1a;2010-10-26摘要1.实验目的本实验是为了让我们深入了解Huffman二叉树&#xff0c;学会使用Huffman编码…

《炉石传说》建筑设计欣赏(7):采用Google.ProtocolBuffers处理网络消息

这一次&#xff0c;琢磨了一下Unity3D网络游戏发展的网络信息处理。服务器的网络游戏一般都是自主研发&#xff0c;因此&#xff0c;相应的网络消息处理应该培养自己。client/现在使用的邮件服务器之间的价差JSON和Google.ProtocolBuffers有两种常见的方法。平炉码看其处理。代…

tarjan算法c语言,tarjan算法板子 - osc_e45irv7l的个人空间 - OSCHINA - 中文开源技术交流社区...

无向图概念时间戳\(dfn[x]\),在深度优先遍历中&#xff0c;按照每个节点第一次被访问的顺序&#xff0c;依次做整数标记追溯值\(low[x]\),通过非搜索边能到达的最小时间戳割边判定法则无向边\((x,y)\)是割边/桥&#xff0c;当且仅当存在x的一个子节点满足\(dfn[x] < low[y]\…

流和文件

流&#xff1a;流是数据的传输方式&#xff1b;C程序处理一个流而不是直接处理文件。你声明一个FILE *fp &#xff0c;并把fopen(某个文件)返回的值赋予fp这两个动作就相当于建立了一个水龙头&#xff0c;当你用getc(fp)之类的输入函数读取文件字符时就相当于拧开了水龙头&…

小球进盒子C语言,N个小球放进M个盒子算法-Go语言中文社区

N个小球放入M个盒子共有多少种方法&#xff0c;并输出的算法设计&#xff1a;算法思路1 &#xff1a;暴力填充盒子每个小球都可能放入M个盒子的任意一个&#xff0c;所以直接根据小球个数做递归即可,然后将存储放入hash中排重//TODO算法思路2 &#xff1a;递归填充盒子即&#…

r语言c5.0要求因子输出,R语言中因子的创建与使用

原标题&#xff1a;R语言中因子的创建与使用因子在R语言中可以用来表示名义型变量或有序变量。名义变量一般表示类别&#xff0c;如性别&#xff0c;种族等等。有序变量是有一定排序顺序的变量&#xff0c;如职称&#xff0c;年级等等。在R语言中&#xff0c;名义变量和有序变量…

WinForm中使用AnyCAD三维控件 の 初始化

在WinForm中可以方便的集成AnyCAD.Net三维控件&#xff0c;只需要以下几部即可完成。 一、添加DLL程序集 AnyCAD.Foundation.Net.dll AnyCAD.Presentation.Net.dll AnyCAD.Exchange.Net.dll 二、初始化控件 1.首先创建一个窗体 2.在窗体上放置一个Panel用来放置三维控件 3.初始…

linux中nodejs后台运行工具forever

forever让nodejs应用后台执行 命令如下&#xff1a; forever start ./bin/www nodejs一般是当成一条用户命令执行的&#xff0c;当用户断开客户连接&#xff0c;运用也就停了&#xff0c;很烦人。如何让nodejs应用当成服务&#xff0c;在后台执行呢&#xff1f; 最简单的办法(不…

android启动其他app的服务器,Android中通过外部程序启动App的三种方法

这篇文章主要介绍了Android中通过外部程序启动App的三种方法,本文讲解了直接通过包名、通过自定义的Action、通过Scheme三种方法,并分别给出操作代码,需要的朋友可以参考下第一种&#xff1a;直接通过包名&#xff1a;复制代码 代码如下:Intent LaunchIntent getPackageManage…

linux date 天之前,linux date命令前后几天的推导

linux date使用(前后几天时间推导)在Linux系统 中&#xff0c;可以采用如下方法&#xff1a;1) 取之前的时间&#xff1a;date -d "a day ago" %Y%m%d 取出前1天的系统时间date -d "2 days ago" %Y%m%d 取出前2天的系统时间2) 取之后的时间&#xff1a;dat…

各种封装——封装getClass

因为用Class获取元素时&#xff0c;有兼容性问题&#xff0c;需要分情况获取 显示判断是否可以用getElementsByClassName&#xff0c;若是不介意用就要先获取全部的元素&#xff0c;在用正则判断 function getClass(oParent,sClass){if(oParent.getElementsByClassName){return…

android提示程序正在执行,Android中获取正在运行的进程(一)

关于android中应用程序正在运行的进程有下面几种&#xff1a;1-包含services的进程&#xff0c;2-不包含services的进程&#xff0c;3-杀死应用时有些进程被init回收(类似于僵尸进程)&#xff0c;ppid变为1&#xff0c;无法通过android 应用层代码获得的进程。这些进程可能是应…

jta 知识

JTA知识&#xff08;转载原文地址&#xff1a;http://blog.csdn.net/it_man/article/details/7230215&#xff09; Java Transaction API&#xff0c;译为Java事务API。JTA允许应用程序执行分布式事务处理——在两个或多个网络计算机资源上访问并且更新数据。JTA主要用于分布式…