57、C语言程序设计谭浩强第五章习题

news/2024/4/29 15:11:48/文章来源:https://blog.csdn.net/weixin_46027166/article/details/129692229

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

辗转相除法:

#include <stdio.h>int main(){int m,n,temp;scanf("%d %d",&m,&n);if(m<n){temp=m;m=n;n=temp;}int d=n*m;int r;while(r=m%n){m=n;n=r;}printf("最大公因数为:%d,最小公倍数:%d",n,d/n);return 0;
}

样例输入与输出:

24 60
最大公因数为:12,最小公倍数:120

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

#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <math.h>
int main(){char s[101];gets(s);int len = strlen(s);int num1=0;//英文int num2=0;//数字int num3=0;//空格int num4=0;//其他int i;for(i=0;i<len;i++){if(isalpha(s[i])!=0){num1++;}else if(s[i]>='0'&&s[i]<='9'){num2++;}else if(s[i]==' '){num3++;}else {num4++;}}printf("英文字母的个数为:%d\n",num1);printf("数字的个数为:%d\n",num2);printf("空格的个数为:%d\n",num3);printf("其他字符的个数为:%d\n",num4);return 0;
}

样例输入与输出:

aaasss  123,.,.
英文字母的个数为:6
数字的个数为:3
空格的个数为:2
其他字符的个数为:4

3、计算形如2+22+222+2222的结果,分别输入a和n,a代表数字,n代表加的个数

#include <stdio.h>int main(){double a,n;scanf("%lf %lf",&a,&n);double sum=a;double q=a;for(int i=1;i<n;i++){q=q*10+a;sum+=q;}printf("%.0lf",sum);return 0;
}

样例输入与输出:

2 5
24690

4、求1!+2!+3!+4!+…+20!

#include <stdio.h>
int main(){double sum=0,p;int i,j;for(i=1;i<=20;i++){p=1;for(j=1;j<=i;j++){p=p*j;}sum+=p;}printf("%.0lf",sum);return 0;
}

输出结果:

2561327494111820300

5、

#include <stdio.h>
#include <math.h>
int main(){double sum=0;int i;for(i=1;i<=100;i++){sum+=i;}for(i=1;i<=50;i++){sum+=i*i;}for(i=1;i<=10;i++){sum+=1.0/i;}printf("%lf",sum);return 0;
}

输出结果:

47977.928968

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

#include <stdio.h>int main(){int i,n,r,sum;for(i=100;i<=999;i++){sum=0;n=i;while(n){r=n%10;sum+=r*r*r;n=n/10;}if(sum==i){printf("%d\n",i);}}return 0;
}

输出结果:

153
370
371
407

7、一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1,2,3,而6=1+2+3,因此6是“完数”。编程序找出1000之内的所有完数,并按下面格式输出其因子:

6 its factors are 1,2,3

#include <stdio.h>
int main(){int i,j,sum;int a[101];int r;for(i=1;i<=1000;i++){sum=0;r=0;for(j=1;j<i;j++){if(i%j==0){sum+=j;a[r++]=j;}}if(sum==i){printf("%d its factors are ",i);for(int q=0;q<r-1;q++){printf("%d,",a[q]);}printf("%d",a[r-1]);printf("\n");}}return 0;
}

输出结果:

6 its factors are 1,2,3
28 its factors are 1,2,4,7,14
496 its factors are 1,2,4,8,16,31,62,124,248

8、有一个分数序列,求出这个数列的前20项之和。

2/1,3/2,5/3,8/5,13/8,25/13........

#include <stdio.h>
int main(){int i;double sum=0;double a[20];a[0]=2;a[1]=3;for(i=2;i<20;i++){a[i]=a[i-1]+a[i-2];}double b[20];b[0]=1;b[1]=2;for(i=2;i<20;i++){b[i]=b[i-1]+b[i-2];}for(i=0;i<20;i++){sum = sum + a[i]/b[i];}printf("%lf",sum);return 0;
}

输出结果:

32.660261

9、一个球从100m高度自由落下,每次落地后反弹回原高度的一半,再落下,再反弹。求它在第10次落地时共经过多少米,第10次反弹多高。

