/*
*copyright(c) 2018,HH
*All rights reserved.
*作 者:HH
*完成日期:2018年6月28日
*版本号:v1.0
*
*问题描述:体验逻辑短路;
*输入描述:;;
*程序输出:;。
*/
#include <stdio.h>
int main()
{
int a=5,b=6,c=7,d=8,m=2,n=2;
(m=a>b)&&(n=c>d);//与逻辑,前一个表达式为0,后一个表达式不会运算;
printf("%d %d\n",m,n);
(m=a<b)||(n=c>d);//或逻辑,前一个表达式为1,后一个表达式不会运算;
printf("%d %d\n",m,n);
(m=a>b)||(n=c>d);//或逻辑,前一个表达式为0,后一个表达式参与运算并计算出0,总的为0;
printf("%d %d\n",m,n);
(m=a<b)&&(n=c<d);
printf("%d %d\n",m,n);
return 0;
}
/*
*copyright(c) 2018,HH
*All rights reserved.
*作 者:HH
*完成日期:2018年6月28日
*版本号:v1.0
*
*问题描述:判断闰年;闰年的条件是符合下面两者之一: ①能被4整除,但不能被100整除。②能被400整除。
*输入描述:;;
*程序输出:;。
*/
#include <stdio.h>
int main()
{
int year;
printf("请输入一个年份:");
scanf("%d",&year);
if((year%4==0&&year%100!=0)||year%400==0)
{
printf("%d年是闰年!",year);
}
else
{
printf("%d年不是闰年!",year);
}
return 0;
}
/*
*copyright(c) 2018,HH
*All rights reserved.
*作 者:HH
*完成日期:2018年6月28日
*版本号:v1.0
*
*问题描述:使用if语句,输出最大的。
*输入描述:;;
*程序输出:;。
*/
#include <stdio.h>
int main()
{
float a,b,c;
scanf("%f %f",&a,&b);
if(a>b)
{
c=a;
}
else
{
c=b;
}
printf("输入的两个数中,最大的是:%f\n",c);
return 0;
}
/*
*copyright(c) 2018,HH
*All rights reserved.
*作 者:HH
*完成日期:2018年6月28日
*版本号:v1.0
*
*问题描述:使用if嵌套语句,对体重进行判别。
*输入描述:;;
*程序输出:;。
*/
#include <stdio.h>
int main()
{
float weight,standard_weight,height;
printf("请输入你的体重(KG):\n");
scanf("%f",&weight);
printf("请输入你的身高(cm):\n");
scanf("%f",&height);
standard_weight=height-100;
if(weight>standard_weight)
{
printf("你有点超重哦!");
}
else
{
if(weight>=standard_weight*0.8)
{
printf("你的身材很好!");
}
else
{
printf("你有点太瘦了,需要增重!");
}
}
return 0;
}
/*
*copyright(c) 2018,HH
*All rights reserved.
*作 者:HH
*完成日期:2018年6月28日
*版本号:v1.0
*
*问题描述:输入三个边长,如果能构成三角形的话,则计算其面积。
*输入描述:;三角形的三个边长;
*程序输出:;三角形面积或告警!。
*/
#include <stdio.h>
#include <math.h>
int main()
{
float side1,side2,side3,s,area;
printf("请输入三角形的边长1:\n");
scanf("%f",&side1);
printf("请输入三角形的边长2:\n");
scanf("%f",&side2);
printf("请输入三角形的边长3:\n");
scanf("%f",&side3);
if(side1+side2>side3&&side1+side3>side2&&side2+side3>side1)
{
printf("该三角形的三边分别为:%f %f %f\n",side1,side2,side3);
s=(side1+side2+side3)/2;
area=sqrt(s*(s-side1)*(s-side2)*(s-side3));
printf("该三角形的面积为:%f",area);
}
else
{
printf("输入的三边长度不满足构成三角形的条件!\n");
}
return 0;
}
/*
*copyright(c) 2018,HH
*All rights reserved.
*作 者:HH
*完成日期:2018年6月28日
*版本号:v1.0
*
*问题描述:解一元二次方程,ax^2+bx+c=0,求解。
*输入描述:;a,b,c;
*程序输出:;x1,x2。
*/
#include <stdio.h>
#include <math.h>
int main()
{
float a,b,c,x1,x2;
printf("请分别输入方程ax^2+bx+c=0三个系数a b c:\n");
scanf("%f %f %f",&a,&b,&c);
if((b*b-4*a*c)>=0)
{
printf("输入的方程是:%fx^2+%fx+%f=0",a,b,c);
x1=(-b+sqrt(b*b-4*a*c))/(2*a);
x2=(-b-sqrt(b*b-4*a*c))/(2*a);
printf("方程%fx^2+%fx+%f=0的解是x1=%f,x2=%f",a,b,c,x1,x2);
}
else
{
printf("输入的方程%fx^2+%fx+%f=0无解",a,b,c);
}
return 0;
}
/*
*copyright(c) 2018,HH
*All rights reserved.
*作 者:HH
*完成日期:2018年6月28日
*版本号:v1.0
*
*问题描述:if 和 else if;求解分段函数;
*输入描述:;x及其取值范围,y(x)表达式;
*程序输出:;x1,x2。
*备注“if 和 else if;其中分段函数一段的范围x<2;二段的范围[2,6);
*if(x<2);else if(x<6);
*虽然else if(x<6),但是else if的范围是[2,6)!!!!剔除了if(x<2)的范围;以此类推;最后else的范围不填即可;
*/
#include <stdio.h>
#include <math.h>
int main()
{
float x,y;
printf("y=x,x<2\n");
printf("y=x^2+1,2<x<=6\n");
printf("y=sqrt(x+1),6<=x<10\n");
printf("y=1/(x+1),x>10\n");
printf("请输入x的值:\n");
scanf("%f",&x);
if(x<2)
{
y=x;
printf("y的值是:%f\n",y);
}
else if(x<=6)
{
y=x*x+1;
printf("y的值是:%f\n",y);
}
else if(x<=10)
{
y=sqrt(x+1);
printf("y的值是:%f\n",y);
}
else
{
y=1/(x+1);
printf("y的值是:%f\n",y);
}
return 0;
}
/*
*copyright(c) 2018,HH
*All rights reserved.
*作 者:HH
*完成日期:2018年6月28日
*版本号:v1.0
*
*问题描述:体验switch语句的使用;
*输入描述:;输入0,1,2,3,4,5,6;
*程序输出:;对应的星期。
*/
#include <stdio.h>
int main()
{
int day;
printf("Please input the number of week!\n");
printf("Example:0//Sunday;1//Monday;2//Tuesday……\n");
scanf("%d",&day);
switch(day)
{
case 0:
printf("Tody is Sunday!\n");
break;
case 1:
printf("Tody is Monday!\n");
break;
case 2:
printf("Tody is Tuesday!\n");
break;
case 3:
printf("Tody is Wednesday!\n");
break;
case 4:
printf("Tody is Thursday!\n");
break;
case 5:
printf("Tody is Friday!\n");
break;
case 6:
printf("Tody is Saturday!\n");
break;
default:
printf("Input error!");
}
return 0;
}
/*
*copyright(c) 2018,HH
*All rights reserved.
*作 者:HH
*完成日期:2018年6月28日
*版本号:v1.0
*
*问题描述:使用switch语句做一个简单的四则运算!;
*输入描述:;float char float;
*程序输出:;float。
*备注:
*case后是冒号;case后的条件与case有无空格都可以;
*注意带break!!!
*/
#include<stdio.h>
#include<math.h>
int main()
{
float a,b,c;
char op;
printf("请输入两个数的四则运算:example:4.2+1.8\n");
scanf("%f%c%f",&a,&op,&b);
switch(op)
{
case'+':
c=a+b;
printf("%f\n",c);
break;
case'-':
c=a-b;
printf("%f\n",c);
break;
case'*':
c=a*b;
printf("%f\n",c);
break;
case'/':
if(b==0)
{
printf("除数不能为零!\n");
}
else
{
c=a/b;
printf("%f\n",c);
}
break;
default:
printf("输入有误,请重新输入!\n");
break;
}
return 0;
}
/*
*copyright(c) 2018,HH
*All rights reserved.
*作 者:HH
*完成日期:2018年6月28日
*版本号:v1.0
*
*问题描述:灵活使用switch语句;if(else)语句转化为switch语句使用;
*输入描述:;;
*程序输出:;。
*备注:
*case后只能跟常量,用作执行入口,而不是判断;
*freight=price*wight*distance*(1-discount)
*注意语句的执行顺序!!!!!!!!!!!!!!!!!
*/
#include<stdio.h>
int main()
{
float price,distance,weight,discount,freight;
int x;
//x=(distance<250)+(distance<500)+(distance<1000)+(distance<2000)+(distance<3000);
printf("请输入基本运费:(元)\n");
scanf("%f",&price);
printf("请输入货物重量:(Kg)\n");
scanf("%f",&weight);
printf("请输入运输距离:(Km)\n");
scanf("%f",&distance) ;
//freight=price*distance*weight*(1-discount);在此计算不正确,因为discount并未给出确定的值!!!
x=(distance<250)+(distance<500)+(distance<1000)+(distance<2000)+(distance<3000);
switch(x)
{
case 5:
discount=0;
freight=price*distance*weight*(1-discount);
printf("距离I段,不打折,该货物的总运费为:%f\n",freight);
break;
case 4:
discount=0.02;
freight=price*distance*weight*(1-discount);
printf("距离II段,打98折,该货物的总运费为:%f\n",freight);
break;
case 3:
discount=0.05;
freight=price*distance*weight*(1-discount);
printf("距离III段,打95折,该货物的总运费为:%f\n",freight);
break;
case 2:
discount=0.08;
freight=price*distance*weight*(1-discount);
printf("距离III段,打92折,该货物的总运费为:%f\n",freight);
break;
case 1:
discount=0.1;
freight=price*distance*weight*(1-discount);
printf("距离IV段,打9折,该货物的总运费为:%f\n",freight);
break;
case 0:
discount=0.15;
freight=price*distance*weight*(1-discount);
printf("距离V段,打85折,该货物的总运费为:%f\n",freight);
break;
default:
break;
}
return 0;
}
#include<stdio.h>
int main()
{
double x;
scanf("%lf",&x);
printf("%lf\n",(x>0)?:x:-x);
return 0;
}