pat编程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5-5 统计字符
#include <stdio.h>
int main() {
char c;
int i;
int letter=0,blank =0,digit =0,other =0;
for(i=0;i<10;i++){
c=getchar();
if((c>='A'&&c<='Z')||(c>='a'&&c<='z')){
letter++;
}else
if(c==' '||c=='\n'){
blank++;
}else
if(c>='0'&&c<='9'){
digit++;
}else{
other++;
}
}
printf("letter = %d, blank = %d, digit = %d, other = %d",letter,blank,digit,other);
return 0;
}
5—6查询水果价格
#include <stdio.h>
int main() {
int option[1000];
int i,times=0;
char c;
printf("[1] apple\n");
printf("[2] pear\n");
printf("[3] orange\n");
printf("[4] grape\n");
printf("[0] exit\n");
int k=0,flag=0;
while((c=getchar())!='\n'){
if(c=='-') {
flag=1;
continue;
}
if(flag==1) {
option[k]=-(c-'0');
flag=0;
k++;
}else
if(c!=' '){
option[k]=c-'0';
k++;
}
}
for(i=0;i<k;i++){
if(i==5) return 0;
switch(option[i]){
case 0:
return 0;
case 1:
printf("price = 3.00\n");
break;
case 2:
printf("price = 2.50\n");
break;
case 3:
printf("price = 4.10\n");
break;
case 4:
printf("price = 10.20\n");
break;
default:
printf("price = 0.00\n");
break;
}
}
return 0;
}5—7高速公路超速罚款
#include <stdio.h>
int main() {
float a,b;
scanf("%d %d",&a,&b);
float Exceed ;
Exceed = (a-b)/b*100;
if(Exceed >=10&&Exceed <50)
printf("Exceed %.0f%%. Ticket 200",Exceed);
else if(Exceed<10) printf("OK");
else if(Exceed>=50) printf("Exceed %.0f%%. License Revoked",Exceed);
return 0;
}
要输出%字符需要用%%
5—9素数对猜想
#include <stdio.h>
#include <math.h>
int isSuShu(int n){
int i;
int a = (int)sqrt(n);
for(i=2;i<=a;i++){
if(n%i==0) return 0;
}
return 1;
}
int main() {
int N,i,num=0;
scanf("%d",&N);
for(i=3;i<=N-2;i++){
if(isSuShu(i)&&isSuShu(i+2))
num++;
}
printf("%d",num);
return 0;
}
求N分之一序列前N项和
#include <stdio.h>
int main() {
int N,i;
scanf("%d",&N);
double sum;
for(i=1;i<=N;i++){
sum+=1.0/i;
}
printf("sum = %.6f",sum);
return 0;
}
求阶乘序列前N项和
#include <stdio.h>
int jie(int n){
if(n==1) return 1;
else return n*jie(n-1); }
int main() {
int N,i;
int sum=0;
scanf("%d",&N);
for(i=1;i<=N;i++){
sum+=jie(i);
}
printf("%d",sum);
return 0;
}
出租车计价
#include <stdio.h>
int main() {
float fee=0;
float x;
int wait;
scanf("%f %d",&x,&wait);
if(x<=3){
fee=10;
}else if(x>3&&x<=10){
fee=10+(x-3)*2;