习题5 循环

选择题

1、如下程序的运行结果为 【 正确答案: B】。

A.9             B.8           C.7                 D.6

2、C语言的for语句中的表达式可以部分或全部省略,但两个 【 正确答案: C】不能省略。

但当三个表达式均省略后,因缺少判断条件,循环会无限制在执行下去,形成死循环。
A.<            B.++              C.;               D.,

3、如下程序的运行结果为 【 正确答案: A】。

#include <stdio.h>

int main() 

{

     int t = 3;

     while(t++<=4)

           printf("%d ",t);

     printf("%d\n",t);

     return 0;

}

A.4 5 6         B. 3 4 5              C.2 3 4           D.2 2 2

解析:

while(t++<=4)

printf("%d ",t);

printf("%d\n",t);

(1)第1次    3<=4  为真,t变为4   输出4

(2)第2次    4<=4  为真,t变为5   输出5

(3)第3次   5<=4  为假,t变为6  结束循环

(4)输出6

4、有如下程序段

int k = 1;

while( !k==0 )

{

     k = k + 1;

     printf("%d\n",k);

}

则以下说法中正确的是 【 正确答案: B】。
A.while循环执行2次               B.循环是无限循环
C.循环体一次也不执行            D.循环体执行一次

解析:while( !k==0 )  由于k=1,所以 !k为0       0==0永远为真

5、以下叙述正确的是 【 正确答案: D】。
A. do-while语句构成的循环不能用其它语句构成的循环来代替
B. do-while语句构成的循环只能用break语句退出
C. 用do-while语句构成的循环,while后的表达式为非零时结束循环
D. 用do-while语句构成的循环,while后的表达式为零时结束循环

6、语句for(表达式1; ;表达式3)也可以理解为 【 正确答案: B】。
A.  for(表达式1;0 ;表达式3)
B.  for(表达式1;1 ;表达式3)
C.  for(表达式1; 表达式1;表达式3)

D.  for(表达式1; 表达式3;表达式3)

7、以下语句中,正确的是 【 正确答案: D】。
A.continue语句的作用是结束整个循环的执行
B.只能在switch语句体内使用break语句
C.在循环体内使用break和continue语句的作用相同
D.只能在循环体内和switch语句体内使用break语句

8、有如下程序段

int t = 0;

while(t=1)

{......}

由以下叙述中,正确的是 【 正确答案: B】。
A. 循环控制表达式的值为0,不执行循环体
B. 循环控制表达式的值为1,执行循环体
C. 循环控制表达式不合法
D. 以上说法都不正确

解析:while (t=1)中t=1为赋值,不是相等比较。赋值后t为1,为真

9、以上描述中,正确的是 【 正确答案: C】。

A.do-while语句中,循环体不能使用复合语句
B.do-while循环由do开始,到while结束,在while (表达式) 后面不能写分号
C.在do-while循环中,循环体至少执行一次
D.在do-while循环中,根据情况可以省略while

10、若i,j 已经定义为int型,则以下程序段中循环体总的执行次数是 【 正确答案: A】。

for(i=6; i; i--)

      for (j=0; j<4; j++)

     {  ......  }

A.24              B.20           C.25           D.28

解析:for(i=6; i; i--)中的表达式2  i  等价于i!=0

编程题

1、换零钱

【问题描述】用一张100元人民币换5元、1元、0.5元面值的人民币,要求各种面值的人民币至少各一张,且总张数为100张,问共有多少种换法,各种面值分别为多少张?

【输入形式】无
【输出形式】各种满足条件的换法及换法总数

各种换法前输出

5yuan 1yuan 0.5yuan

每种换法占一行,格式:"%4d%6d%6d\n"(分别与5元、1元、0.5元对应)

最后输出换法总数

【样例输入】无
【样例输出】

5yuan 1yuan 0.5yuan

     1    91     8

     2    82    16

     3    73    24

     4    64    32

     5    55    40

     6    46    48

     7    37    56

     8    28    64

     9    19    72

    10    10    80

    11     1    88

