acwing 语法基础课 week2 printf语法及判断语句 C++/python代码

目录

题目表

665. 倍数

660. 零食

659. 区间

664. 三角形

667. 游戏时间

669. 加薪

670. 动物

657. 选择练习1

671. DDD

662. 点的坐标

666. 三角形类型

668. 游戏时间2

672. 税

663. 简单排序

658. 一元二次方程公式

661. 平均数3


题目表

 

665. 倍数

C++代码

//C++代码

#include<bits/stdc++.h>
using namespace std;

int main() {
	//读取两个正整数值 A 和 B。
	//如果其中一个是另一个的整数倍,则输出 Sao Multiplos,否则输出 Nao sao Multiplos。
	int A,B;
	cin>>A>>B;
	if((A%B==0) || (B%A==0)){
		cout<<"Sao Multiplos"<<endl;
	} else {
		cout<<"Nao sao Multiplos"<<endl;
	}
	return 0;
}

python代码

#python代码
A,B=map(int,input().split())
if A%B==0 or B%A==0:
    print("Sao Multiplos")
else:
    print("Nao sao Multiplos")

660. 零食

//C++代码

#include<bits/stdc++.h>
using namespace std;

int main() {
/*	零食种类        价格
零食  1         R$ 4.00
零食  2         R$ 4.50
零食  3         R$ 5.00
零食  4         R$ 2.00
零食  5         R$ 1.50*/
	int x,y;
	cin>>x>>y;
	double SUM;
	if(x==1)
		SUM=y*4.00; 
	else if(x==2)
		SUM=y*4.50;
	else if(x==3)
		SUM=y*5.00; 
	else if(x==4)
		SUM=y*2.00;
	else if(x==5)
		SUM=y*1.50;  	
	printf("Total: R$ %.2f\n",SUM);
	return 0;
}
#python代码
x,y=map(int,input().split())
if x==1:
    SUM=y*4.00
elif x==2:
    SUM=y*4.50
elif x==3:
    SUM=y*5.00
elif x==4:
    SUM=y*2.00
else:
    SUM=y*1.50	
print("Total: R$ %.2f"%SUM)

659. 区间

//C++代码

#include<bits/stdc++.h>
using namespace std;

int main() {
/*	给定一个浮点数,请你判断该数字属于以下哪个区间:[0,25],(25,50],(50,75],(75,100]。*/
	double x;
	cin>>x;
	if(x<0 || x>100){
		printf("Fora de intervalo\n");
	} else if(x>=0 && x<=25){
		printf("Intervalo [0,25]\n");
	} else if(x<=50){
		printf("Intervalo (25,50]\n");
	} else if(x<=75){
		printf("Intervalo (50,75]\n");
	} else if(x<=100){
		printf("Intervalo (75,100]\n");
	}
	return 0;
}
#python代码
x=(float)(input())
if(x<0 or x>100):
    print("Fora de intervalo")
elif(x>=0 and x<=25):
    print("Intervalo [0,25]")
elif(x<=50):
    print("Intervalo (25,50]")
elif(x<=75):
    print("Intervalo (50,75]")
elif(x<=100):
    print("Intervalo (75,100]")
 

664. 三角形

//C++代码

#include<bits/stdc++.h>
using namespace std;

int main() {
/*	读取三个浮点数 A,B 和 C 并验证是否可以用它们形成三角形。 */
	double A,B,C;
	cin>>A>>B>>C;
	if ((A+B>C) && (B+C>A) && (A+C)>B)
		printf("Perimetro = %.1f\n",A+B+C); 
	else
		printf("Area = %.1f\n",(A+B)*C*0.5);
	return 0;
}
#python代码
A,B,C=map(float,input().split())
if ((A+B>C) and (B+C>A) and (A+C)>B):
    print("Perimetro = %.1f"%(A+B+C)) 
else:
    print("Area = %.1f"%((A+B)*C*0.5))
 

667. 游戏时间

//C++代码

#include<bits/stdc++.h>
using namespace std;

int main() {
/*	读取两个整数 A 和 B,表示游戏的开始时间和结束时间,以小时为单位。  */
	int X,A,B;
	cin>>A>>B;
	if (A>B)
		X = B+24-A;
	else if(A<B)
		X = B-A;  
	else 
		X = 24;
	printf("O JOGO DUROU %d HORA(S)",X); 
	return 0;
}
#python代码
A,B=map(int,input().split())
if (A>B):
    X = B+24-A
elif(A<B):
    X = B-A 
else:
    X = 24
print("O JOGO DUROU %d HORA(S)"%X)
 

669. 加薪

//C++代码

