部分PTA自测题答案(仅参考)

练习4-6 猜数字游戏

#include 

int main(){
int num,N,n,input;
scanf("%d %d",&num,&N);
n=0;
do{
	scanf("%d",&input);
	if(input<0||n>N){
    	printf("Game Over\n");
 		return 0;//goto q;
	}
	if(input<num) printf("Too small\n");
	if(input>num) printf("Too big\n");
	n++;
}while(num!=input);
if(n==1){
	printf("Bingo!\n");
}else if(n<=3){
    printf("Lucky You!\n");
}else if(n<=N){
	printf("Good Guess!\n");
}else printf("Game Over\n");
//q:
return 0;
}

练习4-11 统计素数并求和

#include
int main(){
    int num,sum,m,n,c,d,e;
    scanf("%d %d",&m,&n);
    sum = 0;e=0;
    if (m==1)m=2;
    d=m;
    do{
        if (d>n)break;
        num =0;
        c =2;
        //d =m;
        while(c<d){
            if (d%c==0&&d!=2){
                num++;
                break;
            }
            c++;
        }
        if (num==0) {
            sum+=d;
            e++;
        }
        d++;
    }while(d<=n);
printf("%d %d",e,sum);
}

习题4-3 求分数序列前N项和

#include

int main(){
    int N,n;
    double sum,n1,n0;
    sum = 0;n1 = 2;n0 = 1;
    scanf("%d",&n);
    for(N=0;N<n;N++){
        sum += n1/n0;
        n1 += n0;
        n0 = n1-n0;
    }
printf("%.2f",sum);
}

习题4-6 PTA水仙花数3-7位

#include
#include 
//如果是pta上运行,在第七位时会超时,改for循环应该可以解决
int main(){
    int num,a,b,c,d;
    scanf("%d",&num);
      a = pow(10,num-1);
    do{
        c =0;
        d =a;
        while(d>0){
            b=d%10;
            c+=pow(b,num);
            d/=10;
        }
        if (c==a){
            printf("%d\n",c);
        }
        a++;
    }while(a<pow(10,num));
}

你可能感兴趣的:(PTA练习,c语言)