第四章
4.2.输入3个整数x,y,z,输入其中最小值
#include <stdio.h>
int main(void){
int x,y,z;//输入三个整数
printf("请输入三个整数:");
scanf("%d%d%d",&x,&y,&z);
if(x>y){
if(y>z){
printf("最小数是:%d",z);
}else{
printf("最小数是:%d",y);
}
}else if(x>z){
printf("最小数是:%d",z);
}else{
printf("最小数是:%d",x);
}
}
2.2 表达式:(6>5>4)+(float)(3/2) 的结果是 1.0
原因是
//6>5 结果为1
//1>4结果为0
//3/2结果为1
//(FLOAT)(1)结果为1.0
//所以 (6>5>4)+(FLOAT)(3/2) 结果为1.0
4.3 输入三角形的三条边a,b,c,判断他们是否能够构成三角形,若能构成三角形,求出三角形的面积。( s=(a+b+c)/2,area=sqrt(s(s-a)(s-b)(s-c)))
#include <stdio.h>
#include <math.h> //引入数学函数库
//判断是否能构成三角形:两边之和大于第三边, s=(a+b+c)/2,area=sqrt(s(s-a)(s-b)(s-c))
int main(void){
double a,b,c,s,area;
printf("请输入三条边:");
scanf("%lf%lf%lf",&a,&b,&c);
if((a+b>c) && (a+c>b) && (b+c>a)){
s = (a+b+c)/2;
area = sqrt(s*(s-a)*(s-b)*(s-c));
printf("此三角形的面积是:%lf\n",area);
}else{
printf("不能构成三角形");
}
}
4.4试编程判断输入的正整数是否既是5的倍数又是7的倍数,若是,则输出"yes",否则输出“NO”
#include <stdio.h>
#include <math.h> //引入数学函数库
//0是任何数的倍数
int main(void){
int a;
printf("请输入一个正整数:");
scanf("%d",&a);
if((a%5==0) && (a%7==0)){
printf("YES");
}else{
printf("NO");
}
}
4.5输入一个字符,请判断是字母,数字还是特殊字符
#include <stdio.h>
#include <math.h> //引入数学函数库
int main(void){
char a;
printf("请输入一个字符:");
scanf("%c",&a);
if(a>='a'&&a<='z' || a>='A'&&a<='Z'){
printf("该字符是字母");
}else if(a>='0'&& a<='9'){
printf("该字符是数字");
}else{
printf("该字符是特殊字符");
}
}
4.6编程实现以下功能:读入两个运算数(data1 和data2)及一个运算符(op),计算表达式data1 op data2的值,其中op可为+,-,*,/(用switch语句实现)
#include <stdio.h>
int main(void){
double data1,data2,data3;
char op;
printf("请输入算术式如3*15\n");
scanf("%lf%c%lf",&data1,&op,&data2);
switch(op){
case '+':{
data3=data1+data2;
break;
}
case '-':{
data3=data1-data2;
break;
}
case '*':{
data3=data1*data2;
break;
}
case '/':{
data3=data1/data2;
break;
}
}
printf("%.2lf%c%.2lf=%.2lf",data1,op,data2,data3);
}
4.7有4个数 a,b,c,d,要求按从大到小的顺序输出
#include <stdio.h>
/*我们可以把a,b,c,d中最大的放在a中,然后将余下的三个数中最大的放在b中,再找出余下的两个数中较大的放在c中,最后输出a,b,c,d.
解:算法步骤如下:
第一步,找出a和b中的大者放在a中,小者放在b中.
第二步,找出c和d中的大者放在c中,小者放在d中.
第三步,找出a和c中的大者放在a中,小者放在c中.
第四步,找出b和c中的大者放在b中,小者放在c中.
第五步,找出b和d中的大者放在b中,小者放在d中.
第六步,找出c和d中的大者放在c中,小者放在d中.*/
int main(void){
int a,b,c,d,temp;
printf("请输入4个数:");
scanf("%d%d%d%d",&a,&b,&c,&d);
fflush(stdin);
if(a<b){
temp = a;
a = b;//大的放进a中
b = temp;
}
if(c<d){
temp = c;
c = d;//大的放进c中
d = temp;
}
if(a<c){
temp = a;
a = c;//最大的放a
c = temp;
}
if(b<c){
temp = b;
b = c;
c = temp;
}
if(b<d){
temp = b;
b = d;
d = temp;
}
if(c<d){
temp = c;
c = d;
d = temp;
}
printf("从大到小排序为:%d,%d,%d,%d",a,b,c,d);
}
4.8 编写程序,输入任何一个1-7之间的整数,将他们转换成对应的表示星期几的英文单词,例如:1转化为Monday,2转化为tuesday
#include <stdio.h>
int main(void){
int a;
printf("请输入任意一个1-7之间的整数:");
scanf("%d",&a);
switch(a){
case 1:{
printf("Monday");
break;
}
case 2:{
printf("tuesday");
break;
}
case 3:{
printf("Wednesday");
break;
}
case 4:{
printf("Thursday");
break;
}
case 5:{
printf("Friday");
break;
}
case 6:{
printf("Saturday");
break;
}
case 7:{
printf("Sunday");
break;
}
default:{
printf("数字不满足!");
}
}
}