中M2019春C入门和进阶练习
复习备考PAT
Leo就是LEO
命、是失败者的借口。运、是成功者的谦词。
展开
-
6-10 使用函数实现字符串部分复制 (20 分)
题目链接:6-10 使用函数实现字符串部分复制 (20 分)#include <stdio.h>#include<string.h>#define MAXN 20void strmcpy( char *t, int m, char *s );void ReadString( char s[] ); /* 由裁判实现,略去不表 */int main(){ char t[MAXN], s[MAXN]; int m; scanf("%d\n",原创 2021-02-09 19:04:33 · 875 阅读 · 0 评论 -
7-66 找出总分最高的学生 (15分)
7-66 找出总分最高的学生 (15分)#include<iostream>#include<stdio.h> using namespace std;typedef struct{ char id[101]; char name[101]; int score1; int score2; int score3;}Student;int main(){ int n,p; Student stu[101]; cin>>n; for(int原创 2021-01-28 21:18:16 · 1119 阅读 · 0 评论 -
7-65 平面向量加法 (15分)
7-65 平面向量加法 (15分)#include<iostream>#include<stdio.h> #include<math.h>using namespace std;typedef struct{ double x; double y;}Point;int main(){ Point a,b; cin>>a.x>>a.y>>b.x>>b.y; double c,d; c=a.x+b原创 2021-01-28 20:36:09 · 210 阅读 · 0 评论 -
二、机器学习算法
机器学习算法:是使计算机具有智能的关键机器学习算法可以分为传统的机器学习算法和深度学习。传统机器学习算法主要包括以下五类:回归:建立一个回归方程来预测目标值,用于连续型分布预测 分类:给定大量带标签的数据,计算出未知标签样本的标签取值 聚类:将不带标签的数据根据距离聚集成不同的簇,每一簇数据有共同的特征 关联分析:计算出数据之间的频繁项集合 降维:原高维空间中的数据点映射到低维度的空间中下面我们将选取几种常见的算法,一一介绍1. 线性回归:找到一条直线来预测目标值一个简单.原创 2021-01-25 23:56:53 · 2575 阅读 · 0 评论 -
7-62 切分表达式——写个tokenizer吧 (20分)未完待续
7-62 切分表达式——写个tokenizer吧 (20分)原创 2021-01-26 16:21:28 · 154 阅读 · 0 评论 -
7-61 找最长的字符串 (15分)
7-61 找最长的字符串 (15分)#include<iostream>#include<string.h>using namespace std;int main(){ int n; cin>>n; char str[n][80]; int p,max=0; for(int i=0;i<n;i++) { scanf("%s",&str[i]); if(strlen原创 2021-01-25 19:55:42 · 277 阅读 · 0 评论 -
7-60 删除重复字符 (20分)
7-60 删除重复字符 (20分)删除重复字符没有排序。保留第一次出现并删除后面出现的字母,说白了就是每个字母只输出一次。无脑用for-each遍历字符串,map来记录每个字母的出现次数。#include <iostream>#include<map>using namespace std; int main(){ map<char,int> m; string s; cin >> s; for(auto原创 2021-01-25 17:01:49 · 192 阅读 · 0 评论 -
7-59 字符串逆序 (15分)
7-59 字符串逆序 (15分)#include<stdio.h>#include<string.h>int main(){ char a[100]; gets(a); int len=strlen(a); for(int i=len-1;i>=0;i--) { printf("%c",a[i]); ...原创 2020-01-28 22:26:34 · 370 阅读 · 0 评论 -
7-58 求整数序列中出现次数最多的数 (15分)
7-58 求整数序列中出现次数最多的数 (15分)#include<stdio.h>int main(){ int n; int a[1010]; int max=0; int t; scanf("%d",&n); for(int i=0;i<n;i++){ scanf("%d",&a[i]...原创 2020-01-28 22:17:07 · 459 阅读 · 0 评论 -
7-57 查找整数 (10分)
7-57 查找整数 (10分)有些细节还是要注意,虽然不难,但是细节最重要。#include<iostream>using namespace std;const int maxn=10010;int a[maxn]; int main() { int n,x; int i; cin>>n>>x; for(i=0;i<n;i++) { cin>>a[i]; } for(i=0;i原创 2021-01-25 16:31:15 · 121 阅读 · 0 评论 -
7-56 找鞍点 (20分)未完
7-56 找鞍点 (20分)思想:先找这一行最大值,再找这一列最小值。原创 2021-01-25 15:26:39 · 61 阅读 · 0 评论 -
7-55 矩阵运算 (20分)
7-55 矩阵运算 (20分)#include <cstdio>int main(){ int n; int sum=0; scanf("%d",&n); int a[n][n]; for(int i=0;i<n;i++) { for(int j=0;j<n;j++) { sc...原创 2020-01-28 20:42:26 · 240 阅读 · 0 评论 -
7-54 将数组中的数逆序存放 (20分)
7-54 将数组中的数逆序存放 (20分)#include <iostream>#include<algorithm>using namespace std;const int maxn=10010;int a[maxn];int main(){ int n; cin>>n; for(int i=0;i<n;i++) { cin>>a[i]; } reverse(a,a+n); for(int i=0;i<n;i原创 2021-01-24 17:20:15 · 354 阅读 · 0 评论 -
7-51 求n以内最大的k个素数以及它们的和 (20分)
7-51 求n以内最大的k个素数以及它们的和 (20分)#include <cstdio>#include<math.h>const int max=10000;int a[max];int isprime(int n)//判断素数 { int flag=1; if(n<2){ flag=0; } for(int i=2;i<=sqr...原创 2020-01-28 11:06:10 · 1380 阅读 · 0 评论 -
7-50 近似求PI (15分)
7-50 近似求PI (15分)#include <iostream>using namespace std;int main(){ double eps,sum=1,t=1; int i; scanf("%le", &eps); for(i=1;t>eps;i++) { t=t*i/(2*i+1); sum+=t; } printf("%.5f",2*sum); return 0;}原创 2021-01-24 16:59:57 · 95 阅读 · 0 评论 -
7-49 Have Fun with Numbers (20分)
7-49 Have Fun with Numbers (20分)翻译玩数字游戏请注意,数字123456789是9位数字,完全由1到9组成,没有重复。将其加倍,我们将获得246913578,它恰好是另一个9位数字,恰好由1到9组成,只是排列不同。如果再次将其加倍,请检查结果!现在,您应该检查此属性是否还有更多的数字。也就是说,将给定数字与k位数字加倍,就可以知道结果数是否仅由原始数字中的数字排列组成。输入规范:每个输入文件包含一个测试用例。每个案例包含一个不超过20位的正整数。输出规格:.原创 2021-01-24 16:48:59 · 267 阅读 · 0 评论 -
7-47 二进制的前导的零 (10分)
7-47 二进制的前导的零 (10分)#include <cstdio>int main(){ //无符号整型才能表达32位二进制数对应的十进制数 unsigned int num; unsigned int count=0; cin>>num; while(num){ count++; num /= 2; } cout<<32-count; return 0;}注意:原创 2021-01-24 15:11:52 · 169 阅读 · 0 评论 -
7-46 爬动的蠕虫 (15分)
7-46 爬动的蠕虫 (15分)#include<iostream>using namespace std;int main(){ int N,U,D; cin>>N>>U>>D; int sum=0,t=0;//sum表示爬的总路程,t表示爬的时间 while(sum<N) { sum+=U; t++;//向上爬 if(sum>=N){ break; } sum-=D;//休息 t++;原创 2021-01-24 15:03:35 · 140 阅读 · 0 评论 -
7-45 找完数 (20分)
7-45 找完数 (20分)#include <iostream>using namespace std;int main(){ int m,n; cin>>m>>n; int i,j,sum,flag=0; //flag=0,默认该区间没有完数。 for(i=m;i<=n;i++) { sum=1; //每次累加j之前sum初始化,初始化为1是因为j循环从2起步。 for(j=2;j<i;j++) //1是原创 2021-01-22 19:45:45 · 167 阅读 · 0 评论 -
7-44 黑洞数 (20分)
7-44 黑洞数 (20分)#include<cstdio>#include<algorithm>using namespace std;bool cmp(int a,int b){ return a>b;}void toarray(int n,int num[])//将n的每一位存到num数组中 { for(int i=0;i<3;i...原创 2020-01-22 18:28:53 · 315 阅读 · 0 评论 -
7-52 数组元素循环右移问题 (20分)
7-52 数组元素循环右移问题 (20分)#include <cstdio>int main(){ int n,m; scanf("%d%d",&n,&m); int a[n]; for(int i=0;i<n;i++) { scanf("%d",&a[i]); } if(n<...原创 2020-01-28 11:39:09 · 522 阅读 · 0 评论 -
7-39 龟兔赛跑 (20分)
7-39 龟兔赛跑 (20分)参考参考2#include <stdio.h>int main(){ int T,t=0,tt=0; int tz=0,wg=0; int rest=0;//休息 scanf("%d",&T); while(T!=t) { wg=wg+3; if(!rest)//没有休息 { tz=tz+9; ...原创 2020-01-20 14:00:25 · 243 阅读 · 0 评论 -
7-37 输出整数各位数字 (15分)
7-37 输出整数各位数字 (15分)#include<iostream>#include<string.h>using namespace std;int main(){ char str[66]; cin>>str; int len=strlen(str); for(int i=0;i<len-1;i++) { cout<<str[i]<<" "; } cout<<str[len-1]; r原创 2021-01-21 21:05:04 · 137 阅读 · 0 评论 -
6-1 使用函数求素数和 (20分)
6-1 使用函数求素数和 (20分)#include <stdio.h>#include <math.h>int prime( int p );int PrimeSum( int m, int n );int main(){ int m, n, p; scanf("%d %d", &m, &n); printf("...原创 2020-01-29 15:28:40 · 1905 阅读 · 0 评论 -
7-30 念数字 (15分)
7-30 念数字 (15分)#include<iostream>using namespace std;int main(){ string s[10]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"}, x; cin >> x; if(x[0] == '-'){ cout <<...原创 2020-01-20 11:10:29 · 362 阅读 · 0 评论 -
7-34 求分数序列前N项和 (15分)
7-34 求分数序列前N项和 (15分)#include<stdio.h>int main(){ double a=1.0,b=2.0; double t; int n; double sum=0; scanf("%d",&n); for(int i=0;i<n;i++) { sum+=b*1.0/a; t=b; b=a+b; a...原创 2020-01-20 13:16:41 · 774 阅读 · 0 评论 -
7-32 求交错序列前N项和 (15分)
7-32 求交错序列前N项和 (15分)#include<cstdio>int main(){ double sum=0; int n; scanf("%d",&n); int flag=1; for(int i=1;i<=n;i++) { sum+=1.0*i/(2*i-1)*flag; flag=-flag; } printf("%....原创 2020-01-20 11:45:11 · 410 阅读 · 0 评论 -
7-19 计算天数 (15分)
本题要求编写程序计算某年某月某日是该年中的第几天。输入格式:输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。输出格式:在一行输出日期是该年中的第几天。输入样例1:2009/03/02输出样例1:61输入样例2:2000/03/02...原创 2020-01-02 15:43:45 · 202 阅读 · 0 评论 -
7-26 最大公约数和最小公倍数 (15分)
#include<cstdio>int main(){ int m,n; int t; scanf("%d%d",&m,&n); int a=m,b=n; if(m<n) { t=m; m=n; n=t; } while(n!=0) { int t=m%n; m=n; n=t; } printf("%d %d\n...原创 2020-01-03 16:27:53 · 330 阅读 · 0 评论 -
入门C语言视频分享
轻松掌握C语言会打字就可以学会链接:https://pan.baidu.com/s/1k4pnWhdlbyXXpvHIjOdSdg提取码:ji6f原创 2021-01-20 00:01:36 · 158 阅读 · 0 评论 -
C语言(1)hello world案例,简单讲解
//导入一个文件,stdio.h std是一个标准库,i input o output 输入输出库 .h头文件//<>表示导入系统文件 ""表示导入自定义文件#include<stdio.h>/*块注释多行注释注释内容不参与*/ //两个斜杠表示注释,只能注释一行 //一个程序中只能有一个main函数,()里面可以表示函数的参数,里面可以为空int main(){ //{}中是函数体 //printf是stdio.h中提供的函数,表示在标准输出设备上打.原创 2021-01-19 23:58:54 · 235 阅读 · 0 评论 -
6-5 求单链表结点的阶乘和 (15分)
6-5 求单链表结点的阶乘和 (15分)#include <stdio.h>#include <stdlib.h>typedef struct Node *PtrToNode;struct Node { int Data; /* 存储结点数据 */ PtrToNode Next; /* 指向下一个结点的指针 */};typedef PtrT...原创 2020-01-29 16:40:09 · 216 阅读 · 0 评论 -
6-3 判断回文字符串 (20分)
6-3 判断回文字符串 (20分)原创 2020-01-29 16:30:15 · 848 阅读 · 0 评论 -
6-2 使用函数验证哥德巴赫猜想 (20分)
6-2 使用函数验证哥德巴赫猜想 (20分)#include <stdio.h>#include <math.h>int prime( int p );void Goldbach( int n );int main(){ int m, n, i, cnt; scanf("%d %d", &m, &n); if ( prime(m) != 0 ) printf("%d is a prime number\n", m);原创 2021-01-19 23:47:48 · 162 阅读 · 0 评论