【C/PTA——循环结构3】

C/PTA——循环结构3

    • 7-1 二分法求多项式单根
      • 1.题目要求
      • 2.代码实现
    • 7-2 循环-十进制转化
      • 1.题目要求
      • 2.代码实现
    • 7-3 梅森数
      • 1.题目要求
      • 2.代码实现
    • 7-4 单词长度
      • 1.题目要求
      • 2.代码实现
    • 7-5 21循环-求和3
      • 1.题目要求
      • 2.代码实现
    • 7-6 21循环-金字塔
      • 1.题目要求
      • 2.代码实现
    • 7-7 循环-杨辉三角
      • 1.题目要求
      • 2.代码实现

7-1 二分法求多项式单根

1.题目要求

在这里插入图片描述

2.代码实现

#include <stdio.h>  
double a3, a2, a1, a0;  

double f(double x)  
{  
    double result;  
    result=a3*x*x*x+a2*x*x+a1*x+a0;  
    return result;  
}
  
int main()  
{  
    double a, b;  
    scanf("%lf%lf%lf%lf",&a3,&a2,&a1,&a0);  
    scanf("%lf%lf",&a,&b);  
    
    double left,mid,right;  
    left=a;  
    right=b;  
    
    ///大于阈值时使用二分法求出单根,程序结束
    while(right-left>=0.001&&f(left)*f(right)<=0)  
    {  
        if(f(left)==0)  
        {  
            printf("%.2f",left);  
            return 0;  
        }  
        if(f(right)==0)  
        {  
            printf("%.2f",right);  
            return 0;  
        }  
        
        mid=(left+right)/2;  
        if (f(mid)*f(left)>0)  
        {  
            left=mid;  
        }  
        else  //由于先决条件为f(left)*f(right)<0,因此此时else语句等价于f(mid)与f(left)异号,即与f(right)同号
        {  
            right=mid;  
        }  
    }  
    
    
    不大于阈值时输出中点
    printf("%.2f",mid);  
    return 0;  
}  

7-2 循环-十进制转化

1.题目要求

在这里插入图片描述

2.代码实现

#include<stdio.h>
#include<math.h>
int Coun(int n,int m)//进制转化,位数计算函数
{
	int count = 0;
	while (n)//统计进制转换后,数字位数的统计
	{
		count++;
		n /= m;
	}
	return count;
}
int main()
{
	int n, m;
	int sum = 0;
	scanf("%d %d", &n, &m);
	int count = Coun(n, m);
	int num = count;
	while (n)
	{
		sum = sum + (int)pow(10, num - count) * (n % m);
		n /= m;
		count--;
	}
	printf("%d", sum);
	return 0;
}

7-3 梅森数

1.题目要求

在这里插入图片描述

2.代码实现

#include<stdio.h>
#include<math.h>
int main()
{
	int n = 0, num = 0;
	int count = 0;
	scanf("%d", &n);
	for(int j=2;j<=n;j++)
	{
		for (int i = 2; i < ((int)pow(2,j)-1); i++)
		{
			if (((int)pow(2, j) - 1) % i == 0)//素数的判断
				count++;
			
		}
		if (count == 0)//梅森数的判断
		{
			printf("%d\n", (int)pow(2, j) - 1);
			num++;
		}
			
		count = 0;//判断完一个后,计数置0
	}
	if (num == 0)//不存在梅森数的情况
		printf("None\n");
	
	return 0;
}

7-4 单词长度

1.题目要求

在这里插入图片描述

2.代码实现

#include<stdio.h>
int main() {
    char s[100] = { 0 };
    char* p = &s;
    int i = 0;
    scanf("%[^.]", s);//[^.]是输入到.前面位置,遇到.结束输入
    for (; *(p) != 0; p = p + 1)
    {
        if (*(p) != ' ')
            i++;
        if (*(p) == ' ' && *(p + 1) == ' ')
            continue;//吞多余空格 
        if (*(p) == ' ' && *(p + 1) != 0 && i != 0)
        {
            printf("%d ", i);
            i = 0;
        }//输出前面单词的数目,i!=0有效解决了开头多空格问题 
        if (*(p + 1) == 0)//输出最后一个单词的数目 
            printf("%d", i);
    }
    return 0;
}

7-5 21循环-求和3

1.题目要求

在这里插入图片描述

思路:
1.使用两个嵌套的for循环,外层循环控制1到n的遍历,内层循环控制1到k的遍历。
2.在内层循环中,每次将total乘以当前外层循环的迭代变量i,并取结果对114514取模(%)。
3.在外层循环中,将计算得到的total累加到sum上,并将结果对114514取模,再重新将total置为1。

2.代码实现

#include<stdio.h>
int main()
{
    int n, k;
    scanf("%d %d", &n,&k);

    int total = 1;
    int sum = 0;

    for (int i = 1; i <= n; i++)
    {
        for (int j = 1; j <= k; j++)
        {
            total = (total * i) % 114514;
        }
        sum = (sum + total) % 114514;
        total = 1;
    }
    printf("%d", sum);
}

