当前位置: 首页 > news >正文

PTA:C课程设计(2)

山东大学(威海)2022级大一下C习题集(2)

  • 2-5-1 字符定位函数(程序填空题)
  • 2-5-2 判断回文(程序填空题)
  • 2-6-1 数字金字塔(函数)
  • 2-6-2 使用函数求最大公约数(函数)
  • 2-6-3 使用函数求余弦函数的近似值(函数)
  • 2-6-4 使用函数输出水仙花数(函数)
  • 2-6-5 使用函数的选择法排序(函数)
  • 2-7-1 求一批整数中出现最多的个位数字
  • 2-7-2 找鞍点

2-5-1 字符定位函数(程序填空题)

在主函数中输入一个字符串和一个字符,调用match函数,如果该字符在字符串中,就从该字符首次出现的位置开始输出字符串中的字符。如果未找到,输出“Not Found”。

本题要求:根据main函数的程序实现,完成match函数的定义。

int main(void )
{char ch, str[80], *p = NULL;scanf("%s", str);getchar(); while((ch = getchar())!='\n')  {if((p = match(str, ch)) != NULL)  printf("%s\n", p);else printf("Not Found\n");}return 0;
}
//1)____________________ (1分)/* 字符定位函数定义:match函数*/
{while (/*2)________ (1分) */)if (*s == ch) //3)__________ (1分) else s++; return //4)__________ (1分); 
} 

答案:

1char* match(char* s,char ch)
2*s!='\0'
3return s; 
4) NULL

2-5-2 判断回文(程序填空题)

回文是指正读和反读都一样的字符串,如abcba就是一个回文,
从键盘输入一个字符串判断其是否是回文,如果是则输出"Yes!“,
否则输出"No!”,请填空完成相应功能。

输入输出样例如下:
输入样例1:
abccba
输出样例1:
Yes!
输入样例2:
abcde
输出样例2:
No!

#include <stdio.h>
#include <string.h>
#define N 80
int main(void)
{char s[N];int i,j;gets(s); i=0;j = /*1)_________ (1分)*/;while(/*2)_________ (1分)*/){if(/*3)_________ (1分)*/){i++;j--;}elsebreak;
}if(/*4)_________ (1分)*/)printf("Yes!\n");elseprintf("No!\n");return 0;
}
1)strlen(s)-1
2)i<j
3)s[i] == s[j]
4)i>=j

2-6-1 数字金字塔(函数)

函数接口定义:

void pyramid(int n)

其中n是用户传入的参数,为[1, 9]的正整数。要求函数按照如样例所示的格式打印出n行数字金字塔。注意每个数字后面跟一个空格。

void pyramid(int n)
{for (int i = 1; i <= n; i++){for (int k = 0; k < n - i; k++)printf(" ");for (int j = 1; j <= i; j++){printf("%d ", i);}printf("\n");}
}

2-6-2 使用函数求最大公约数(函数)

函数接口定义:

int gcd( int x, int y );

其中x和y是两个正整数,函数gcd应返回这两个数的最大公约数

int gcd( int x, int y )
{int ret = 0;if(x>=y){if(x%y==0)return y;elsereturn gcd(y,x%y);}else{if(y%x==0)return x;elsereturn  gcd(x,y%x);}
}

2-6-3 使用函数求余弦函数的近似值(函数)

函数接口定义:

double funcos( double e, double x );

本题要求实现一个函数,用麦克劳林展开公式求cos(x)的近似值,精确到最后一项的绝对值小于e(函数的一个参数,不是数学中的那个e)

double funcos( double e, double x )
{if(x==0)return 1;double fu = 1.0,t = 1.0;double sum = 1.0;int i = 1;while(t>=e){fu = -1*fu*x*x/(i*(i+1));i+=2;sum+=fu;if(fu<0)t = -1*fu;elset = fu;}return sum;
}

2-6-4 使用函数输出水仙花数(函数)

函数接口定义:

int narcissistic( int number );
void PrintN( int m, int n );

函数narcissistic判断number是否为水仙花数,是则返回1,否则返回0。

函数PrintN则打印开区间(m, n)内所有的水仙花数,每个数字占一行。题目保证100≤m≤n≤10000

int narcissistic( int number )
{int count  = 0;int n = number,t = number;while(n){count++;n/=10;}int sum = 0,w = 0;for(int i = 0;i<count;i++){w=number%10;sum += pow(w,count);number/=10;}if(t==sum)return 1;return 0;}
void PrintN( int m, int n )
{for(int i = m+1;i<n;i++){if(narcissistic(i))printf("%d\n",i);}
}

