第四章(答案仅供参考,欢迎评论区大家一起讨论)
4.1//从键盘输入四个整数,输出其中的最大数和次大数;
#include<stdio.h>
int main()
{
int i,a[4]={0};
int temp,j,k;
printf("a[i]=");
for(i=0;i<4;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<3;i++)//选择排序法
{
k=i;
for(j=i+1;j<4;j++)//j小于数组长度
{
if(a[k]<a[j])
{
k=j;
}
}
if(k!=i)
{
temp=a[k];
a[k]=a[i];
a[i]=temp;
}
}
for(i=0;i<2;i++)
{
printf("%d ",a[i]);
}
return 0;
}
4.2//编写一个函数,输入x的值,输出y的值
#include<stdio.h>
int main()
{
int x,y=0;
printf("x=");
scanf("%d",&x);
if(x<1)
y=x;
else if(x>=1&&x<30)
y=3*x+5;
else
y=7*x-3;
printf("y=%d\n",y);
return 0;
}
4.4//从键盘输入a,b,c,判断其能否构成三角形,若能则输出它的面积;
#include<stdio.h>
#include<math.h>
int main()
{
int a,b,c;
double s;
printf("a,b,c\n");
scanf("%d%d%d",&a,&b,&c);
s=(a+b+c)/2;//海伦公式;计算三角形面积
if(a+b<c||a+c<b||b+c<a)
{
printf("不能构成三角形,重新输入!\n");
}
else
{
printf("s=%.2lf\n",sqrt(s*(s-a)*(s-b)*(s-c)));//海伦公式计算三角形面积(sqrt(s*(s-a)*(s-b)*(s-c));
if(a==b&&a==c)
{
printf("等边三角形\n");
}
else if(a==b||a==c||b==c)
{
printf("等腰三角形\n");
}
else if(pow(a,2)+pow(b,2)==pow(c,2)||pow(b,2)+pow(c,2)==pow(a,2)||pow(a,2)+pow(c,2)==pow(b,2))
{
printf("直角三角形\n");
}
else
{
printf("普通三角形\n");
}
}
// printf("s=%.2lf\n",sqrt(s*(s-a)*(s-b)*(s-c)));//海伦公式计算三角形面积(sqrt(s*(s-a)*(s-b)*(s-c));
return 0;
}
4.5//从键盘输入一个字符,如果是小写,转成大写,是大写则原样输出,是数字则输出十进制ASCLL的值,如果是其他则统一输出@;
#include<stdio.h>
int main()
{
char ch;
printf("ch=");
scanf("%c",&ch);
if(ch>='a'&&ch<='z')
{
ch=ch-32;
printf("%c\n",ch);
}
else if(ch>='A'&&ch<='z')
{
ch=ch;
printf("%c\n",ch);
}
else if(ch>='0'&&ch<='9')
{
printf("%d\n",ch);
}
else
{
printf("@\n");
}
return 0;
}
4.6//键盘输入身高和体重,计算并输入其所在分类;
#include<stdio.h>
#include<math.h>
int main()
{
double high,weigh;
double bmi=0;
printf("high=");
scanf("%lf",&high);
printf("weigh=");
scanf("%lf",&weigh);
bmi=weigh/pow(high,2);
printf("bmi=%.2lf\n",bmi);
if(bmi<18.5)
{
printf("体重过低\n");
}
else if(bmi<24.0)
printf("正常\n");
else if(bmi<28.0)
{
printf("超重\n");
}
else
{
printf("肥胖\n");
}
return 0;
}