#include<bits/stdc++.h>
using namespace std;

int main() {
/*	 薪水                涨薪幅度
0 - 400.00                15%
400.01 - 800.00           12%
800.01 - 1200.00          10%
1200.01 - 2000.00         7%
超过 2000.00              4%  */
	int Z;
	double X,Y,S;
	cin>>S;
	if (S>=0 && S<=400){
		X=S*(1+0.15);
		Y=X-S;
		Z=15;
	} else if(S<=800){
		X=S*(1+0.12);
		Y=X-S;
		Z=12;
	} else if(S<=1200){
		X=S*(1+0.10);
		Y=X-S;
		Z=10;
	} else if(S<=2000){
		X=S*(1+0.07);
		Y=X-S;
		Z=7;
	} else {
		X=S*(1+0.04);
		Y=X-S;
		Z=4;
	}
	printf("Novo salario: %.2f\n",X);
	printf("Reajuste ganho: %.2f\n",Y);
	printf("Em percentual: %d %\n",Z);
	return 0;
}
#python代码
S=float(input())
if (S>=0 and S<=400):
    X=S*(1+0.15)
    Y=X-S
    Z=15
elif(S<=800):
    X=S*(1+0.12)
    Y=X-S
    Z=12
elif(S<=1200):
    X=S*(1+0.10)
    Y=X-S
    Z=10
elif(S<=2000):
    X=S*(1+0.07)
    Y=X-S
    Z=7
else:
    X=S*(1+0.04)
    Y=X-S
    Z=4
print("Novo salario: %.2f"%X)
print("Reajuste ganho: %.2f"%Y)
print("Em percentual: %d %%"%Z)
 

670. 动物

//C++代码

#include<bits/stdc++.h>
using namespace std;

int main() {
/*	 printf只能输出自带的char*类型或者其他的数据类型,但是String类型不是自带的类型,所以不能直接输出。
解决办法:
1)使用s的首地址:printf("%s\n",s.c_str());
2)使用cout<<s<<endl;输出。
  */
	string A,B,C,D;
	cin>>A>>B>>C;
	if(A=="vertebrado") {
		if(B=="ave"){
			if(C=="carnivoro"){
				D="aguia";
			} else {
				D="pomba";
			}
		} else {
			if(C=="onivoro"){
				D="homem";
			} else {
				D="vaca";
			}
		}
	} else {
		if(B=="inseto"){
			if(C=="hematofago"){
				D="pulga";
			} else {
				D="lagarta";
			}
		} else {
			if(C=="hematofago"){
				D="sanguessuga";
			} else {
				D="minhoca";
			}
		}
	}
	printf("%s\n",D.c_str());
	return 0;
}
#python代码
A=(str)(input())
B=(str)(input())
C=(str)(input())
if(A=="vertebrado"):
    if(B=="ave"):
        if(C=="carnivoro"):
            D="aguia"
        else:
            D="pomba"
    else:
        if(C=="onivoro"):
            D="homem"
        else :
            D="vaca"
else:
    if(B=="inseto"):
        if(C=="hematofago"):
            D="pulga"
        else :
            D="lagarta"
    else:
        if(C=="hematofago"):
            D="sanguessuga"
        else:
            D="minhoca"
print(D)

657. 选择练习1

//C++代码

#include<bits/stdc++.h>
using namespace std;

int main() {
/*	 
B 大于 C。
D大于 A。
C和 D 的总和大于 A 和 B的总和。
C和 D是正值。
A是偶数。
*/
	int A,B,C,D;
	cin>>A>>B>>C>>D;
	if((B>C) && (D>A) && (C+D>A+B) && (C>0) && (D>0) && (A%2==0) ){
		printf("Valores aceitos\n");	
	} else {
		printf("Valores nao aceitos\n");
	} 
	return 0;
}
#python代码
A,B,C,D=map(int,input().split())
if((B>C) and (D>A) and (C+D>A+B) and (C>0) and (D>0) and (A%2==0) ):
    print("Valores aceitos")
else:
    print("Valores nao aceitos")
	

671. DDD

//C++代码

#include<bits/stdc++.h>
using namespace std;

int main() {
/*	 

*/
	int n;
	cin>>n;
	if(n==61)
		printf("Brasilia\n");
	else if(n==71)
		printf("Salvador\n");
	else if(n==11)
		printf("Sao Paulo\n");
	else if(n==21)
		printf("Rio de Janeiro\n");
	else if(n==32)
		printf("Juiz de Fora\n");
	else if(n==19)
		printf("Campinas\n");
	else if(n==27)
		printf("Vitoria\n");
	else if(n==31)
		printf("Belo Horizonte\n");		
	else
		printf("DDD nao cadastrado\n");	
	return 0;
}
#python代码
n=int(input())
if(n==61):
    print("Brasilia")
