C 程序设计教程(17)—— 循环结构程序设计练习题

news2024/10/5 23:41:28

C 程序设计教程(17)—— 循环结构程序设计练习题

在这里插入图片描述

该专栏主要介绍 C 语言的基本语法,作为《程序设计语言》课程的课件与参考资料,用于《程序设计语言》课程的教学,供入门级用户阅读。

目录

  • C 程序设计教程(17)—— 循环结构程序设计练习题
    • 一、选择题
    • 二、填空题
    • 三、编程题

一、选择题

1、有以下程序:

#include<stdio.h>
int main() 
{
	int i,j,s=0;
	for(i=1;i<=15;i+=4)  //循环4次 
		for (j=3;j<=19;j+=4) //循环5次 
		    s++;
	printf("%d\n",s);
	return 0;
}

输出结果为(C)。

A、12 B、15 C、20 D、25

2、有以下程序:

#include<stdio.h>
int main() 
{
	int n=10;
	while(n>7)
	{
		n--;
		printf("%d  ",n);
	 } 
	return 0;
}

输出结果为(B)。

A、10 9 8 B、9 8 7 C、10 9 8 7 D、9 8 7 6

3、有以下程序:

#include<stdio.h>
int main() 
{
	int x=3;
	do
	{
		printf("%3d",x-=2);
	} 
	while(!(--x));
	return 0;
}

输出结果为(C)。

A、1 B、3 0 C、1 -2 D、死循环

4、有以下程序:

#include<stdio.h>
int main() 
{
	int j,sum;
	for(j=1;j<=6;j++) sum+=j;
	printf("%d\n",sum);
	return 0;
}

输出结果为(C)。

A、12 B、15 C、不确定 D、0

5、有以下程序:

#include<stdio.h>
int main() 
{
	int y=10;
	for(;y>0;y--) 
		if(y%3==0){
			printf("%d  ",--y);
			continue;
		}
	return 0;
}

输出结果为(B)。

A、17 4 1 B、8 5 2 C、9 6 3 D、8 7 5 4 2

6、有以下程序:

#include<stdio.h>
int main() 
{
	int j;
	for(j=1;j<=5;j++) 
	{
		if(j%2) printf("*");
		else continue;
		printf("#");
	}
	printf("$\n");
	return 0;
}

输出结果为(A)。

A、*#*#*#$ B、#*#*#*$ C、*#*#$ D、#*#*$

7、有以下程序:

#include<stdio.h>
int main() 
{
	int c;
	while((c=getchar())!='\n')
	switch(c-'2'){
		case 0:
		case 1:putchar(c+4);
		case 2:putchar(c+4);break;
		case 3:putchar(c+3);
		default:putchar(c+2);break;
	}
	printf("\n");
	return 0;
}

当输入2476后,输出结果为(A)。

A、66898 B、668966 C、66778777 D、6688766

二、填空题

1、有以下程序:

#include<stdio.h>
int main() 
{
	float s=1.0;
	int k,n=1000;
	for(k=1;k<=n;k++)
    	s=s+1.0/(k*(k+1));
	printf("%f\n",s);
	return 0;
}

请填空,使下面程序的功能完全与上面的程序相同。

#include<stdio.h>
int main() 
{
	float s=1.0, d;
	int k=0,n=1000;
	do {
    	s=s+d;
    	________________  //此处填写:k++
    	d=1.0/(k*(k+1));
	}
	while (____________);  //此处填写:k<=n
	printf("%f\n",s);
}

2、下面程序运行时输入数据 3.6 和 2.4,则输出的结果为(1.600000)。

#include<stdio.h>
#include<math.h>
int main() 
{
	float x,y,z;
	scanf("%f,%f",&x,&y); //输入:3.6和2.4 
	z=x/y;   //z=3.6/2.4=1.5
	while(1)
	{
		if (fabs(z)>1.0)
		{
			x=y;  //x=2.4,y=1.5,z=2.4/1.5=1.6
			      //x=1.5,y=1.6,z<1.0
			y=z;
			z=x/y;
		}
		else break;
	}
	printf("%f\n",y);  //y=1.6
}

3、在执行以下程序时,如果从键盘输入 ABCdef 后回车,则输出为(abcDEF)。

#include<stdio.h>
int main() 
{
	char ch;
	while((ch=getchar())!='\n')
	{
		if(ch>='A' && ch<='Z') ch=ch+32;
		else if(ch>='a' && ch<='z') ch=ch-32;
		printf("%c",ch);
	}
	printf("\n"); 
}

4、设 a 为整型变量,执行循环语句 while(a++<5); 后,a 的值为(6)。

三、编程题

1、输入两 个正整数 m 和 n,求其最大公约数和最小公倍数。

程序如下:

#include<stdio.h>
int main() 
{
	int p,r,m,n,temp;
	printf("请输入两个正整数:");
	scanf("%d,%d",&m,&n);
	if(m<n){
		temp=m;
		m=n;
		n=temp;
	}
	p=m*n; 
	while(n!=0)
	{
		r=m%n;
		m=n;
		n=r;
	}
	printf("最大公约数为:%d\n",m); 
	printf("最小公倍数为:%d\n",p/m); 
}

