PAT题库代码(个人版本)~~持续更新,持续改进!

2023-11-02

引言

之前在网上看到浙江大学的题目系统PAT,想要刷一刷玩,目前是乙级题库,题目不多,持续更新!努力!
话不多说,上代码!题目以及运行效果这里就不给出了,与PAT网站上的相同。

1002 写出这个数

#include<stdio.h>

char pinyin(int x){
		switch(x){
		case 0:
			printf("ling");
			break;
		case 1:
			printf("yi");
			break;
		case 2:	
			printf("er");
			break;
		case 3:	
			printf("san");
			break;
		case 4:	
			printf("si");
			break;
		case 5:
			printf("wu");
			break;
		case 6:
			printf("liu");
			break;
		case 7:
			printf("qi");
			break;
		case 8:
			printf("ba");
			break;
		case 9:
			printf("jiu");
			break;
	}
}

int main(){
	int j,sum=0,a,b,c;
	char arr[101];					//存进一个字符数组里 
	char crr[3];				
	int brr[101];
	gets(arr);
	for(j=0;arr[j]!='\0';j++){ 
		sum = sum + (int)arr[j]-48;
	}
	a=sum/100;
	b=(sum-a*100)/10;
	c=sum-a*100-b*10;
	if(a>0){
		pinyin(a);
		printf(" ");
		pinyin(b);
		printf(" ");
		pinyin(c);
	}
	else if(a==0&&b>0){
		pinyin(b);
		printf(" ");
		pinyin(c);
	}
	else if(c>=0&&b==0&&a==0){
		pinyin(c);
	}
	return 0;
} 

1006 换个格式输出整数

#include<stdio.h>

int main()
{
	int n,i,j,k,b,s,y;
	scanf("%d",&n);
	if(n>=1000){
		printf("输出数据不规范!");
	}else{
		b = n/100;
		s = (n-b*100)/10;
		y = (n-b*100-s*10);
	}
	for(i=1;i<=b;i++){
		printf("B");
	}
	for(j=1;j<=s;j++){
		printf("S");
	}
	for(k=1;k<=y;k++){
		printf("%d",k);
	}
	printf("\n");
	return 0;
} 

1008 数组元素循环右移问题

#include <iostream>
using namespace std;
int main(){
    int n,offset;
    cin>>n>>offset;
    int a[n],b[n];
    int i;
    for(i=0;i<n;i++)
        cin>>a[i];              
    for(i=0;i<n;i++){
        int temp=(i+offset)%n;  //这里替换就很直接,易懂
        b[temp]=a[i];
    }
    for(i=0;i<n-1;i++){
        cout<<b[i]<<' ';
    }   
    cout<<b[n-1];
    return 0; 
}

1009 说反话

import java.util.Scanner;

public class Main{
	public static void main(String args[]) {
		String k;
		Scanner reader = new Scanner(System.in);
		k = reader.nextLine();
		String regex = "[\\s]+";
		String words[] = k.split(regex);
		for(int i=words.length-1;i>0;i--) {
			System.out.print(words[i]+" ");
		}
        System.out.println(words[0]);
	}
}

1016 部分A+B

#include<iostream>
#include<cstring>

using namespace std;

int main(){
	string a,b;
	char x,y;
	int i,j,m=0,n=0;
	cin>>a>>x>>b>>y;
	for(i=0;i<a.size();i++){
		if(a[i]==x){
			m=m*10+x-48;
		}
	}
	for(i=0;i<b.size();i++){
		if(b[i]==y){
			n=n*10+y-48;
		}
	}
	cout<<m+n<<endl;
	
	return 0;
}

1021 个位数统计

#include<iostream>
using namespace std;
#define N 1000

int main(){
	string s;
	int i,arr[N],j,brr[10]={0,0,0,0,0,0,0,0,0,0};
	cin>>s;
	for(i=0;i<s.length();i++){
		arr[i]=(int)s[i]-48;
	}
	for(j=0;j<i;j++){
		switch(arr[j]){
			case 0:
				brr[0]++;
				break;
			case 1:
				brr[1]++;
				break;
			case 2:
				brr[2]++;
				break;
			case 3:
				brr[3]++;
				break;
			case 4:
				brr[4]++;
				break;
			case 5:
				brr[5]++;
				break;
			case 6:
				brr[6]++;
				break;
			case 7:
				brr[7]++;
				break;
			case 8:
				brr[8]++;
				break;
			case 9:
				brr[9]++;
				break;			
		}
	}
	for(j=0;j<10;j++){
		if(brr[j]!=0){
			cout<<j<<":"<<brr[j]<<"\n";
		}
	}
	
	return 0;
} 

1041 考试座位号

#include<iostream>
using namespace std;

int main(){
	int i,n,j,k;
	cin>>n;
	string a[n];
	int b[n],c[n];
	for(i=0;i<n;i++){
		cin>>a[i]>>b[i]>>c[i];
	}
	cin>>j;
	int d[j];
	for(i=0;i<j;i++){
		cin>>d[i];
	}
	for(i=0;i<j;i++){
		for(k=0;k<n;k++){
			if(d[i]==b[k]){
				cout<<a[k]<<" "<<c[k]<<"\n";
			}
		}
	}
	return 0;
}
 

