习题5 循环

news2024/10/6 20:29:55

选择题

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;
}

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

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

相关文章

构建llama.cpp并在linux上使用gpu

使用gpu构建llama.cpp 更多详情参见https://github.com/abetlen/llama-cpp-python&#xff0c;官网网站会随着版本迭代更新。 下载并进入llama.cpp 地址&#xff1a;https://github.com/ggerganov/llama.cpp 可以下载到本地再传到服务器上 git clone https://github.com/gg…

AI特征工程-如何缓解模型过拟合

一、什么是模型过拟合&#xff1f; 1、举个例子 如上图第三个模型解释为出现了过拟合现象&#xff0c;过度的拟合了训练数据&#xff0c;而没有考虑到泛化能力&#xff0c;从而在新数据上表现不佳。 二、如何确定模型过拟合了 我们通常没有办法直观的看到过拟合。通常有以下几…

【数据分享】2000—2023年我国省市县三级逐年植被覆盖度(FVC)数据(Shp/Excel格式)

之前我们分享过2000—2023年逐月植被覆盖度&#xff08;FVC&#xff09;栅格数据&#xff08;可查看之前的文章获悉详情&#xff09;和Excel和Shp格式的省市县三级逐月FVC数据&#xff08;可查看之前的文章获悉详情&#xff09;&#xff0c;原始的逐月栅格数据来源于高吉喜学者…

【Python】Python知识总结浅析

Python是一种高级编程语言&#xff0c;由Guido van Rossum于1991年首次发布。它以简洁的语法和强大的功能著称&#xff0c;适用于多种应用场景&#xff0c;包括Web开发、数据分析、人工智能、自动化脚本等。 易于学习和使用&#xff1a;Python的语法简洁明了&#xff0c;适合初…

信息安全工程师(36)访问控制主要产品与技术指标

前言 访问控制是确保系统资源安全的重要手段&#xff0c;其主要产品和技术指标对于理解和实施有效的访问控制策略至关重要。 一、访问控制主要产品 访问控制产品种类繁多&#xff0c;根据应用场景和需求的不同&#xff0c;可以分为以下几类&#xff1a; 防火墙&#xff1a; 功能…

【C语言】VS调试技巧

文章目录 什么是bug什么是调试&#xff08;debug&#xff09;debug和releaseVS调试快捷键监视和内存观察编程常⻅错误归类 什么是bug bug本意是昆⾍”或“⾍⼦”&#xff0c;现在⼀般是指在电脑系统或程序中&#xff0c;隐藏着的⼀些未被发现的缺陷或问题&#xff0c;简称程序…

Pytorch基础:网络层

文章目录 1.卷积层-Convolution Layers1.1 1d/2d/3d卷积1.2卷积--nn.Conv2d1.3转置卷积(实现上采样) 2.池化层3.线性层—Linear Layer4.激活函数层—Activate Layer 1.卷积层-Convolution Layers 卷积运算:卷积运算在输入信号(图像)上滑动,相应位置上进行乘加. 卷积核:又称过滤…

java版鸿鹄电子招投标系统功能架构设计 核心功能设计 鸿鹄电子招投标采购系统源码

java版鸿鹄电子招投标系统功能架构设计 核心功能设计 鸿鹄电子招投标采购系统源码

Linux高级编程_30_管道

文章目录 管道作用&#xff1a;分类&#xff1a; 前置知识&#xff1a;复制文件描述符dupdup2 【推荐使用】 无名管道概述&#xff1a; pipe函数实现&#xff1a; ps -A | grep bash 有名管道&#xff1a;实现有名管道的聊天无名管道与有名管道的区别? 管道 作用&#xff1a;…

小红书算法岗面试,竞争太激烈了

最近已有不少大厂都在秋招宣讲了&#xff0c;也有一些在 Offer 发放阶段。 节前&#xff0c;我们邀请了一些互联网大厂朋友、今年参加社招和校招面试的同学。 针对新手如何入门算法岗、该如何准备面试攻略、面试常考点、大模型技术趋势、算法项目落地经验分享等热门话题进行了…

