开始准备cccc(cry)天梯赛了,第一周训练题,把官网挂出的训练题刷完了,对pat有了一点点的熟悉感。
L1-1 就不说了。。。
一个变量保存空格数,一个变量保存沙漏符号数,打印就行了,但这题话说wrong好几次啊,坑点是沙漏符号后面不打印空格,orz。。。
<span style="font-size:14px;">#include<iostream>
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<vector>
#include<list>
#include<algorithm>
using namespace std;
int main(){
int n;
char c;
scanf("%d %c",&n,&c);
int a[1010];
a[0] = 0;
a[1] = 1;
for(int i=2;i<1010;i++){
a[i] = a[i-1] + (2*i - 1)*2;
}
int t = 0;
for(;t<1010;t++){<span style="white-space:pre"> </span>//找到最大一层
if(n<a[t]) break;
}
t--;
int z = 0;
for(int i=t;i>=1;i--){<span style="white-space:pre"> </span>//打印上一半
for(int j=0;j<z;j++){
printf(" ");
}
for(int j = 0;j<(i*2-1);j++){
printf("%c",c);
}
z++;
printf("\n");
}
z-=2;<span style="white-space:pre"> </span>//中间只有一个
for(int i=2;i<=t;i++){<span style="white-space:pre"> </span>//打印下一半
for(int j=0;j<z;j++){
printf(" ");
}
for(int j = 0;j<(i*2-1);j++){
printf("%c",c);
}
z--;
printf("\n");
}
printf("%d\n",n-a[t]);
return 0;
}</span>
L1-3 个位数统计 取余一下就行
<span style="font-size:14px;">#include<iostream>
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<vector>
#include<list>
#include<algorithm>
using namespace std;
int main(){
int a[11];
memset(a,0,sizeof(a));
char n[1010];
scanf("%s",n);
int len = strlen(n);
if(len==1&&n[0]=='0') a[0]++;
while(len){
a[n[--len]-'0']++;
}
for(int i=0;i<10;i++){
if(a[i]){
printf("%d:%d\n",i,a[i]);
}
}
return 0;
}</span>
怎么感觉在凑字数。。。
<span style="font-size:14px;">#include<iostream>
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<vector>
#include<list>
#include<algorithm>
using namespace std;
int main(){
int n;
scanf("%d",&n);
printf("Celsius = %d\n",5*(n-32)/9);
return 0;
}</span>
L1-5 考试座位号
<