C语言练习题-顺序与选择

  1. 从键盘输入年份year(4位十进制数),判断其是否位闰年,润年的条件是:能被4整除但是不能被100整除,或者不能被400整除。
//从键盘输入年份year(4位十进制数),判断其是否位闰年,润年的条件是:能被4整除但是不能被100整除,或者不能被400整除。 
#include<stdio.h>
int main(){
	int x;
	printf("请输入年份:");
	scanf("%d",&x);
	if(x%4==0||(x%100!=0&&x%400==0)){
		printf("%d是闰年!!",x);
	}
	else
	printf("不是闰年"); 
} 
  1. 输入三个整数,由小到大输出 。
//输入三个整数,由小到大输出 
#include<stdio.h>
int main(){
	int a,b,c,max,min;
	scanf("%d,%d,%d",&a,&b,&c);
	max=((a>b?a:b)>(c>b?c:b)?(a>b?a:b):(c>b?c:b));
	min=((a<b?a:b)<(c<b?c:b)?(a<b?a:b):(c<b?c:b));
    if(a>min&&a<max){
       printf("%d,%d,%d",min,a,max);
    }else if(c>min&&c<max){
        printf("%d,%d,%d",min,c,max);
    }else{
        printf("%d,%d,%d",min,b,max);
   }
}


  1. 编写程序当 0<x<1时输出y=e(x0.5)当 3<=x<=4时输出y=|x|+2当x取其他值时输出 y=sin*(x^2)。
//编写程序当 0<x<1时输出y=e^(x^0.5)当 3<=x<=4时输出y=|x|+2当x取其他值时输出 y=sin*(x^2)
#include<stdio.h>
#include<math.h>
int main(){
    float x,y;
	printf("输入x的值:");
	scanf("%f",&x);
	if((x>0)&&(x<1)){
		y=exp(sqrt(x))-1;
	} 
	else if(x>=3&&x<=4){
		if(x<0){
			y=-x+2;
		}else{
			y=x+2;
		}
	}
	else{
		y=sin(x*x);
	}
	printf("%f",y);
}
 
  1. 出分段函数,当x<1,y=-1;当1<=x<10,y=2x+1;当x>=10,y=3x+2 .
//输出分段函数,当x<1,y=-1;当1<=x<10,y=2x+1;当x>=10,y=3x+2 
#include<stdio.h>
int main(){
	float  x,y;
	printf("输入x的值:");
	scanf("%f",&x);
	if(x<1){
		y=-1;
		printf("%f",y);
	} 
	else if(x>=1&&x<10){
		y=2*x+1;
		printf("%f",y);
	}
	else{
		y=3*x+2;
		printf("%f",y);
	}
} 

  1. 输入一个整数m,判断它能否被3,13,17整除,如果能被这3个数之一整除,则输出它能被整除的信息,否则输出m不能被3,13,17整除的信息。
//输入一个整数m,判断它能否被3,13,17整除,如果能被这3个数之一整除,则输出它能被整除的信息,否则输出m不能被3,13,17整除的信息。
#include<stdio.h>
int main(){
	int m,x;
	printf("输入这个整数M:");
	scanf("%d",&m);
	if(m%3==0){
		x=m/3;
		printf("m/3=%d",x); 
	}
	else if(m%17==0){
		x=m/17;
		printf("m/17=%d",x); 
	}
	else if(m%13==0){
		x=m/13;
		printf("m/13=%d",x); 
	}
	else{
		printf("M不能被3,13,17整除M=%d",m);
	}
	
} 
  1. 若一个学生是某校z的学生,且是男生,则输出“male”;若是女生,则输出“female”;若不是某校的学生,则输出“NO”。