2-6-5 使用函数的选择法排序(函数)

函数接口定义:

void sort( int a[], int n );

其中a是待排序的数组,n是数组a中元素的个数。该函数用选择法将数组a中的元素按升序排列,结果仍然在数组a中。

void sort( int a[], int n )
{for(int j = 0;j<n-1;j++){int min = a[j];for(int i = 0;i<n-1-j;i++){if(a[i]>a[i+1]){int t = a[i];a[i] = a[i+1];a[i+1] = t;}}}
}

2-7-1 求一批整数中出现最多的个位数字

给定一批整数,分析每个整数的每一位数字,求出现次数最多的个位数字。例如给定3个整数1234、2345、3456,其中出现最多次数的数字是3和4,均出现了3次。

输入格式:
输入在第1行中给出正整数N(≤1000),在第二行中给出N个不超过整型范围的非负整数,数字间以空格分隔。

输出格式:
在一行中按格式“M: n1 n2 …”输出,其中M是最大次数,n1、n2、……为出现次数最多的个位数字,按从小到大的顺序排列。数字间以空格分隔,但末尾不得有多余空格。

#include<stdio.h>
#include<ctype.h>int main() 
{int n = 0;int i, max =0, c, m;int arr[10] = {0};while (scanf("%d", &n) != EOF) {max = 0;for (i = 0; i<10; i++) {arr[i] = 0;}for (i = 0; i < n; i++) {scanf("%d", &c);do {m = c % 10;c /= 10;arr[m]++;if (arr[m] > max) {max = arr[m];}} while (c);}printf("%d:", max);for (int j = 0; j<10; j++) {if (arr[j] == max) {printf(" %d", j);}}printf("\n");}return 0;
}

2-7-2 找鞍点

一个矩阵元素的“鞍点”是指该位置上的元素值在该行上最大、在该列上最小。

本题要求编写程序,求一个给定的n阶方阵的鞍点。

输入格式:
输入第一行给出一个正整数n(1≤n≤6)。随后n行,每行给出n个整数,其间以空格分隔。

输出格式:
输出在一行中按照“行下标 列下标”(下标从0开始)的格式输出鞍点的位置。如果鞍点不存在,则输出“NONE”。题目保证给出的矩阵至多存在一个鞍点

#include<stdio.h>
int main()
{int n = 0;scanf("%d",&n);int arr[6][6];for(int i = 0;i<n;i++){for(int j = 0;j<n;j++)scanf("%d",&arr[i][j]);}int h = 0,l=0,flag =0;int i = 0;for(;i<n;i++){for(int j = 0;j<n;j++){if(arr[i][j]>=arr[i][l]){l = j;}}flag = 1;for(h = 0;h<n;h++){if(arr[h][l] <arr[i][l]){flag  = 0;break;}}if(flag ==1)break;}if(flag == 1){printf("%d %d",i,l);}elseprintf("NONE");return 0;
}

相关文章:

PTA:C课程设计(2)

山东大学&#xff08;威海&#xff09;2022级大一下C习题集&#xff08;2&#xff09;2-5-1 字符定位函数&#xff08;程序填空题&#xff09;2-5-2 判断回文&#xff08;程序填空题&#xff09;2-6-1 数字金字塔(函数)2-6-2 使用函数求最大公约数(函数)2-6-3 使用函数求余弦函…...

第四章:面向对象编程

第四章&#xff1a;面向对象编程 4.1&#xff1a;面向过程与面向对象 面向过程(POP)与面向对象(OOP) 二者都是一种思想&#xff0c;面向对象是相对于面向过程而言的。面向过程&#xff0c;强调的是功能行为&#xff0c;以函数为最小单位&#xff0c;考虑怎么做。面向对象&…...

Linux 安装npm yarn pnpm 命令

下载安装包 node 下载地址解压压缩包 tar -Jxf node-v19.7.0-linux-x64.tar.xz -C /root/app echo "export PATH$PATH:/app/node-v16.9.0-linux-x64" >> /etc/profile source /etc/profile ln -sf /app/node-v16.9.0-linux-x64/bin/npm /usr/local/bin/ ln -…...

linux SPI驱动代码追踪