elif(n==71):
    print("Salvador")
elif(n==11):
    print("Sao Paulo")
elif(n==21):
    print("Rio de Janeiro")
elif(n==32):
    print("Juiz de Fora")
elif(n==19):
    print("Campinas")
elif(n==27):
    print("Vitoria")
elif(n==31):
    print("Belo Horizonte")
else:
    print("DDD nao cadastrado")	
	

662. 点的坐标

//C++代码

#include<bits/stdc++.h>
using namespace std;

int main() {
/*	 
给定两个保留一位小数的浮点数 X,Y,用来表示一个点的横纵坐标。
*/
	double x,y;
	cin>>x>>y;
	if(x==0){
		if(y==0){
			printf("Origem\n");
		} else {
			printf("Eixo Y\n");
		}
	} 
	if(y==0){
		if(x!=0){
			printf("Eixo X\n");
		}
	}
	if(x>0){
		if(y>0){
			printf("Q1\n");
		} else if(y<0) {
			printf("Q4\n");
		}
	} else if(x<0){
		if(y>0){
			printf("Q2\n");
		} else if(y<0) {
			printf("Q3\n");
		}
	}
	return 0;
}
#python代码
x,y=map(float,input().split())
if(x==0):
    if(y==0):
        print("Origem")
    else:
        print("Eixo Y")
if(y==0):
    if(x!=0):
        print("Eixo X")
if(x>0):
    if(y>0):
        print("Q1")
    elif(y<0):
        print("Q4")
elif(x<0):
    if(y>0):
        print("Q2")
    elif(y<0):
        print("Q3")

666. 三角形类型

//C++代码

#include<bits/stdc++.h>
using namespace std;

int main() {
/*	 
读取表示三角形三条边的 3 个浮点数 A,B 和 C 并按降序排列,使 A 边是三边中最大的一边。
*/
	double A,B,C;
	double D[3]; 
	cin>>D[0]>>D[1]>>D[2];
	sort(D,D+3);
	A=D[2];
	B=D[1];
	C=D[0];
	if(A>=B+C){
		printf("NAO FORMA TRIANGULO\n");
	} else {
		if(pow(A,2)==pow(B,2)+pow(C,2)){
			printf("TRIANGULO RETANGULO\n");
		} else if (pow(A,2)>pow(B,2)+pow(C,2)){
			printf("TRIANGULO OBTUSANGULO\n");
		} else {
			printf("TRIANGULO ACUTANGULO\n");
		}
		if(A==C){
			printf("TRIANGULO EQUILATERO\n");
		} else {
			if((A==B) || (B==C)){
				printf("TRIANGULO ISOSCELES\n") ;
			}
		}
	}
	
	return 0;
}
#python代码
arr = input("")
D = [float (n) for n in arr.split()]
D.sort()
A=D[2];
B=D[1];
C=D[0];
if(A>=B+C):
    print("NAO FORMA TRIANGULO")
else:
    if(pow(A,2)==pow(B,2)+pow(C,2)):
        print("TRIANGULO RETANGULO")
    elif (pow(A,2)>pow(B,2)+pow(C,2)):
        print("TRIANGULO OBTUSANGULO")
    else:
        print("TRIANGULO ACUTANGULO")
    if(A==C):
        print("TRIANGULO EQUILATERO")
    else:
        if((A==B) or (B==C)):
            print("TRIANGULO ISOSCELES")

668. 游戏时间2

//C++代码

#include<bits/stdc++.h>
using namespace std;

int main() {
/*	 
读取四个整数 A,B,C,D,用来表示游戏的开始时间和结束时间。
*/
	int A,B,C,D,hour,minute;
	cin>>A>>B>>C>>D;
	if(A>C){
		hour = C+24-A; 
	} else if(A<C) {
		hour = C-A;
	} else {
		if(B>=D){
			hour = 24;
		} else {
			hour=0;
		}
	}
	if(B>D){
		minute=D+60-B;
		hour--; 
	} else {
		minute=D-B;
	}
	printf("O JOGO DUROU %d HORA(S) E %d MINUTO(S)\n",hour,minute);
	
	return 0;
}
#python代码
A,B,C,D=map(int,input().split())
if(A>C):
    hour = C+24-A
elif(A<C):
    hour = C-A
else:
    if(B>=D):
        hour = 24;
    else:
        hour=0;
if(B>D):
    minute=D+60-B
    hour=hour-1
else:
    minute=D-B
print("O JOGO DUROU %d HORA(S) E %d MINUTO(S)"%(hour,minute))