total:11

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
int main()
{
	int x=0,y=0,z=0,total=0;
	printf("5yuan 1yuan 0.5yuan\n");
	for(x=1;x<=20;x++)
	{
	    for(y=1;y<=100;y++)
	    {
	        for(z=1;z<=200;z++)
	        {
	            if ((x*5+y*1+z*0.5==100)&&(x+y+z==100))
	            {
		            total++;
		            printf("%4d%6d%6d\n",x,y,z);
	            }
	        }			
	    }
	}
	printf("total:%d\n",total);
	return 0;
}

2、最大公约数和最小公倍数

【问题描述】输入两个正整数m和n,求其最大公约数和最小公倍数。

【输入形式】两个正整数
【输出形式】最大公约数和最小公倍数
【样例输入】15,25
【样例输出】

gcd:5

lcm:75

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
int main()
{
	int x,y,z,a,gcd=0,lcm;
	scanf("%d,%d",&x,&y);
	z=x*y;
	if (x<y)
	{
		a=x;
		x=y;
		y=a;
	}
	if(x%y==0)
	{
		lcm=x;
		gcd=y;
	}
	else
	{
	    while(x%y!=0)
	    {
		    gcd=x%y;
		    x=y;
		    y=gcd;
	    }
	    lcm=z/gcd;
	}
	printf("gcd:%d\n",gcd);
	printf("lcm:%d\n",lcm);
	return 0;
}

3、分数序列和

【问题描述】有一分数序列:

求该数列的前n项之和,n由键盘输入。 

【输入形式】一个整数n
【输出形式】该数列的前n项之和
【样例输入】3
【样例输出】5.1667

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
int main()
{
	double a=2.0,b=1.0,c;
	double d,sum=0;
	int n,m;
	scanf("%d",&n);
	for(m=1;m<=n;m++)
	{
		d=(double)a/b;
		c=a;
		a=a+b;
		b=c;
		sum=sum+d;
	}
	printf("%.4f\n",sum);
	return 0;
}

4、用梯形法求定积分

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
int main()
{
	double a,b,d,s,sd,xd,sum=0;
	int i,n;
	scanf("%lf,%lf,%d",&a,&b,&n);
	d=(b-a)/n;
	for(i=0;i<=n-1;i++)
	{
		sd=2*pow(a+d*i,5)+5*pow(a+d*i,3);
		xd=2*pow(a+d*(i+1),5)+5*pow(a+d*(i+1),3);
		s=(sd+xd)*d/2.0;
		sum=sum+s;
	}
	printf("%.2f\n",sum);
	return 0;
}

5、水仙花数

【问题描述】输出指定范围的水仙花数。所谓水仙花数是指一个3位数,其各位数字立方和等于该数本身。

提示:有两种方法

  分割法:三位数拆成三个数字

  拼接法:三位数字拼成三位数
【输入形式】两个整数:指定的范围
【输出形式】该范围内的水仙花数
【样例输入】100 200
【样例输出】153

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
int main()
{
	int a,b,c,x,y,i;
	scanf("%d %d",&x,&y);
	for(i=x;i<=y;i++)
	{
		a=i/100%10;
		b=i/10%10;
		c=i%10;
		if(pow((double)a,3)+pow((double)b,3)+pow((double)c,3)==i)
		printf("%d\n",i);
	}
	return 0;
}

6、牛顿迭代法求根

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
int main()
{
	double x,y,a,y1;
	scanf("%lf",&a);
	do
	{
		x=a;
		y=2*x*x*x-4*x*x+3*x-6;
		y1=6*x*x-8*x+3;
		a=x-y/y1;
	}
	while(fabs(x-a)>=1e-10);
	printf("%.2f\n",a);
	return 0;
}

7、编程求指定范围中三个数字之和为12、积为42的三位数

【问题描述】编程求出[a,b]之间满足下列条件的三位数:该数的三个数字之积为42,三位数字之和为12。a,b由键盘输入。
【输入形式】一个区间a,b的值
【输出形式】该区间内满足条件的三位数
【样例输入】200 300
【样例输出】

237