一、Linux SPI 框架概述 linux系统下的spi驱动程序从逻辑上可以分为3个部分: SPI Core&#xff1a;SPI Core 是 Linux 内核用来维护和管理 spi 的核心部分&#xff0c;SPI Core 提供操作接口&#xff0c;允许一个 spi master&#xff0c;spi driver 和 spi device 在 SPI Cor…...

Ls-dyna材料的相关学习笔记

Elastic Linear elastic materials -Isotropic:各向同性材料 -orthotropic 正交各向异性的 -anistropic 各向异性的...

Arrays方法(copyOfRange,fill)

Arrays方法 1、Arrays.copyOfRange Arrays.copyOfRange的使用方法 功能&#xff1a; 将数组拷贝至另外一个数组 参数&#xff1a; original&#xff1a;第一个参数为要拷贝的数组对象 from&#xff1a;第二个参数为拷贝的开始位置&#xff08;包含&#xff09; to&#xff1a;…...

AcWing - 蓝桥杯集训每日一题(DAY 1——DAY 5)

文章目录一、AcWing 3956. 截断数组&#xff08;中等&#xff09;1. 实现思路2. 实现代码二、AcWing 3729. 改变数组元素&#xff08;中等&#xff09;1. 实现思路2. 实现代码三、AcWing 1460. 我在哪&#xff1f;&#xff08;简单&#xff09;1. 实现思路2. 实现代码四、AcWin…...

RHCSA-文件的其他命令(3.7)

目录 文件的其他命令&#xff1a; 文本内容统计wc 移动和复制&#xff08;cp&#xff09; 移动 查找文件的路径 压缩和解压缩 .tar&#xff08;归档命令&#xff09; shell-命令解释器 linux中的特殊字符 查看系统上的别名&#xff1a;alias 历史命令&#xff08;his…...

多线程update导致的mysql死锁问题处理方法

最近想起之前处理过的一个mysql 死锁问题&#xff0c;是在高并发下update批量更新导致的&#xff0c;这里探讨一下发生的原因&#xff0c;以及解决办法&#xff1b; 发生死锁的sql语句如下&#xff0c;其中where条件后的字段是有复合索引的。 update t_push_message_device_h…...

SpringBoot 如何保证接口安全?

为什么要保证接口安全对于互联网来说&#xff0c;只要你系统的接口暴露在外网&#xff0c;就避免不了接口安全问题。 如果你的接口在外网裸奔&#xff0c;只要让黑客知道接口的地址和参数就可以调用&#xff0c;那简直就是灾难。举个例子&#xff1a;你的网站用户注册的时候&am…...

英伟达驱动爆雷?CPU占用率过高怎么办?

又有一新驱动导致CPU占用率过高&#xff1f; 上周英伟达发布531.18显卡驱动&#xff0c;为大家带来了视频超分辨率技术&#xff0c;并为新发布的热门游戏《原子之心》提供支持。 但在安装新驱动后没过不久就有玩家反映&#xff0c;在游戏结束后会出现CPU占用率突然飙升到10%以…...

链表经典面试题【典中典】

&#x1f4af;&#x1f4af;&#x1f4af;链表经典面试题❗❗❗炒鸡经典&#xff0c;本篇带有图文解析&#xff0c;建议动手刷几遍。&#x1f7e5;1.反转链表&#x1f7e7;2.合并两个有序链表&#x1f7e8;3.链表分割&#x1f7e9;4.链表的回文结构&#x1f7e6;5.相交链表&…...

Java泛型深入

一. 泛型的概述和优势 泛型概述 泛型&#xff1a;是JDK5中引入的特性&#xff0c;可以在编译阶段约束操作的数据类型&#xff0c;并进行检查。泛型的格式&#xff1a;<数据类型>&#xff0c;注意&#xff1a;泛型只能支持引用数据类型。集合体系的全部接口和实现类都是…...

体验Linux USB 驱动

目录 一、USB OTG 二、I.MX6ULL USB 接口简介 硬件原理图 1、USB HUB 原理图 2 、USB OTG 原理图 三、使能驱动 1、打开 HID 驱动 2、 使能 USB 键盘和鼠标驱动 3 、使能 Linux 内核中的 SCSI 协议 4、使能 U 盘驱动 四、测试u盘 五、 Linux 内核自带 USB OTG USB 是…...

servlet 中的ServletConfig与servletContext