672. 税

//C++代码

#include<bits/stdc++.h>
using namespace std;

int main() {
/*	 
读取一个保留两位小数的浮点数值,表示一个公民的工资。
*/
	double s,money=0;
	cin>>s;
	if(s<=2000){
		printf("Isento\n");
	}
	if(s>2000){
		if (s<=3000){
			money+=(s-2000)*0.08;
		}
		else {
			money+=(3000-2000)*0.08;
		}
	} 
	 if(s>3000){
		if(s<=4500){
		money+=(s-3000)*0.18;
	} else {
			money+=(4500-3000)*0.18;}
	}
	if(s>4500){
		money+=(s-4500)*0.28;
	}
	if(s>2000)
	printf("R$ %.2f\n",money);
	return 0;
}
#python代码
s=(float)(input())
money=0.0;
if(s<=2000):
    print("Isento")
if(s>2000):
    if (s<=3000):
        money+=(s-2000)*0.08
    else:
        money+=(3000-2000)*0.08
if(s>3000):
    if(s<=4500):
        money+=(s-3000)*0.18
    else:
        money+=(4500-3000)*0.18
if(s>4500):
    money+=(s-4500)*0.28
if(s>2000):
    print("R$ %.2f"%money)

663. 简单排序

//C++代码

#include<bits/stdc++.h>
using namespace std;

int main() {
/*	 
读取三个整数并按升序对它们进行排序。 
*/
	int A,B,C,D[3];
	cin>>D[0]>>D[1]>>D[2];
	A=D[0];
	B=D[1];
	C=D[2];
	sort(D,D+3);
	for(int i=0;i<3;i++){
		cout<<D[i]<<endl; 
	}
	cout<<endl;
	cout<<A<<endl;
	cout<<B<<endl;
	cout<<C<<endl;
	return 0;
}
#python代码
arr=input("")
D = [int(n) for n in arr.split()]
A=D[0]
B=D[1]
C=D[2]
D.sort()
for i in range(3):
    print(D[i])

print("")
print(A)
print(B)
print(C)

658. 一元二次方程公式

//C++代码

#include<bits/stdc++.h>
using namespace std;

int main() {
/*	 
读取三个浮点数 a,b,c 的值 
*/
	double a,b,c;
	cin>>a>>b>>c;
	if(a==0 || ((pow(b,2)-4*a*c)<0)){
		printf("Impossivel calcular\n");
	} else {
		printf("R1 = %.5f\n",(-b+sqrt(pow(b,2)-4*a*c))/(2*a));
		printf("R2 = %.5f\n",(-b-sqrt(pow(b,2)-4*a*c))/(2*a));
	}
	
	return 0;
}
#python代码
a,b,c=map(float,input().split())
if(a==0 or ((pow(b,2)-4*a*c)<0)):
    print("Impossivel calcular")
else:
    print("R1 = %.5f"%((-b+(pow(b,2)-4*a*c)**0.5)/(2*a)))
    print("R2 = %.5f"%((-b-(pow(b,2)-4*a*c)**0.5)/(2*a)))

661. 平均数3

//C++代码

#include<bits/stdc++.h>
using namespace std;

int main() {
/*	 
读取三个浮点数 a,b,c 的值 
*/
	double N1,N2,N3,N4,X,Y,Z;
	cin>>N1>>N2>>N3>>N4;
	X=(N1*2+N2*3+N3*4+N4*1)/(2+3+4+1);
	printf("Media: %.1f\n",X);
	if(X>=7){
		printf("Aluno aprovado.\n");
	} else if(X<5){
		printf("Aluno reprovado.\n");	
	} else {
		printf("Aluno em exame.\n");
		cin>>Y;
		printf("Nota do exame: %.1f\n",Y);
		Z=(X+Y)/2;
		if(Z>=5){
			printf("Aluno aprovado.\n");
		} else {
			printf("Aluno reprovado.\n");
		}
		printf("Media final: %.1f\n",Z);
	}
	
	
	return 0;
}
#python代码
N1,N2,N3,N4=map(float,input().split())
X=(N1*2+N2*3+N3*4+N4*1)/(2+3+4+1)
print("Media: %.1f"%X)
if(X>=7):
    print("Aluno aprovado.")
elif(X<5):
    print("Aluno reprovado.")
else:
    print("Aluno em exame.")
    Y=float(input())
    print("Nota do exame: %.1f"%Y)
    Z=(X+Y)/2
    if(Z>=5):
        print("Aluno aprovado.")
    else:
        print("Aluno reprovado.")
    print("Media final: %.1f"%Z)
	

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值