#include <stdio.h>int main(){int i;double n=100;double sum=100;for(i=1;i<10;i++){n=n/2;sum = sum+n*2;}n=n/2;printf("%lf\n%lf",sum,n);return 0;
}

输出结果:

299.609375
0.097656

10、猴子吃桃问题。猴子第1天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第2天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,就只剩一个桃子了。求第1天共摘多少个桃子。

#include <stdio.h>int main(){int n=1;int i;for(i=1;i<10;i++){n=(n+1)*2;}printf("%d",n);return 0;
}

输出结果:1534

11、

#include <stdio.h>
#include <math.h>
int main(){double m=pow(10,-5);double a ,x1,x2;scanf("%lf",&a);x1=sqrt(a);x2=(x1+a/x1)/2.0;while(1){if(fabs(x1-x2)<m){printf("%.0lf的平方根为%lf",a,x2);break;}x1=x2;x2=(x2+a/x2)/2.0;}return 0;
}

样例输入与输出:

2
2的平方根为1.414214

12、用牛顿迭代法求下面方程在1.5附近的根:

#include <stdio.h>
#include <math.h>int  main()
{double x1, x0, f, f1;x1 = 1.5;do{x0 = x1;f = ((2 * x0 - 4) * x0 + 3) * x0 - 6;f1 = (6 * x0 - 8) * x0 + 3;x1 = x0 - f / f1;} while (fabs(x1 - x0) >= 1e-5);printf("方程在1.5附近的根为:%lf\n", x1);return 0;
}

 输出结果:

方程在1.5附近的根为:2.000000

13、用二分法求下面方程在(-10,10)的根:

#include<stdio.h>
#include<math.h>int main()
{double left = -10, right = 10, mid;double temp = 10;while (fabs(temp) > 1e-5){mid = (left + right) / 2;//((2x - 4)*x + 3) * x - 6 ==> 2x^3 - 4x^2 + 3x -6temp = ((2 * mid - 4) * mid + 3) * mid - 6;if (temp > 0){right = mid;}else if (temp < 0){left = mid;}}printf("在(-10,10)的根为:%lf", mid);return 0;
}

14、输出以下图案:

​ *

​ ***

*****

*******

*****

​ ***

​ 

#include <stdio.h>
int main(){int i,j;for(i=0;i<4;i++){for(j=0;j<2*i+1;j++){printf("*");}for(j=2*i+1;j<7;j++){printf(" ");}printf("\n");}for(i=2;i>=0;i--){for(j=2*i;j>=0;j--){printf("*");}for(j=0;j<=6-2*i;j++){printf(" ");}printf("\n");}return 0;
}

输出结果:

*
***
*****
*******
*****
***
*

15、两个乒乓球队进行比赛,各出3人。甲队为A,B,C 3人,乙队为X,Y,Z 3人。已抽签决定比赛名单。有人向队员打听比赛的名单,A说他不和X比,C说他不和X,Z比,请编程序找出3对赛手的名单

#include <stdio.h>
int main(){char a[4];a[1]='x';a[2]='y';a[3]='z';int i,j,r;//i,j,r代表a,b,c  1,2,3代表x,y,zfor(i=1;i<=3;i++){for(j=1;j<=3;j++){for(r=1;r<=3;r++){if(i!=1&&r!=1&&r!=3&&i!=j&&i!=r&&j!=r){printf("a对战%c\n",a[i]);printf("b对战%c\n",a[j]);printf("c对战%c\n",a[r]);break;}}}}return 0;
}

或者

#include <stdio.h>
int main(){char a[4];a[1]='x';a[2]='y';a[3]='z';int i,j,r;for(i=1;i<=3;i++){for(j=1;j<=3;j++){if(i!=j){for(r=1;r<=3;r++){if(r!=i&&r!=j){if(i!=1&&r!=1&&r!=3){printf("a对战%c\n",a[i]);printf("b对战%c\n",a[j]);printf("c对战%c\n",a[r]);}}}}}}return 0;
}

 

输出结果:

a对战z
b对战x
c对战y

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

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

相关文章

ONES 入选北大光华 MBA 整合实践项目,推动校企合作

近日&#xff0c;ONES 旗下开源问答社区软件 Answer 入选北京大学光华管理学院 MBA 整合实践项目&#xff0c;并受邀出席项目启动会。同时入选的还有国电投清洁能源基金、京东零售、瑞尔集团、美国丹纳赫集团、大众汽车&#xff08;中国&#xff09;和贝壳找房六家国内外知名企…

队列----数据结构

队列&#x1f506;队列的概念&#x1f506;队列的结构&#x1f506;队列的实现&#x1f506;设计循环队列&#x1f506;循环队列的结构&#x1f506;循环队列的实现&#x1f506;结语&#x1f506;队列的概念 队列&#xff1a;只允许在一端进行插入数据操作&#xff0c;在另一端…

5G、工业4.0、车载以太网……TSN时间敏感网络能给我们带来哪些市场机会?

TSN是一项面向未来的新兴技术&#xff0c;它定义了以太网数据传输的时间敏感机制&#xff0c;为标准以太网增加了确定性和可靠性&#xff0c;以确保数据实时、确定和可靠地传输。这些扩展使得以太网能够应用于更加广泛的行业中&#xff0c;进而带来了更多新的市场机会。 1. 5G…

电力行业等保定级评级依据是什么?分为几个等级?

最近看到不少电力行业小伙伴在问&#xff0c;电力行业等保定级评级依据是什么&#xff1f;分为几个等级&#xff1f;今天我们小编就来给大家简单回答一下&#xff0c;仅供参考哦&#xff01; 电力行业等保定级评级依据是什么&#xff1f;分为几个等级&#xff1f; 【回答】&a…

【2023.3.18 美团校招】

文章目录1. 小美剪彩带2. 最多修改两个字符&#xff0c;生成字典序最小的回文串1. 小美剪彩带 题意&#xff1a;找出区间内不超过k种数字子数组的最大长度 使用双指针的方式&#xff0c;用哈希表来统计每个数出现次数。在双指针移动的过程中&#xff0c;动态的维护区间内不同数…

bean的作用域和生命周期和后置处理器以及作用域对生命周期的影响~

scope属性可以指定bean的作用范围&#xff1a; 在spring中可以通过配置bean标签的scope属性来指定bean的作用域范围&#xff0c;各取值含义参照表如下&#xff1a; 编写spring_test.xml文件&#xff1a; <?xml version"1.0" encoding"UTF-8"?> &…

Spring Quartz项目实现Job的动态控制

一、简单介绍 Quartz可以对job进行简单控制&#xff0c;但不支持分布式&#xff0c;也没有管理界面和任务分片&#xff0c;但使用起来比较简易。 二、创建简单Demo 我们开始简单使用一下&#xff0c;首先创建Demo&#xff0c;在pom文件中加入以下依赖。 <parent><g…

golang项目实战2023/03/21

初始化项目首先建立一个文件夹在文件夹下面建一个main.go文件执行初始化命令行go mod init page // page 为自己的项目名称 go mod tidy 安装框架 go get gorm.io/gorm // gorm go get gorm.io/driver/mysql // 这里是用的sql数据库 go get -u github.com/gin-gonic/gin // 这…

Numpy 广播域

NumPy广播(Broadcast)&#xff0c;广播(Broadcast)是 numpy 对不同形状(shape)的数组进行数值计算的方式&#xff0c; 对数组的算术运算通常在相应的元素上进行。不同形状指的是&#xff0c;大小不同当然不是指的维度&#xff0c;但是要求数组各维度的长度相同例如&#xff1a;…

ICG-MAL,吲哚菁绿-马来酰亚胺,CAS:2143933-81-5,科研级别试剂

ICG-MAL,吲哚菁绿-马来酰亚胺 中文名称&#xff1a;吲哚菁绿-马来酰亚胺 英文名称&#xff1a;ICG-MAL 性状&#xff1a;粉末或固体 CAS&#xff1a;2143933-81-5 分子式&#xff1a;C51H56N4O6S 分子量&#xff1a;853.09 溶剂&#xff1a;溶于二氯甲烷等常规性有机溶…

【洛谷刷题】蓝桥杯专题突破-深度优先搜索-dfs(7)

目录 写在前面&#xff1a; 题目&#xff1a;P1596 [USACO10OCT]Lake Counting S - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目描述&#xff1a; 输入格式&#xff1a; 输出格式&#xff1a; 输入样例&#xff1a; 输出样例&#xff1a; 解题思路&#xff1a; …

【技巧】十大深度学习技巧和经验总结

✅作者简介&#xff1a;在读博士&#xff0c;伪程序媛&#xff0c;人工智能领域学习者&#xff0c;深耕机器学习&#xff0c;交叉学科实践者&#xff0c;周更前沿文章解读&#xff0c;提供科研小工具&#xff0c;分享科研经验&#xff0c;欢迎交流&#xff01;&#x1f4cc;个人…

RocketMQ重复消费问题的原因

文章目录 概览消息发送异常时重复发送消费消息抛出异常消费者提交offset失败服务端持久化offset失败主从同步offset失败重平衡清理长时间消费的消息总结概览 消息发送异常时重复发送 首先,我们来瞅瞅RocketMQ发送消息和消费消息的基本原理。 如图,简单说一下上图中的概念: …

责任链设计模式的一次实践

业务需求 框架&#xff1a;SSH 需要对全部接口的响应体 ResponseBody 做 XSS 拦截 解决方案 在全局拦截器中检测 Response Body 是否有非法字符&#xff0c;如果有&#xff0c;就抛出异常。 实际上&#xff0c;在 struts2 的拦截器上&#xff0c;我发现 即使修改了 action…

yum安装docker以及安装指定版本docker

Docker是Docker.Inc公司开源的一个基于轻量级虚拟化技术的容器引擎项目,整个项目基于Go语言开发&#xff0c;并遵从Apache 2.0协议。通过分层镜像标准化和内核虚拟化技术&#xff0c;Docker使得应用开发者和运维工程师可以以统一的方式跨平台发布应用&#xff0c;并且以几乎没有…

在Java中,使用HttpUtils实现发送HTTP请求

HTTP请求&#xff0c;在日常开发中&#xff0c;还是比较常见的&#xff0c;今天给大家分享HttpUtils如何使用。 阅读本文&#xff0c;你将收获&#xff1a; 简单总结HTTP请求常用配置&#xff1b;JavaLib中HttpUtils如何使用&#xff1b;如何封装HTTP请求工具类。 第一部分&a…

【Unity入门】3D物体

【Unity入门】3D物体 大家好&#xff0c;我是Lampard~~ 欢迎来到Unity入门系列博客&#xff0c;所学知识来自B站阿发老师~感谢 &#xff08;一&#xff09;物体移动旋转缩放 &#xff08;1&#xff09;物体移动 在上一篇文章【Unity入门】场景视图操作我们学会了在场景中创建3…

开源供应链管理系统 S2B2B2C系统方案及源码输出

连锁供应链的管理&#xff0c;包括供应链的仓库管理、业务员管理、门店订货管理、门店管理、门店前端拓客管理&#xff0c;相关的功能结构图如下&#xff1a; 整个方案含PC、小程序端&#xff0c;源码&#xff01; 功能列表&#xff1a; 仓库管理&#xff1a;包括仓库布局、库存…

Fabric系列 - TLS身份验证

排序节点&#xff08;Orderer&#xff09;要启用TLS身份验证 对等节点&#xff08;Peer&#xff09;要启用TLS的身份验证 Gossip 消息传递 gossip 层使用 TLS 绑定来验证连接另一端的对等方的身份。 通过 Peer 节点 TLS 层来处理点对点消息的安全性&#xff0c;不需要使用签名…

OpenAI创始人:GPT-4的研究起源和构建心法

OneFlow编译 翻译&#xff5c;杨婷、贾川、徐佳渝 三十年前&#xff0c;互联网&#xff08;Web 1.0&#xff09;时代开启。人们只能在笨重的电脑上用鼠标点击由HTML编写的网页文本&#xff0c;随后开始支持插入图片&#xff0c;可以上传视频&#xff0c;于是有了网络新闻、搜索…