排版套料系统设计说明

先上效果图 项目地址 1.产品介绍 产品名称&#xff1a;StreamFit 智能排版套料系统 主要功能&#xff1a; 智能排版优化 功能描述&#xff1a;StreamFit 利用先进的算法技术&#xff0c;自动对各类材料&#xff08;如布料、金属板材、纸张等&#xff09;进行高效排版布局&am…

一次Mysql数据库活跃连接数高告警的排查方法

基础相关知识 在现代应用中&#xff0c;数据库的性能和稳定性直接影响到整个系统的运行情况。活跃连接数高的告警往往意味着数据库负载过重&#xff0c;可能会导致性能下降甚至服务不可用。 活跃连接数指的是当前与数据库建立连接并且处于活动状态的连接数量。 高活跃连接数…

阿里云百炼通义大模型接入流程,手把手教程

阿里云百炼通义大模型接入流程&#xff0c;即体验大模型、创建Agent应用和创建自训练大模型&#xff0c;阿里云百科aliyunbaike.com分享阿里云官网关于阿里云百炼通义大模型的接入流程&#xff1a; 阿里云百炼通义大模型接入流程 快速接入阿里云百炼通义大模型共分为三大步骤&a…

大模型客服的未来发展趋势

在当今数字化时代&#xff0c;大模型客服正以惊人的速度改变着客户服务的格局。随着技术的不断进步&#xff0c;大模型客服的未来发展趋势充满了无限可能。随着人工智能技术的快速发展&#xff0c;智能客服领域正迎来一场前所未有的变革。大模型客服作为其中的重要分支&#xf…

为什么营业执照显示经营异常

经营异常是怎么回事&#xff1f;是什么意思&#xff1f;1、年报未依照正常的时间公示或者某些要素没有公示;2、营业执照的地址与实际的地址不符&#xff0c;该地址联络不到人。经营异常不处理有什么后果&#xff1f;有什么影响&#xff1f;企业被列入工商异常一般会对公司的经营…

Maven的生命周期与依赖作用域介绍

说明&#xff1a;本文介绍Maven的生命周期&#xff0c;以及在pom.xml文件中每个依赖&#xff08;dependency标签内&#xff09;scope标签的内容。 Maven生命周期 在IDEA项目中&#xff0c;右侧边栏&#xff0c;点Maven&#xff0c;可以看到以下生命周期。 其中&#xff0c; c…

【AI知识点】偏差-方差权衡(Bias-Variance Tradeoff)

偏差-方差权衡&#xff08;Bias-Variance Tradeoff&#xff09; 是机器学习和统计学中的一个核心概念&#xff0c;描述了模型在训练数据和测试数据上的表现与模型复杂度之间的关系。它解释了为什么我们需要在模型复杂度和模型泛化能力之间做权衡&#xff0c;以避免模型出现欠拟…

数字化转型:企业竞争力提升的关键

在当今时代&#xff0c;数字化转型已成为企业发展的必然趋势。它不仅仅是技术的应用&#xff0c;更是一种战略思维的转变。 数字化转型的主要内容 1.业务流程数字化&#xff1a;通过引入信息技术&#xff0c;实现业务流程的自动化、智能化&#xff0c;提高业务流程的效率和准确…

科普篇 --- 什么是汽车中的API?

我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的汽车电子工程师。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师&#xff1a; 屏蔽力是信息过载时代一个人的特殊竞争力&#xff0c;任何消耗你的人和事&#xff0c;多看一眼都是你的不…

第四节——从深层剖析指针(让你不再害怕指针)

文章目录 1. 字符指针变量剑指offer例题 2. 数组指针变量2.1 数组指针变量是什么&#xff1f;2.2 数组指针变量怎么初始化 3. ⼆维数组传参的本质代码实现 4. 函数指针变量4.1 函数指针变量的创建4.3 两段有趣的代码4.3.1 typedef 关键字 5. 函数指针数组的定义 1. 字符指针变量…