7-6 21循环-金字塔

1.题目要求

在这里插入图片描述

2.代码实现

#include<stdio.h>
int main()
{
	int n, m = 0, k, i = 1, j;
	scanf("%d", &n);
	if (n == 1) {
		printf("1");
		return 0;
	}
	while (n > m) {
		m = (i + 1) * (i + 2) / 2;
		i++;
		k = (i + 1) * (i + 2) / 2;
		if (n <= k) {
			n = i - 1;
		}
	}
	for (i = 0; i <= n; i++) {
		for (j = 0; j < n - i; j++) {
			printf("0");
		}
		printf("%d", n + 1 - i);
		for (k = 1; k <= i; k++) {      //for循环里面套了三个并列的for循环,每次重新进入内部循环时,k都会重新赋值为1;这个循环很巧妙,第一次无法进入,第二次以后就可以,并且循环次数逐一增加。
			printf("0%d", n + 1 - i);
		}
		for (j = 0; j < n - i; j++) {
			printf("0");
		}
		printf("\n");
	}
	return 0;
}

7-7 循环-杨辉三角

1.题目要求

在这里插入图片描述

2.代码实现

#include<stdio.h>
int main() {
    int n, m;
    int k = 0;
    scanf("%d %d", &n, &m);
    if(n>m)
    {
        int tmp=n;
        n=m;
        m=tmp;
}
    int triangle[22][22] = { 0 }; // 初始化为0
    for (int i = 1; i <= 21; i++) {
        triangle[i][1] = 1;
        for (int j = 2; j <= i; j++) {
            triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j];
        }
    }
    
    for (int i = n; i <= m; i++)//空格的输出
     {
        for (k = m - i; k >= 1; k--)
        {
            printf(" ");
        }
            
        for (int j = 1; j <= i; j++)
         {
            if(j<i)
            printf("%d ", triangle[i][j] % 10);
            if (j == i)
                printf("%d", triangle[i][j]);// 取最后一位
        }
        printf("\n");
    }
    return 0;
}

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

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

相关文章

解决Jenkins执行git脚本时报错:No such device or address问题

问题现象&#xff1a; Jenkins执行BeanShell脚本时&#xff0c;报错&#xff1a;jenkins fatal: could not read Username for http://112.11.120.1: No such device or address 解决方案&#xff1a; 解决服务器拉取git仓库的代码权限&#xff0c;使用高级子模块克隆功能。…

【深度学习】卷积层填充和步幅以及其大小关系

参考链接 【深度学习】&#xff1a;《PyTorch入门到项目实战》卷积神经网络2-2&#xff1a;填充(padding)和步幅(stride) 一、卷积 卷积是在深度学习中的一种重要操作&#xff0c;但实际上它是一种互相关操作&#xff0c;&#xff0c;首先我们来了解一下二维互相关&#xff…

物联网水表电子阀工作原理是怎样的?

随着科技的不断发展&#xff0c;物联网技术逐渐深入到我们的生活之中。作为智能家居的重要组成部分&#xff0c;物联网水表电子阀凭借其智能化、节能环保等优势&#xff0c;受到了越来越多用户的青睐。接下来&#xff0c;合众小编将来为大家介绍下物联网水表电子阀工作原理。 一…

助力网络安全攻防演练 | 中睿天下获国网蒙东电力数字化事业部感谢信

近日&#xff0c;中睿天下因积极协助和支撑国网蒙东电力数字化事业部在2023年国家网络安全专项演习期间的工作&#xff0c;有效保障了护网行动期间网络的安全稳定运行&#xff0c;因而获得了国网蒙东电力数字化事业部的高度认可&#xff0c;并向我司致书面表扬信&#xff0c;这…

SpringBoot整合Canal+RabbitMQ监听数据变更(对rabbit进行模块封装)

SpringBootCanal(监听MySQL的binlog)RabbitMQ&#xff08;处理保存变更记录&#xff09; 在SpringBoot中采用一种与业务代码解耦合的方式&#xff0c;来实现数据的变更记录&#xff0c;记录的内容是新数据&#xff0c;如果是更新操作还得有旧数据内容。 使用Canal来监听MySQL的…

React事件绑定的方式有哪些?区别?

一、是什么 在react应用中&#xff0c;事件名都是用小驼峰格式进行书写&#xff0c;例如onclick要改写成onClick 最简单的事件绑定如下&#xff1a; class ShowAlert extends React.Component { showAlert() { console.log("Hi"); } render() { ret…

接口测试工具的实验,Postman、Swagger、knife4j(黑马头条)

一、Postman 最常用的接口测试软件&#xff0c;需要注意点&#xff1a;在进行post请求时&#xff0c;需要选择JSON形式发送 输入JSON字符串&#xff0c;比如&#xff1a; {"maxBehotTime": "2021-04-19 00:19:09","minBehotTime": "2021-…