1042 字符统计

(这道题花了我蛮长时间,其过程可能比较麻烦,希望有读者可以加以优化!)

package test;
import java.util.Scanner;

public class practice {
	public static void main(String args[]) {
		String odex="",index;
		int brr[] = new int[26];
		int i,maxnum=0;
		Scanner reader = new Scanner(System.in);
		index = reader.nextLine();
		String regex = "[\\s\\d\\p{Punct}]+";
		String words[] = index.split(regex);
		int arr[] = new int[26];
		char k[];
		for(i=0;i<words.length;i++) {
			words[i]=words[i].toLowerCase();
			odex+=words[i];
		}
		k = odex.toCharArray();
		
		for(i=0;i<k.length;i++) {
			arr[((int)k[i])-97]++;
		}
		
		for(i=0;i<26;i++) {
			if(arr[i]>maxnum) {
				maxnum=arr[i];
			}
		}
		for(i=0;i<26;i++) {
			if(arr[i]==maxnum) {
				brr[i]++;
			}
		}
		
		for(i=0;i<26;i++) {
			if(brr[i]==1) {
				System.out.println((char)(i+97)+" "+maxnum);
				break;
			}
		}
	}
}

1043 输出PATest

#include<iostream>
using namespace std;

int main(){
	string a;
	int P=0,A=0,T=0,e=0,s=0,t=0;
	int i;
	cin>>a;
	for(i=0;i<a.length();i++){
		switch(a[i]){
			case 'P':
				P++;
				break;
			case 'A':
				A++;
				break;
			case 'T':
				T++;
				break;
			case 'e':
				e++;
				break;
			case 's':
				s++;
				break;
			case 't':
				t++;
				break;
		}
	}
	for(i=-0;i<a.length();i++){
		if(P>0){
			cout<<'P';
			P--;
		}
		if(A>0){
			cout<<'A';
			A--;
		}
		if(T>0){
			cout<<'T';
			T--;
		}
		if(e>0){
			cout<<'e';
			e--;
		}
		if(s>0){
			cout<<'s';
			s--;
		}
		if(t>0){
			cout<<'t';
			t--;
		}
	}
	
	return 0;
} 

1046 划拳

#include<stdio.h>
#define N 100

int main()
{
	int n,i,ah=0,bh=0;
	int a1[N];			//甲喊 
	int a2[N];			//甲划 
	int b1[N];			//乙喊 
	int b2[N];			//乙划 
	scanf("%d",&n);		
	for(i=0;i<n;i++){
		scanf("%d%d%d%d",&a1[i],&a2[i],&b1[i],&b2[i]);
	}
	for(i=0;i<n;i++){
		if(a1[i]+b1[i]==a2[i]&&a1[i]+b1[i]!=b2[i]){
			bh++;
		}
		else if(a1[i]+b1[i]==b2[i]&&a1[i]+b1[i]!=a2[i]){
			ah++;
		}
	}
	printf("%d %d",ah,bh);
	return 0; 
} 

1061 判断题

#include<iostream>
using namespace std;

int main(){
	int N,M,i,j;
	cin>>N>>M;
	int score[M],key[M],answer[N][M+1];	//储存分值,答案,学生答案(M+1用来存得分) 
	//数据的录入 
	for(i=0;i<M;i++){			
		cin>>score[i];
	}
	for(i=0;i<M;i++){
		cin>>key[i];
	}
	for(i=0;i<N;i++){
		for(j=0;j<M;j++){
			cin>>answer[i][j];
		}
		answer[i][M]=0;
	}
	//计算得分 
	for(i=0;i<N;i++){
		for(j=0;j<M;j++){
			if(answer[i][j]==key[j]){
				answer[i][M]+=score[j];	
			}
		}
	}
	//输出得分
	for(i=0;i<N;i++){
		cout<<answer[i][M]<<"\n";
	} 
	
	return 0;
} 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PAT题库代码(个人版本)~~持续更新,持续改进! 的相关文章