以上程序的执行结果如下:

在这里插入图片描述

2、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。

程序如下:

#include<stdio.h>
int main() 
{
	char ch;
	int letters=0,space=0,digit=0,other=0;
	printf("请输一行字符:\n");
	while((ch=getchar())!='\n')
	{
		if(ch>='a' && ch<='z' || ch>='A' && ch<='Z') {
			letters++;
		} else if(ch>='0' && ch<='9')
		{
			digit++;
		} else if(ch==' ')
		{
			space++;
		} else
		{
			other++;
		}
	}
	printf("英文字母个数为:%d\n",letters); 
	printf("数字个数为:%d\n",digit); 
	printf("空格个数为:%d\n",space); 
	printf("其它字符个数为:%d\n",other); 
}

以上程序的执行结果如下:

在这里插入图片描述

3、输出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。例如:153是一个“水仙花数”,因为:153=13+53+33

程序如下:

#include<stdio.h>
#include<math.h>
int main() 
{
	int i,j,k,n;
	for(n=100;n<1000;n++)
	{
		i=n/100;
		j=(n-i*100)/10;
		k=n%10;
		if (n==pow(i,3)+pow(j,3)+pow(k,3))
		{
			printf("%10d",n);
		}
	}
}

以上程序的执行结果如下:

在这里插入图片描述

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

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

相关文章

3DMAX砖墙神器WallBuilder:快速生成常见砖墙插件教程

3DMAX一键快速生成砖墙插件&#xff08;3DMAX砖墙神器——快速常见砖墙&#xff09;WallBuilder&#xff0c;用来生成各种砖砌或石砌墙体、地面的插件。 【主要特性】 -偏移以将不同的墙放在一起&#xff1b; -可以按照样条曲线创建墙&#xff1b; -随机化砖块的随机函数&am…

【寒假每日一题】DAY.9 猜名次

目录 一、题目内容 二、思路 思路1 思路2 思路3 三、代码实现 一、题目内容 5位运动员参加了10米台跳水比赛&#xff0c;有人让他们预测比赛结果&#xff1a;A选手说&#xff1a;B第二&#xff0c;我第三&#xff1b;B选手说&#xff1a;我第二&#xff0c;E第四&#xff1b;…

COS插件入驻Discuz!x

Discuz!Discuz! 平台&#xff0c;由一群高擎互联网人在倾情支持&#xff0c; 他们来自于腾讯Discuz! 创业团队成员以及优秀的开发者。在中国互联网风云变迁中&#xff0c;Discuz! 20多年间为300万企业及站长赋能&#xff0c;秉承“开放、连接、共赢”的精神&#xff0c;倡导与生…

ZStack协议栈点对点通信

这里是zstack3.0安装包&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1-N8FFQ86zenF1iq-wgkmJQ?pwd2023 提取码&#xff1a;2023 新建自己的zstack工程这篇写得详细&#xff1a;新建 这个点对点通信主要是终端节点向协调器发送命令D1,协调器收到命令后判断数据是否为…

聚焦技术与体验极致提升,阿里云视频云连续5年领跑!

全球领先的IT市场研究和咨询公司IDC发布 《中国视频云市场跟踪&#xff08;2022上半年&#xff09;》 阿里云连续五年稳居 中国视频云整体市场份额第一 整体市场份额占比达25.4% 近日&#xff0c;全球领先的IT市场研究和咨询公司IDC发布的《中国视频云市场跟踪&#xff08;…

算法训练营 day21 二叉树 二叉搜索树的最小绝对差 二叉搜索树中的众数 二叉树的最近公共祖先

算法训练营 day21 二叉树 二叉搜索树的最小绝对差 二叉搜索树中的众数 二叉树的最近公共祖先 二叉搜索树的最小绝对差 530. 二叉搜索树的最小绝对差 - 力扣&#xff08;LeetCode&#xff09; 给你一个二叉搜索树的根节点 root &#xff0c;返回 树中任意两不同节点值之间的最…

《啊哈算法》第四章之深度优先搜索

✌好听的歌一起分享&#xff01; 稻香 (女声版) - 余不不 - 单曲 - 网易云音乐 目录 模板 例子 1&#xff0c;关于遍历 2&#xff0c;关于边界 正文 1&#xff0c;概念 2&#xff0c;解救小哈 例子源码和题目 1&#xff0c;小学奥数 2&#xff0c;全排列 3&#x…

【自学Docker 】Docker inspect命令

Docker inspect命令 大纲 docker inspect教程 使用 docker inspect 命令可以用来获取 Docker容器 或者 Docker镜像 的元数据。该命令后面的 CONTAINER 可以是容器Id&#xff0c;或者是容器名。 docker inspect语法 haicoder(www.haicoder.net)# docker inspect [OPTIONS] N…