MacOS升级后命令行出现xcrun: error: invalid active developer path报错信息

在Mac上用g编译cpp文件时&#xff0c;出现以下&#xff08;类似于工具环境问题的&#xff09;报错&#xff1a; 解决方案&#xff1a;重新安装最新版的MacOS Command Line Tools xcode-select --install重新尝试编译&#xff1a; 编译成功&#xff08;忽略这个warning&…

Leetcode—515.在每个树行中找最大值【中等】

2023每日刷题&#xff08;二十三&#xff09; Leetcode—515.在每个树行中找最大值 DFS实现代码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/ /*** Note: The returned arra…

说说对Fiber架构的理解?解决了什么问题?

一、问题 JavaScript引擎和页面渲染引擎两个线程是互斥的&#xff0c;当其中一个线程执行时&#xff0c;另一个线程只能挂起等待 如果 JavaScript 线程长时间地占用了主线程&#xff0c;那么渲染层面的更新就不得不长时间地等待&#xff0c;界面长时间不更新&#xff0c;会导…

【微服务部署】五、Jenkins+Docker一键打包部署NodeJS(Vue)项目的Docker镜像步骤详解

NodeJS&#xff08;Vue&#xff09;项目也可以通过打包成Docker镜像的方式进行部署&#xff0c;原理是先将项目打包成静态页面&#xff0c;然后再将静态页面直接copy到Nginx镜像中运行。 一、服务器环境配置 前面说明了服务器Nginx的安装和配置&#xff0c;这里稍微有些不同&a…

机器学习中的关键组件

机器学习中的关键组件 数据 每个数据集由一个个样本组成&#xff0c;大多时候&#xff0c;它们遵循独立同分布。样本有时也叫作数据点或数据实例&#xff0c;通常每个样本由一组称为特征或协变量的属性组成。机器学习会根据这些属性进行预测&#xff0c;预测得到的称为标签或…

2023亚太杯数学建模C题思路分析

文章目录 0 赛题思路1 竞赛信息2 竞赛时间3 建模常见问题类型3.1 分类问题3.2 优化问题3.3 预测问题3.4 评价问题 4 建模资料5 最后 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 竞赛信息 2023年第十三…

微信小程序使用阿里巴巴矢量图标

一&#xff0c;介绍 微信小程序使用图标有两种方式&#xff0c;一种是在线获取&#xff0c;一种是下载到本地使用&#xff0c; 第一种在线获取的有个缺点就是图标是灰色的&#xff0c;不能显示彩色图标&#xff0c;而且第一种是每次请求资源的&#xff0c;虽然很快&#xff0…

工业园区一般用多大规格的电表?

随着我国经济的快速发展&#xff0c;工业园区在各地区如雨后春笋般崛起。作为电力系统的重要组成部分&#xff0c;电表的选择与应用对于工业园区的稳定运行至关重要。那么&#xff0c;工业园区一般用的是多大规格的电表呢&#xff1f;下面&#xff0c;小编就来给大家揭秘一下&a…

基于SSM框架的管理系统-计算机毕设 附源码 23402

基于SSM框架的管理系统 摘 要 随着社会的发展&#xff0c;社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。在目前的形势下&#xff0c;无论是从国家到企业再到家庭&#xff0c;计算机都发挥着其不可替代的作用&#xff0c;可以说…

数据源、映射器的复用

开发环境&#xff1a; Windows 11 家庭中文版Microsoft Visual Studio Community 2019VTK-9.3.0.rc0vtk-example参考代码目的&#xff1a;学习与总结 demo解决问题&#xff1a;复用球体数据源、映射器&#xff0c;vtkSmartPointer与std::vector、vtkNew与std::array的搭配使用…

overflow: auto滚动条跳到指定位置

点击对应模块跳转页面&#xff0c;滚动到对应模块&#xff0c;露出到可视范围 代码&#xff1a; scrollToCurrentCard() {// treeWrapper是包裹多个el-tree组件的父级元素&#xff0c;也是设置overflow:auto的元素let treeWrapper document.getElementsByClassName(treeWrapp…

调试 Mahony 滤波算法的思考 10

调试 Mahony 滤波算法的思考 1. 说在前面的2.Mahony滤波算法的核心思想3. 易懂的理解 Mahony 滤波算法的过程4. 其他的一些思考5. 民间 9轴评估板 1. 说在前面的 之前调试基于QMI8658 6轴姿态解算的时候&#xff0c;我对Mahony滤波的认识还比较浅薄。初次的学习和代码的移植让…

超全大厂UI库分享,可免费套用!

今天我们要给大家分享的是TDesign、Arco Design、Ant Design、Material design等6个优秀的大厂UI库&#xff0c;一次性打包送给大家&#xff0c;通通免费用。大厂UI库都是经过无数次的事件检验的&#xff0c;扛住了许多种使用场景和突发情况的组件资源库&#xff0c;是前人的经…
最新文章