273

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
int main()
{
	int a,b,c,x,y,i;
	scanf("%d %d",&x,&y);
	for(i=x;i<=y;i++)
	{
		a=i/100%10;
		b=i/10%10;
		c=i%10;
		if(a*b*c==42&&a+b+c==12)
		printf("%d\n",i);
	}
	return 0;
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

翔云 OCR:发票识别与验真

在数字化时代&#xff0c;高效处理大量文档和数据成为企业和个人的迫切需求。翔云 OCR 作为一款强大的光学字符识别工具&#xff0c;在发票识别及验真方面表现出色&#xff0c;为我们带来了极大的便利。 一、翔云 OCR 简介 翔云 OCR 是一款基于先进的人工智能技术开发的文字识别…

第十一章 缓存之更新/穿透/雪崩/击穿

目录 一、什么是缓存 二、缓存更新策略 2.1. 缓存主动更新策略 2.1.1. Cache Aside模式&#xff08;主流&#xff09;‌ 2.1.2. Read/Write Through模式‌ 2.1‌.3. Write Behind模式‌ 2.1.4. 总结 三、缓存穿透 四、缓存雪崩 五、缓存击穿 5.1. 互斥锁实现 5.1.1…

【从0开始搭建微服务并进行部署】SpringBoot+dubbo+zookeeper

文章目录 说明环境搭建创建项目父模块设置子模块 dubbo-api子模块 dubbo-provider子模块 dubbo-consumer测试项目 docker部署项目完整项目地址 说明 jdk1.8SpringBoot2.x低版本dubbo&#xff1a;请查看之前教程【微服务】SpringBootDubboZooKeeper 实战 关于本教程将采用jdk1…

Windows应急响应-Auto病毒

文章目录 应急背景分析样本开启监控感染病毒查看监控分析病毒行为1.autorun.inf分析2.异常连接3.进程排查4.启动项排查 查杀1.先删掉autorun.inf文件2.使用xuetr杀掉进程3.启动项删除重启排查入侵排查正常流程 应急背景 运维人员准备通过windows共享文档方式为公司员工下发软件…

新版IDEA中Git的使用(四)——解决冲突

说明&#xff1a;之前介绍过新版IDEA中Git的基础操作、分支操作和回滚代码&#xff0c;本文介绍基于新版IDEA&#xff0c;如何解决代码冲突。 避免冲突 解决冲突的最好方法就是不要发生冲突&#xff0c;这里我介绍下面几点&#xff0c;可以避免代码冲突&#xff1b; 时常做pu…

C语言:预编译过程的剖析

目录 一.预定义符号和#define定义常量 二.#define定义宏 三.宏和函数的对比 四、#和##运算符 五、条件编译 在之前&#xff0c;我们已经介绍了.c文件在运行的过程图解&#xff0c;大的方面要经过两个方面。 一、翻译环境 1.预处理&#xff08;预编译&#xff09; 2.编译 3…

广联达 Linkworks办公OA Service.asmx接口存在信息泄露漏洞

漏洞描述 广联达科技股份有限公司以建设工程领域专业应用为核心基础支撑&#xff0c;提供一百余款基于“端云大数据”产品/服务&#xff0c;提供产业大数据、产业新金融等增值服务的数字建筑平台服务商。广联达OA存在信息泄露漏洞&#xff0c;由于某些接口没有鉴权&#xff0c…

干货:京东云GPU服务器性能NVIDIA A30/A10/V100/P40测评

京东云GPU服务器性能如何&#xff1f;京东云GPU云主机提供NVIDIA A30、A10、V100、P40等多款GPU卡&#xff0c;新推出的8卡A30规格&#xff0c;配备24G显存&#xff0c;支持NVLink&#xff0c;更好为深度学习的推理与训练、高性能计算应用提供GPU算力&#xff0c;京东云服务器网…

新个性化时尚解决方案!Prompt2Fashion:自动生成多风格、类型时尚图像数据集。

今天给大家介绍一种自动化生成时尚图像数据的方法Prompt2Fashion。 首先创建了一组描述&#xff0c;比如“适合婚礼的休闲风格服装”&#xff0c;然后用这些描述来指导计算机生成图像。具体来说&#xff0c;他们使用了大型语言模型来写出这些服装的描述&#xff0c;接着将这些描…

JavaSE——面向对象10:抽象类、接口

目录 一、抽象类 (一)抽象类的引出 (二)抽象类基本介绍 (三)注意事项和使用细节 (四)抽象类的最佳实践——模板设计模式 二、接口 (一)接口快速入门 (二)基本介绍 (三)注意事项与使用细节 (四)接口VS继承 (五)接口的多态性 1.多态参数 2.多态数组 3.接口存在多态…

文件上传之%00截断(00截断)以及pikachu靶场

pikachu的文件上传和upload-lab的文件上传 目录 mime type类型 getimagesize 第12关%00截断&#xff0c; 第13关0x00截断 差不多了&#xff0c;今天先学文件上传白名单&#xff0c;在网上看了资料&#xff0c;差不多看懂了&#xff0c;但是还有几个地方需要实验一下&#…

高性能架构—存储高性能

1 &#x1f4ca;关系型数据库 存储技术飞速发展&#xff0c;关系型数据的ACID特性以及强大的SQL查询让其成为各种业务系统的关键和核心存储系统。 很多场景下的高性能设计最核心的就是关系型数据库的设计&#xff0c;很多数据库厂商再优化和提升单个数据库服务器的性能方面做了…

统一 SASE 架构中的网络和安全融合

网络威胁情报技术的进步 传统的网络边界一片混乱&#xff0c;剩下的只是无人管理的设备、分散在私有云和公共云中的资产、无法读取的应用程序流量泛滥&#xff0c;混合工作结构正在给现有网络的功能带来压力。 更重要的是&#xff0c;这些问题早在生成式人工智能和大型语言模…

【C++11】新特性

前言&#xff1a; C11 是C编程语言的一个重要版本&#xff0c;于2011年发布。它带来了数量可观的变化&#xff0c;包含约 140 个新特性&#xff0c;以及对 C03 标准中约600个缺陷的修正&#xff0c;更像是从 C98/03 中孕育出的新语言 列表初始化 C11 中的列表初始化&#xff0…

智能手表(Smart Watch)项目

文章目录 前言一、智能手表&#xff08;Smart Watch&#xff09;简介二、系统组成三、软件框架四、IAP_F411 App4.1 MDK工程结构4.2 设计思路 五、Smart Watch App5.1 MDK工程结构5.2 片上外设5.3 板载驱动BSP5.4 硬件访问机制-HWDataAccess5.4.1 LVGL仿真和MDK工程的互相移植5…

免费版U盘数据恢复软件大揭秘,拯救你的重要数据

我们的生活和工作越来越离不开各种存储设备&#xff0c;其中优盘因其小巧便携、方便使用的特点&#xff0c;成为了我们存储和传输数据的重要工具之一。为了防止你像我一样会遇到数据丢失抓狂的情况&#xff0c;我分享几款u盘数据恢复软件免费版工具来即时补救。 1.福昕U盘数据…

Oracle中TRUNC()函数详解

文章目录 前言一、TRUNC函数的语法二、主要用途三、测试用例总结 前言 在Oracle中&#xff0c;TRUNC函数用于截取或截断日期、时间或数值表达式的部分。它返回一个日期、时间或数值的截断版本&#xff0c;根据提供的格式进行截取。 一、TRUNC函数的语法 TRUNC(date) TRUNC(d…

鸿蒙harmonyos next flutter混合开发之开发plugin(获取操作系统版本号)

创建Plugin为my_plugin flutter create --org com.example --templateplugin --platformsandroid,ios,ohos my_plugin 创建Application为my_application flutter create --org com.example my_application flutter_application引用flutter_plugin&#xff0c;在pubspec.yam…

一键生成PPT的AI工具-Kimi!

一键生成PPT的AI工具-Kimi&#xff01; 前言介绍Kimi为什么选择Kimi如何使用Kimi在线编辑PPT下载生成的PPT自己编辑 结语 &#x1f600;大家好&#xff01;我是向阳&#x1f31e;&#xff0c;一个想成为优秀全栈开发工程师的有志青年&#xff01; &#x1f4d4;今天不来讨论前后…