ServletConfig对象&#xff1a;servlet配置对象&#xff0c;主要把servlet的初始化参数封装到这个对象中。 一个网站中可能会存在多个servletConfig对象&#xff0c;一个servletConfig对象就封装了一个servlet的配置信息。 可以在web.xml中通过<init-param></init-p…...

Hadoop3.1.3单机(伪分布式配置)

参考&#xff1a;林子雨老师网站博客 Hadoop安装搭建伪分布式教程&#xff08;全面&#xff09;吐血整理 环境 Vmare12 Ubuntu16.04 创建Hadoop用户 若安装Ubuntu不是用的“hadoop”用户&#xff0c;则需要增加一个名为"hadoop"的用户 直接快捷键ctrlaltt或者点…...

HBase---浅谈HBase原理

浅谈HBase原理 文章目录浅谈HBase原理HBase定义HBase逻辑结构HBase物理存储结构TimeStampType数据模型NaneSpaceRegionRowColumnTineStampCellHBase架构MasterMaster 架构Meta 表格介绍Region ServerRegionServer 架构MemStoreWALBlockCacheZookeeperHDFSHBase写数据流程HBase读…...

学习笔记四:dockerfile

Dockerfile概述dockerfile语法详解FROMMAINTAINERRUN&#xff1a;指定在当前镜像构建过程中要运行的命令EXPOSE指令CMDENTERYPOINTCOPYADDVOLUMEWORKDIRENVUSERONBUILDLABELHEALTHCHECKARG概述 Dockerfile 是一个用来构建镜像的文本文件&#xff0c;文本内容包含了一条条构建镜…...

微服务里的小问题

1.微服务为什么设置不同的namespace 为了实现三种服务三种情况下的隔离。 2.为什么要用nginx为naocos集群结点做负载均衡&#xff1f; 2.1 正向代理 就像我们访问外网需要一个代理。 2.2 反向代理 我们不需要访问真实的ip&#xff0c;只需要访问 这个服务的代理服务器即可&a…...

数据库之基本功:Where 中常用运算符

1. 运算符及优先级 ( )优先级最高 SQL> show user; USER is "SCOTT" SQL> select ename, job, sal, comm from emp where jobSALESMAN OR jobPRESIDENT and sal> 1500;ENAME JOB SAL COMM …...

基于算法竞赛的c++编程(28)结构体的进阶应用

结构体的嵌套与复杂数据组织 在C中&#xff0c;结构体可以嵌套使用&#xff0c;形成更复杂的数据结构。例如&#xff0c;可以通过嵌套结构体描述多层级数据关系&#xff1a; struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...

HTML 语义化

目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案&#xff1a; 语义化标签&#xff1a; <header>&#xff1a;页头<nav>&#xff1a;导航<main>&#xff1a;主要内容<article>&#x…...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试

作者&#xff1a;Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位&#xff1a;中南大学地球科学与信息物理学院论文标题&#xff1a;BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接&#xff1a;https://arxiv.…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)

笔记整理&#xff1a;刘治强&#xff0c;浙江大学硕士生&#xff0c;研究方向为知识图谱表示学习&#xff0c;大语言模型 论文链接&#xff1a;http://arxiv.org/abs/2407.16127 发表会议&#xff1a;ISWC 2024 1. 动机 传统的知识图谱补全&#xff08;KGC&#xff09;模型通过…...

现代密码学 | 椭圆曲线密码学—附py代码

Elliptic Curve Cryptography 椭圆曲线密码学&#xff08;ECC&#xff09;是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础&#xff0c;例如椭圆曲线数字签…...

汇编常见指令

汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX&#xff08;不访问内存&#xff09;XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

有限自动机到正规文法转换器v1.0

1 项目简介 这是一个功能强大的有限自动机&#xff08;Finite Automaton, FA&#xff09;到正规文法&#xff08;Regular Grammar&#xff09;转换器&#xff0c;它配备了一个直观且完整的图形用户界面&#xff0c;使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...

Spring是如何解决Bean的循环依赖:三级缓存机制

1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间‌互相持有对方引用‌,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...

vulnyx Blogger writeup

信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面&#xff0c;gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress&#xff0c;说明目标所使用的cms是wordpress&#xff0c;访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...

LLMs 系列实操科普(1)

写在前面&#xff1a; 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容&#xff0c;原视频时长 ~130 分钟&#xff0c;以实操演示主流的一些 LLMs 的使用&#xff0c;由于涉及到实操&#xff0c;实际上并不适合以文字整理&#xff0c;但还是决定尽量整理一份笔…...