随机推荐

  • 高手需要具备的思维模型

    01 思维模型 决定了你的人生状态 电影 教父 中 有一句经典台词 花半秒钟看透本质的人 和花一辈子都看不清的人 注定拥有截然不同的命运 思维模型 决定了你的人生状态 2014年 张一鸣观察到移动互联网时代面临的问题 信息爆炸式增长的同时
  • MATLAB零基础入门(一)

    大家好 我是Henry 上一期的Python爬虫实践中 Henry导入了Matplotlib库进行了新冠疫情的每日新增的绘图 其实Matplotlib的原型是另一门应用非常广泛的语言 Matlab 最近Henry也学习了一些Matlab的绘
  • 【C/C++时间系列】通过gmtime()函数将时间戳转换成GMT时间

    GMT Greenwich Mean Time 格林尼治标准时间的正午是指当太阳横穿格林尼治子午线时 也就是在格林尼治时 的时间 地球每天的自转是有些不规则的 而且正在缓慢减速 所以 格林尼治时间已经不再被作为标准时间使用 现在的标准时间
  • 记一次成功把Vue2后台项目改造成Vite2的踩坑经历

    文章目录 前言 一 项目背景 1 1 为什么要选择Vite 二 迁移前的准备 2 1 补全 vue后缀 2 2 移动public index html的位置 2 2 1 通过vite plugin html插件来修改页面标题 2 3 新建v
  • CCF计算机软件能力认证 C++ 权限查询

    问题描述 授权 authorization 是各类业务系统不可缺少的组成部分 系统用户通过授权机制获得系统中各个模块的操作权限 本题中的授权机制是这样设计的 每位用户具有若干角色 每种角色具有若干权限 例如 用户 david 具有 mana
  • Python Flask简介及安装

    Python Flask简介及安装 Flask 是一个 Python 实现的 Web 开发微框架 一 Flask 简介 Flask 诞生于2010年 是 Armin ronacher 人名 用 Python 语言基于 Werkzeug 工具
  • 嵌入式复习题(五)程序分析题

    1 定时器 假设定时器内部时钟为16MHz 1 完成下面的注释 2 可以定时的时间为 5 ms htim3 Instance TIM3 htim3 Init Prescaler 799 预分频系数为799 htim3 Init Counte
  • 【Network】计算机网络基础知识总结

    阅读目录 网络层次划分 OSI七层网络模型 IP地址 子网掩码及网络划分 ARP RARP协议 路由选择协议 TCP IP协议 UDP协议 DNS协议 NAT协议 DHCP协议 HTTP协议 一个举例 网络层次划分 为了使不同计算机厂家生产
  • 神经网络学说的主要观点,对神经网络的简单理解

    心理学中定位说和模块说的区别是 整体说和神经网络学说的区别是 模块说和神经网络学说的区别是 简单说下 希望对你有帮助 定位说认为 大脑的具体功能是对应具体的部位 模块说认为 大脑的具体功能是由多个部位形成的模块共同实现的 而不是具体到位置
  • 论文理解:Generating Diverse High-Fidelity Images with VQ-VAE-2

    深度生成模型都有什么问题 研究者将常见的生成模型分为两种 一种是基于似然的模型 包括 VAE 及其变体 基于流的模型 以及自回归 autoregressive 模型 另一种是隐式生成模型 如生成对抗网络 GAN 这些模型都会存在某些方面的缺
  • 例说数据结构&STL(九)——map

    1 白话map map是STL的一个关联容器 它提供一对一 其中第一个可以称为关键字 每个关键字只能在map中出现一次 第二个可能称为该关键字的值 的数据处理能力 由于这个特性 它完成有可能在我们处理一对一数据的时候 在编程上提供快速通道
  • 【Linux】进程信号及信号产生

    文章目录 一 生活层面的信号 二 进程信号 三 硬件中断 四 信号产生 五 Term Core 1 核心转储的意义 2 云服务器为什么关闭核心转储 3 core dump标志 六 总结 结束语 一 生活层面的信号 在学习进程信号前 我们不妨
  • list 返回json 时 结果出现“$ref“:“$.data[0]“

    1 传入list的对象必须不是创建的一个对象 因为创建一个对象即使复制不同 但是hashcode相同 到json是无法解析 例如 new CheckFavoriteSupplierDto 需要每个都要new新对象 写for循环外会出现 re
  • 【电压质量】提高隔离电源系统的电压质量(Simulink实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 2 1 仿真1 2 2 仿真2 3 参考文献 4 Simulink实现 1 概述 为了提高隔
  • 几种数据库的jdbc驱动实现

    要实现自己的JDBC驱动 最重要的是实现以下几个接口 java sql Driver java sql Connection java sql Statement java sql ResultSet 这篇文章讲解了如何实现一个简单的jdb
  • FreeCAD sketcher草图模式下旋转部分绘制的图形

    有时候我们在草图绘制的时候需要画多个形状一样但是方向不一样的元素 一个一个绘制肯定不符合咱么计算机基本理论 复制 粘贴 但是理论上直接选中几个绘制好的元素 可以复制 克隆 镜像 但是无法直接旋转任意角度 我也为此苦恼了许久 难道一个大名鼎鼎
  • Python学习——作图plt.cm.Set()用法

    https blog csdn net qq 41938858 article details 87705470
  • 解决Springboot 'jmsMessagingTemplate' not loaded because Ancestor org.springframework.boot.autoconfig

    问题来源 SpringBoot集成Activemq 报错内容 Description Field jmsTemplate in com xihuanyuye Producer required a bean of type org spri
  • Android爬取网页JSON数据详细教程【新手向】

    这几天做一个Android获取Json的任务 发现Jsoup只能获取静态页面 无法获取动态页面的Json数据 有同学给我更正 Jsoup可以爬取动态页面 但必须要加请求头 data 以下为正确例子 String url 你的网页接口 Map
  • PAT题库代码(个人版本)~~持续更新,持续改进!

    引言 之前在网上看到浙江大学的题目系统PAT 想要刷一刷玩 目前是乙级题库 题目不多 持续更新 努力 话不多说 上代码 题目以及运行效果这里就不给出了 与PAT网站上的相同 1002 写出这个数 include