![](https://img-blog.csdnimg.cn/2021012218471012.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
浙大PAT测试
浙大PAT测试,程序员必备的测试题库,欢迎讨论学习。
V2X开发网
整车OEM V2X软件工程师
展开
-
程序员测试题:PAT 乙级 1015 德才论6(自设计的排序函数排序函数myqsort) (C语言版本)
程序员测试题:PAT 乙级 1015 德才论6(自设计的排序函数排序函数myqsort) (C语言版本)PAT原题#include <stdio.h>#include <string.h>#include <math.h>#include <stdlib.h> struct node { unsigned int card; unsigned int de; unsigned int cai; unsigned int l原创 2021-02-27 18:40:58 · 183 阅读 · 1 评论 -
自定义qsort实现排序2
自定义qsort实现排序2继续完成自定义qsort代码,实现从大到小的排序#include <stdio.h>#include <string.h>#include <math.h>#include <stdlib.h> void myswap(void *a,void *b,unsigned int size){ int i; char temp; char* _a = (char*)a; char* _b = (char*)b;原创 2021-02-13 14:37:08 · 133 阅读 · 0 评论 -
自定义qsort实现排序1
自定义qsort实现排序开发原因:为更好的实现PAT德才论及以后的测试题目,需要设计独立的排序代码,参看了别人的德才论答案,发现在用qsort函数,我认为测试题主要依靠手敲代码的能力,所以自己利用简单的冒泡法设计myqsort代码,实现各种变量类型的排序。思路:1、创建myswap函数,实现按照字节交换两个元素次序2、实现满足int,double等类型的myqsort排序函数#include<stdio.h>#include<stdlib.h>/*测试用例*/doub原创 2021-02-03 15:01:09 · 273 阅读 · 0 评论 -
程序员测试题:PAT 乙级 1015 德才论5(使用动态开辟数组) (C语言版本)
程序员测试题:PAT 乙级 1015 德才论5(使用动态开辟数组) (C语言版本)思路:将全局变量二维数组变成二维数组动态开辟,测试显示内存受限。#include <stdio.h>#include <string.h>#include <math.h>#include <stdlib.h> void pri(int** arrin,int ruwei){ int p,i; for(p=0;p<ruwei;p++) {原创 2021-01-29 09:55:20 · 138 阅读 · 0 评论 -
程序员测试题:PAT 乙级 1015 德才论4(去掉函数输出接口,统一用inarr改成选择排序法) (C语言版本)
程序员测试题:PAT 乙级 1015 德才论3(统一用inarr改成选择排序法,省掉arrout局部变量) (C语言版本)思路:改善排序方法PAT题目#include <stdio.h>#include <string.h>#include <math.h>void pri(int arrin[100000][3],int ruwei){ int p,i; for(p=0;p<ruwei;p++) { for(i=0;i<3;原创 2021-01-28 17:05:16 · 108 阅读 · 0 评论 -
程序员测试题:PAT 乙级 1015 德才论3(减少函数接口方式) (C语言版本)
程序员测试题:PTA 乙级 1015 德才论2(减少函数接口方式) (C语言版本)思路:减少了sort的接口,但是增加了sort函数中的局部变量,由于局部变量程序运行时,才分配空间,运行更慢。#include <stdio.h>#include <string.h>#include <math.h>void pri(int arrin[100000][3],int ruwei){ int p,i; for(p=0;p<ruwei;p++) {原创 2021-01-28 16:11:37 · 97 阅读 · 0 评论 -
程序员测试题:PAT 乙级 1015 德才论2(调整打印方式) (C语言版本)
程序员测试题:PTA 乙级 1015 德才论2(调整格式后) (C语言版本)思路:设置了打印函数,把打印放在主函数中运行,将pri1、pri2等数组利用上#include <stdio.h>#include <string.h>#include <math.h>void pri(int arrin[100000][3],int ruwei){ int p,i; for(p=0;p<ruwei;p++) { for(i=0;i<原创 2021-01-28 16:01:50 · 113 阅读 · 0 评论 -
程序员测试题:PAT 乙级 1015 德才论1(最笨的办法) (C语言版本)
程序员测试题:PTA 乙级 1015 德才论1(最笨的办法) (C语言版本)PTA题目思路:将数据分成四个梯队,在排序函数中,分别输出排序后的数值。特别有意思的是,这里开辟了大量的全局变量数组,因为如果数组时局部变量,哪怕设置一个10万数组的局部变量,运行时程序就崩溃了,大概算了算,一个这样的数组需要开辟:10万乘4乘3个字节,也就是120万字节,约等于1.2mb。#include <stdio.h>#include <string.h>#include <math原创 2021-01-28 15:04:59 · 255 阅读 · 0 评论 -
程序员测试题:PAT 乙级 1014 福尔摩斯的约会 (C语言版本)
程序员测试题:PTA 乙级 1014 福尔摩斯的约会 (C语言版本)PTA题目思路:完全根据题意写代码,注意关键词眼,有的是第一个字符,有的是第一个大写字母,测试点有不过的地方,还请大家讨论。#include <stdio.h>#include <string.h>#include <math.h>enum{ MON=1, TUE, WED, THU, FRI, SAT, SUN }day;int main(){ char arr原创 2021-01-27 13:52:21 · 218 阅读 · 0 评论 -
程序员测试题:PAT 乙级 1013 数素数 (C语言版本)
程序员测试题:PTA 乙级 1013 数素数 (C语言版本)PTA题目思路:列出所有的素数对,然后根据数组下标列出符合条件的素数,bug是无法确定做多大的素数表,因此往大了做。#include <stdio.h>#include <string.h>//判断某数是否素数 ret:返回素数的地址 int sujug(int num,int *ret){ int i; int retu = 1;//1代表素数 *ret=num; for(i=2;i<原创 2021-01-26 14:46:21 · 189 阅读 · 1 评论 -
程序员测试题:PAT 乙级 1012 数字分类 (C语言版本)
程序员测试题:PTA 乙级 1012 数字分类 (C语言版本)PTA题目思路:完全按照题意写就行,就是这里测试了一下goto的用法#include <stdio.h>#include <string.h>float fun4(float sum,int ave){ float x=0.0f; if(ave!=0) x=sum/ave; return x;}int fun5(int max,int a[]){ int i; int temp; fo原创 2021-01-26 10:38:22 · 139 阅读 · 1 评论 -
程序员测试题:PAT 乙级 1011 A+B 和 C(C语言版本)
程序员测试题:1011 A+B 和 C(C语言版本)PAT题目链接思路:注意int的最大值为2^31-1,所以只能用long型#include <stdio.h>#include <string.h>#define falsefun(i) (printf("Case #%d: false\n",i))#define truefun(i) (printf("Case #%d: true\n",i))int main(){ int num; int i;原创 2021-01-25 14:31:33 · 128 阅读 · 0 评论 -
程序员测试题:PAT 1010 一元多项式求导(C语言版本)
程序员测试题:1010 一元多项式求导(C语言版本)PAT题目链接思路:很简单,直接上代码就好,但是检测点不过,我觉得是不是题意有理解错误。#include <stdio.h>#include <string.h>int main(){ int arr[2500] = {0};//指数最大到1000,则数据最多2000个 int ii=0; char ch; while((scanf("%d",&arr[ii]))!=EOF) { i原创 2021-01-25 14:02:32 · 122 阅读 · 0 评论 -
程序员测试题:PAT乙级 1008 数组元素循环右移问题(C语言版本)
程序员测试题:1008 数组元素循环右移问题(C语言版本)PAT题目链接思路:定义二维字符数组,然后挨个单词存储,然后倒序输出数组内容。#include <stdio.h>#include <string.h>int main(){ char arr[100][100] = {{'\0','\0'}}; int ii=0;//记录进入几个单词 char ch=0; while(scanf("%s",arr[ii])!=EOF) { if((ch=ge原创 2021-01-25 09:26:29 · 185 阅读 · 5 评论 -
程序员测试题:PAT 1008 数组元素循环右移问题(C语言版本)
程序员测试题:1008 数组元素循环右移问题(C语言版本)思路:题目简单,只要循环移动,每次移动一位就可以了。#include <stdio.h>int main(){ int n; int m; scanf("%d %d",&n,&m); int i; int arr[200] = {0}; for(i=0;i<n;i++) { scanf("%d",arr+i); }// for(i=0;i<n;i++)// {//原创 2021-01-24 09:35:54 · 70 阅读 · 0 评论 -
程序员测试题:PAT乙级 1005 继续(3n+1)猜想 (C语言版本)
PAT乙级 1005 继续(3n+1)猜想用数组下标存储输入的数字,数组的值(-1和1)作为覆盖数和关键字的标志,从100到1逆序输出数组值为1的下标,也省掉了排序工作,但是最后一个测试点不过,请大家指教。#include<stdio.h>int main(){ int arr[200] = {0}; int num; int ret; ret = scanf("%d",&num); int i; int t原创 2021-01-21 17:24:29 · 241 阅读 · 0 评论 -
程序员测试题:PAT 乙级 1007 素数对猜想(C语言版本)
程序员测试题:PTA 乙级 1007 素数对猜想(C语言版本)思路:先求出不大于N的所有素数,利用数组存储所有素数,然后相邻做差值,找出对数,另外还写了求合数的函数以用来备用,目前看测试点5测试超时,mark一下,下次来讨论程序复杂度。#include <stdio.h>void cal_he(int num){ int i,ii; int he[100001] = {0}; int flag = 0;//记录合数的数组下标 he[2] = 2;//原创 2021-01-22 18:41:48 · 131 阅读 · 0 评论 -
程序员测试题:PAT 乙级 1006 换个格式输出整数(C语言版本)
程序员测试题:PTA 乙级 1006 换个格式输出整数(C语言版本)PAT题目链接思路:题目简单,用简单的球磨\和秋雨%运算就可以。#include<stdio.h>int main(){ int num; scanf("%d",&num); int ones,tens,hundreds; if(num/10) { if(num/100) { hundreds = num/100; for(;hundreds;hundreds--)原创 2021-01-22 10:03:25 · 112 阅读 · 0 评论