python小知识

一、pip config list -v#pip在哪里寻找pip.conf文件 阿里云镜像&#xff1a; 二、安装anaconda(阿里云镜像库) 1、安装完成&#xff0c;命令行输入&#xff1a;conda config生成.condarc文件&#xff08;运行期配置文件&#xff09; 2、如果原本的源中的源地址是 https&…

webService速通教学(送源码)

什么是WebService webService是一种古老的互联网通讯方法。通过http通讯&#xff0c;将数据封装成XML的形式在网络中传输。习惯Java开发的伙伴肯定会对其嗤之以鼻&#xff0c;为什么不用Json传输&#xff0c;为什么不直接通过url拼参数&#xff1f;最大的两个因素是&#xff1…

Nginx基础03:配置文件nginx.conf(Part2)

上一篇文章概述与罗列了"全局配置块、events配置块、http全局块"的基本配置与属性&#xff0c;本篇文章将继续深入server块的配置项&#xff0c;以及相关应用。上篇文章地址&#xff1a;Nginx基础02&#xff1a;配置文件nginx.conf&#xff08;Part1&#xff09;如何…

从“工业报国为己任”到“科技创造优质生活”——华阳集团三十周年记

2022年10月28日&#xff0c;ADAYO华阳集团(002906.SZ)发布了一份“亮眼”的三季报。2022年1-9月公司实现营业收入40.08亿元&#xff0c;同比增长28.03%&#xff0c;实现归母净利润2.67亿元&#xff0c;同比增长28.28%。其中第三季度营业收入、净利润绝对值均为上市以来单季度最…

Android 深入系统完全讲解(23)

OpenGL 和 OpenGLES 简介 OpenGL(Open Graphics Library)意为开放图形库&#xff0c;是一个跨平台的图形 API&#xff0c;用于指定 3D 图 形处理硬件中的软硬件编程接口。OpenGL 一般用于图形工作站&#xff0c;PC 端使用。由于性能和可 移植性等各方面原因&#xff0c;在移动端…

分享72个PHP源码,总有一款适合您

PHP源码 分享72个PHP源码&#xff0c;总有一款适合您 下面是文件的名字&#xff0c;我放了一些图片&#xff0c;文章里不是所有的图主要是放不下...&#xff0c; 72个PHP源码下载链接&#xff1a;https://pan.baidu.com/s/11BEwLdHiZF0DqB3Bhb3FaQ?pwdjoxq 提取码&#xff…

使用docker搭建版本控制系统-SVN

作者简介&#xff1a;一名Linux运维工程师&#xff0c;主要分享自己遇到的学习过程与遇到的问题。 座右铭&#xff1a;选择时尽心&#xff0c;行动时尽力&#xff0c;坚持时无怨&#xff0c;结束时无悔。 个人公众号&#xff1a;早九晚十二&#xff0c;欢迎大家留言交流…

day41|● 343. 整数拆分 ● 96.不同的二叉搜索树

题目链接:343. 整数拆分 1.代码 暴力做法&#xff1a;n前进行组合搜索得出二维数组result存放结果&#xff0c;然后对里面的元素进行乘积&#xff0c;谁最大就是结果 2.递归做法 class Solution { public:int integerBreak(int n) {vector<int>f(n 5, 0);f[2] 1;for …

LinkedList链表知识点概括

作者&#xff1a;爱塔居的博客_CSDN博客-JavaSE,数据结构领域博主 专栏&#xff1a;数据结构 作者简介&#xff1a;大三学生&#xff0c;希望2023年迎来更优秀的自己&#xff01;希望跟大家一同进步~ 文章目录 前言 一、链表的基本概念 二、面试题实战 前言 顺序表/ArrayList:…

数据湖之Hudi基础:核心原理

继续Hudi核心概念 参考官网描述与尚硅谷hudi公开资料 文章目录基本概念时间轴TimeLine1.Instants action 在表上执行的操作类型2.Instant time3.State两个时间概念文件布局&#xff08;FileLayout&#xff09;索引 Index表类型&#xff08;Table Types&#xff09;Copy On Writ…

echarts:实现3D地图版块叠加动效散点效果

需求描述 如下图所示&#xff0c;展示3D效果的地图版块&#xff0c;并叠加显示动效散点&#xff1a; 实现思路 首先是3D地图版块效果的实现&#xff0c;可以参考广州3D地图&#xff1b;而动效散点的实现&#xff0c;可以参考地图发散分布。 这里再提一个经过尝试并不行的思…

【mmdeploy】mmseg转ONNX/TensorRT,附推理代码

目录 1.关于mmdeploy 2.环境安装 2.1预编译安装&#xff08;Linux-x86_64, CUDA 11.x, TensorRT 8.2.3.0&#xff09;&#xff1a; 2.2预编译安装&#xff08;Linux-x86_64, CUDA 11.x, ONNX&#xff09;&#xff1a; 3.mmseg工程torch转onnx 4.使用onnx模型文件进行推理…