//若一个学生是某校z的学生,且是男生,则输出“male”;若是女生,则输出“female”;若不是某校的学生,则输出“NO”。
#include<stdio.h>
int main(){
	char x='z';//设学校为x 
	int y;//y为输入值 
	int m;
	printf("输入学生编号1-122:"); 
	scanf("%d",&y);
	m=40;//设40为男生女生分界线 
	if(y>x){ //设大于x的不是本校学生 
		printf("No");
	} 
	else if(y>0&&y<=m){//设小于等m的为男生 
		printf("male"); 
	}
	else if(y>m&&y<=x){//大于m小于等于x的为女生 
		printf("female");
		
	}
} 
  1. 某品牌的国内销售额价为 80箱以下,每箱350元,超过80箱,超过部分每箱优惠20元,国外销售加为1000箱以下,每一箱900元,超过1000箱,超过部分每箱优惠15元。
//某品牌的国内销售额价为 80箱以下,每箱350元,超过80箱,超过部分每箱优惠20元,国外销售加为1000箱以下,每一箱900元,超过1000箱,超过部分每箱优惠15元。 
#include<stdio.h>
int main(){
	int x,y,i,c;
	printf("输入国内出售箱数:");
	scanf("%d",&x);
	printf("输入国外出售箱数:");
	scanf("%d",&i);
	if(x<=80){
		y=x*350;
	}
	else if(x>80){
		y=80*350+((x-80)*(350-20 ));
	} 
	else if(i<=1000){
		c=i*900;
	}
	else if(i>1000){
		c=1000*900+((i-1000)*(900-15));
	}
	printf("销售额为%d",y+c);
}
  1. 电文加密的算法是:将字母A变成字母G,a变成g,B变成H,b变成h,以此类推,并且U变成A,V变成B等。从键盘输入一个电文字符,输出相对应的密码。
//电文加密的算法是:将字母A变成字母G,a变成g,B变成H,b变成h,以此类推,并且U变成A,V变成B等。从键盘输入一个电文字符,输出相对应的密码。
#include<stdio.h>
int main(){
	char x,y;
	printf("输入一个电文字符:");
	scanf("%c",&x);
	if('A'<=x&&x<='F'){
		y=x+6;
	}
	else if('G'<=x&&x<='L'){
		y=x+6;
	}
	else if('N'<=x&&x<='S'){
		y=x+6;
	}
	else if('U'<=x&&x<='Z'){
		y=x-20;
	}
	else if('a'<=x&&x<='f'){
		y=x+6;
	}
	else if('g'<=x&&x<='l'){
		y=x+6;
	}
	else if('n'<=x&&x<='s'){
		y=x+6;
	}
	else if('u'<=x&&x<='z'){
		y=x-20;
	}
	printf("相对应的密码:%c",y);
} 
  1. 企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万低于20万时,低于10万的部分按照10%提成,高于10万的部分可以提成7.5%;20万到40万之间时,高于20万元的部分,可以提成5%;60万到40万之间,高于40万的部分,可以提成3%;60万到100万之间,高于60万的部分,可以提成1.5%,高于100万元的,超过100万元的部分按1% 。键盘输入利润I,求发奖金数。
//企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万低于20万时,低于10万的部分按照10%提成,
//高于10万的部分可以提成7.5%;20万到40万之间时,高于20万元的部分,可以提成5%;
//60万到40万之间,高于40万的部分,可以提成3%;60万到100万之间,高于60万的部分,可以提成1.5%,
//高于100万元的,超过100万元的部分按1% 。键盘输入利润I,求发奖金数。
#include<stdio.h>
int main(){
	double i,y;
	printf("输入当月利润:");
	scanf("%lf",&i);
	if(0<i&&i<=10){
		y=i*0.1;
	}
	else if(10<i&&i<=20){
		y=(i-10)*0.075+10*0.1;
	}
	else if(20<i&&i<=40){
		y=(i-20)*0.05+(20-10)*0.075+10*0.1;
	}
	else if(40<i&&i<=60){
		y=(i-40)*0.03+(40-20)*0.05+(20-10)*0.075+10*0.1;
	}
	else if(60<i&&i<=100){
		y=(i-60)*0.0015+(60-40)*0.03+(40-20)*0.05+(20-10)*0.075+10*0.1;
	} 
	else {
		y=(i-100)*0.001+(100-60)*0.0015+(60-40)*0.03+(40-20)*0.05+(20-10)*0.075+10*0.1;
	}
	printf("应发奖金为%f万元",y);
} 
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值