赞
踩
之前在网上看到浙江大学的题目系统PAT,想要刷一刷玩,目前是乙级题库,题目不多,持续更新!努力!
话不多说,上代码!题目以及运行效果这里就不给出了,与PAT网站上的相同。
#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; }
#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; }
#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; }
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]);
}
}
#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; }
#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; }
#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; }
(这道题花了我蛮长时间,其过程可能比较麻烦,希望有读者可以加以优化!)
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; } } } }
#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; }
#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; }
#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; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。