1、仅供学习交流参考。
#include<stdio.h>
#include<math.h>
#include<stdio.h>
#include<math.h>
#define PI 3.14159//对第二题的应用
void huashi()//1. 华氏度与摄氏度相互转换
{
float f,c;
printf("\n");
printf("请输入华氏:\n");
scanf("%f",&f);
c=(5.0/9)*(f-32);
printf("\n");
printf("c=%.2f\n",c);
printf("\n");
}
void mianji()//2. 求圆的面积
{
float r,s;
printf("\n");
printf("请输入圆的半径:");
scanf("%f",&r);
s=PI*r*r;
printf("\n");
printf("面积为%.2f\n",s);
printf("\n");
}
void zijieshu()//3. 测试不同数据类型的字节数
{
printf("\n");
printf("输出各数据类型字节数\n");
printf("整形数据所占字节数%d\n",sizeof(int));
printf("短型数据所占字节数%d\n",sizeof(short));
printf("单精数据所占字节数%d\n",sizeof(float));
printf("双精数据所占字节数%d\n",sizeof(double));
printf("字符数据所占字节数%d\n",sizeof(char));
printf("\n");
}
void runnian()//4. 判断闰年
{
int a;
printf("\n");
printf("请输入年份:");
scanf("%d",&a);
if(a%4==0 && a%100!=0 || a%400==0)
{
printf("%d 是闰年\n",a);
}
else
printf("%d 不是闰年\n",a);
printf("\n");
}
void sanjiaoxing()//5. 根据三角形的边长,计算三角形面积
{
int a,b,c;
double d,s=0;
printf("\n");
printf("请输入三角形边长:");
printf("例如输入:1,2,3 按回车即可\n");
scanf("%d,%d,%d",&a,&b,&c);
if(a+b>c && a+c>b && b+c>a)
{
d=(a+b+c)/2;
s=sqrt((d-a)*(d-b)*(d-c)*d);
printf("s=%.2f平方米\n",s);
}
else
printf("不能构成三角形,请重新输入\n");
printf("\n");
}
void shuru()//6. 分段函数的计算
{
int x,y;
printf("\n");
printf("请输入x的值:");
scanf("%d",&x);
if(x>10)
{
y=3*x-11;
printf("y=%d\n",y);
}
else
if(x>1)
{
y=2*x-1;
printf("y=%d\n",y);
}
else
printf("y=%d\n",x);
printf("\n");
}
void shuijin()//7. 所得税计算
{
float a,b;
printf("\n");
printf("请输入工资:a=");
scanf("%f",&a);
if(a<3000)
b=0;
else
if(a<5000)
b=(a-3000)*0.03;
else
b=(a-5000)*0.1;
printf("需要交纳税b=%.2f\n",b);
printf("\n");
}
void yunshuanfu()//8. 实现两个数的算术运算
{
float x,y;
char p;
printf("\n");
printf("输入要计算的数值:\n");
printf("例如输入:1-2,按回车\n");
scanf("%f%c%f",&x,&p,&y);
switch (p)
{
case '+':printf("%.2f+%.2f=%.2f\n",x,y,x+y);break;
case '-':printf("%.2f-%.2f=%.2f\n",x,y,x-y);break;
case '*':printf("%.2f*%.2f=%.2f\n",x,y,x*y);break;
case '/':printf("%.2f/%.2f=%.2f\n",x,y,x/y);break;
case '%':printf("%.2f%c%.2f=%d\n",x,p,y,(int)x%(int)y);break;
}
printf("\n");
}
void zongshu()//9. 人口数量计算
{
int n=2000;
double p=0.078,m=14;
printf("\n");
while (n<=2020)
{
m=m*(1+p);
n=n+1;
}
printf("2020年的人口数量为%.2f亿\n",m);
printf("\n");
}
void jiecheng()//10. 求阶乘
{
int a=1,b=1,n=20;
printf("\n");
printf("请输小于20的数字n:");
scanf("%d",&n);
while(b<=n)
{
a=a*b;
b=b+1;
}
printf("%d的阶乘计算结果为:%d\n",n,a);
printf("\n");
}
void sushu()//11. 判断素数
{
int n,k,i;
printf("\n");
printf("请输入一个正整数:");
scanf("%d",&n);
{
k=sqrt(n);
for(i=2;i<=k;i++)
if(n%i==0)break;
if(i>=k+1)
{
printf("%d是素数\n",n);
}
else
printf("%d不是素数\n",n);
}
printf("\n");
}
void shulie()//12. 求斐波那契数列
{
int i;
int a[20]={1,1};
printf("\n");
printf("正在输出非波纳契前20项\n");
for(i=2;i<20;i++)
a[i]=a[i-2]+a[i-1];
for(i=0;i<20;i++)
{
if(i%5==0)
printf("\n");
printf("%12d",a[i]);
}
printf("\n");
}
void defen()//13. 计算选手得分
{
float score[7];
float min,max,ave;
float sum=0.0;
int i;
printf("\n");
printf("请分别输入七个人员的分数:\n");
for(i=0;i<7;i++) scanf("%f",&score[i]);
printf("\n");
min=score[0];
max=score[0];
for(i=0;i<7;i++){
sum=sum+score[i];
if(score[i]>max) max=score[i];
if(score[i]<min) min=score[i];
}
ave=(sum-max-min)/5;
printf("最高分=%5.2f\n",max);
printf("最低分=%5.2f\n",min);
printf("平均分=%5.2f\n",ave);
printf("\n");
}
void chazhao()//14. 查找电话号码
{
int i;
char n[20];
struct call
{
char name[20];
char num[20];
}
a[4]={{"zhao","11111111111"},{"qian","22222222222"},{"sun","33333333333"},
{"li","44444444444"}};
printf("可查询人员名字列表\n");
printf("zhao\n");
printf("qian\n");
printf("sun\n");
printf("li\n");
printf("请输入姓名\n");
scanf("%s",n);
for(i=0;i<4;i++)
if(strcmp(a[i].name,n)==0)
{
printf("%s\n",a[i].num);
break;
}
if(i>=4)
printf("查无此人\n");
}
void main()
{
int p;
while(1)
{
printf("1. 华氏度与摄氏度相互转换 \n");
printf("2. 求圆的面积\n");
printf("3. 测试不同数据类型的字节数\n");
printf("4. 判断闰年\n");
printf("5. 根据三角形的边长,计算三角形面积\n");
printf("6. 分段函数的计算\n");
printf("7. 所得税计算\n");
printf("8. 实现两个数的算术运算\n");
printf("9. 人口数量计算\n");
printf("10.求阶乘\n");
printf("11.判断素数\n");
printf("12.求斐波那契数列 \n");
printf("13.计算选手得分\n");
printf("14.查找电话号码\n");
printf("0. 退出\n");
printf("请选择0-14:");
scanf("%d",&p);
if(p==0)
break;
switch(p)
{
case 1:huashi();break;
case 2:mianji();break;
case 3:zijieshu();break;
case 4:runnian();break;
case 5:sanjiaoxing();break;
case 6:shuru();break;
case 7:shuijin();break;
case 8:yunshuanfu();break;
case 9:zongshu();break;
case 10:jiecheng();break;
case 11:sushu();break;
case 12:shulie();break;
case 13:defen();break;
case 14:chazhao();break;
default:printf("请重新选择:\n");break;
}
}
}
#define PI 3.14159//对第二题的应用
void huashi()//1. 华氏度与摄氏度相互转换
{
float f,c;
printf("\n");
printf("请输入华氏:\n");
scanf("%f",&f);
c=(5.0/9)*(f-32);
printf("\n");
printf("c=%.2f\n",c);
printf("\n");
}
void mianji()//2. 求圆的面积
{
float r,s;
printf("\n");
printf("请输入圆的半径:");
scanf("%f",&r);
s=PI*r*r;
printf("\n");
printf("面积为%.2f\n",s);
printf("\n");
}
void zijieshu()//3. 测试不同数据类型的字节数
{
printf("\n");
printf("输出各数据类型字节数\n");
printf("整形数据所占字节数%d\n",sizeof(int));
printf("短型数据所占字节数%d\n",sizeof(short));
printf("单精数据所占字节数%d\n",sizeof(float));
printf("双精数据所占字节数%d\n",sizeof(double));
printf("字符数据所占字节数%d\n",sizeof(char));
printf("\n");
}
void runnian()//4. 判断闰年
{
int a;
printf("\n");
printf("请输入年份:");
scanf("%d",&a);
if(a%4==0 && a%100!=0 || a%400==0)
{
printf("%d 是闰年\n",a);
}
else
printf("%d 不是闰年\n",a);
printf("\n");
}
void sanjiaoxing()//5. 根据三角形的边长,计算三角形面积
{
int a,b,c;
double d,s=0;
printf("\n");
printf("请输入三角形边长:");
printf("例如输入:1,2,3 按回车即可\n");
scanf("%d,%d,%d",&a,&b,&c);
if(a+b>c && a+c>b && b+c>a)
{
d=(a+b+c)/2;
s=sqrt((d-a)*(d-b)*(d-c)*d);
printf("s=%.2f平方米\n",s);
}
else
printf("不能构成三角形,请重新输入\n");
printf("\n");
}
void shuru()//6. 分段函数的计算
{
int x,y;
printf("\n");
printf("请输入x的值:");
scanf("%d",&x);
if(x>10)
{
y=3*x-11;
printf("y=%d\n",y);
}
else
if(x>1)
{
y=2*x-1;
printf("y=%d\n",y);
}
else
printf("y=%d\n",x);
printf("\n");
}
void shuijin()//7. 所得税计算
{
float a,b;
printf("\n");
printf("请输入工资:a=");
scanf("%f",&a);
if(a<3000)
b=0;
else
if(a<5000)
b=(a-3000)*0.03;
else
b=(a-5000)*0.1;
printf("需要交纳税b=%.2f\n",b);
printf("\n");
}
void yunshuanfu()//8. 实现两个数的算术运算
{
float x,y;
char p;
printf("\n");
printf("输入要计算的数值:\n");
printf("例如输入:1-2,按回车\n");
scanf("%f%c%f",&x,&p,&y);
switch (p)
{
case '+':printf("%.2f+%.2f=%.2f\n",x,y,x+y);break;
case '-':printf("%.2f-%.2f=%.2f\n",x,y,x-y);break;
case '*':printf("%.2f*%.2f=%.2f\n",x,y,x*y);break;
case '/':printf("%.2f/%.2f=%.2f\n",x,y,x/y);break;
case '%':printf("%.2f%c%.2f=%d\n",x,p,y,(int)x%(int)y);break;
}
printf("\n");
}
void zongshu()//9. 人口数量计算
{
int n=2000;
double p=0.078,m=14;
printf("\n");
while (n<=2020)
{
m=m*(1+p);
n=n+1;
}
printf("2020年的人口数量为%.2f亿\n",m);
printf("\n");
}
void jiecheng()//10. 求阶乘
{
int a=1,b=1,n=20;
printf("\n");
printf("请输小于20的数字n:");
scanf("%d",&n);
while(b<=n)
{
a=a*b;
b=b+1;
}
printf("%d的阶乘计算结果为:%d\n",n,a);
printf("\n");
}
void sushu()//11. 判断素数
{
int n,k,i;
printf("\n");
printf("请输入一个正整数:");
scanf("%d",&n);
{
k=sqrt(n);
for(i=2;i<=k;i++)
if(n%i==0)break;
if(i>=k+1)
{
printf("%d是素数\n",n);
}
else
printf("%d不是素数\n",n);
}
printf("\n");
}
void shulie()//12. 求斐波那契数列
{
int i;
int a[20]={1,1};
printf("\n");
printf("正在输出非波纳契前20项\n");
for(i=2;i<20;i++)
a[i]=a[i-2]+a[i-1];
for(i=0;i<20;i++)
{
if(i%5==0)
printf("\n");
printf("%12d",a[i]);
}
printf("\n");
}
void defen()//13. 计算选手得分
{
float score[7];
float min,max,ave;
float sum=0.0;
int i;
printf("\n");
printf("请分别输入七个人员的分数:\n");
for(i=0;i<7;i++) scanf("%f",&score[i]);
printf("\n");
min=score[0];
max=score[0];
for(i=0;i<7;i++){
sum=sum+score[i];
if(score[i]>max) max=score[i];
if(score[i]<min) min=score[i];
}
ave=(sum-max-min)/5;
printf("最高分=%5.2f\n",max);
printf("最低分=%5.2f\n",min);
printf("平均分=%5.2f\n",ave);
printf("\n");
}
void chazhao()//14. 查找电话号码
{
int i;
char n[20];
struct call
{
char name[20];
char num[20];
}
a[4]={{"zhao","11111111111"},{"qian","22222222222"},{"sun","33333333333"},
{"li","44444444444"}};
printf("可查询人员名字列表\n");
printf("zhao\n");
printf("qian\n");
printf("sun\n");
printf("li\n");
printf("请输入姓名\n");
scanf("%s",n);
for(i=0;i<4;i++)
if(strcmp(a[i].name,n)==0)
{
printf("%s\n",a[i].num);
break;
}
if(i>=4)
printf("查无此人\n");
}
void main()
{
int p;
while(1)
{
printf("1. 华氏度与摄氏度相互转换 \n");
printf("2. 求圆的面积\n");
printf("3. 测试不同数据类型的字节数\n");
printf("4. 判断闰年\n");
printf("5. 根据三角形的边长,计算三角形面积\n");
printf("6. 分段函数的计算\n");
printf("7. 所得税计算\n");
printf("8. 实现两个数的算术运算\n");
printf("9. 人口数量计算\n");
printf("10.求阶乘\n");
printf("11.判断素数\n");
printf("12.求斐波那契数列 \n");
printf("13.计算选手得分\n");
printf("14.查找电话号码\n");
printf("0. 退出\n");
printf("请选择0-14:");
scanf("%d",&p);
if(p==0)
break;
switch(p)
{
case 1:huashi();break;
case 2:mianji();break;
case 3:zijieshu();break;
case 4:runnian();break;
case 5:sanjiaoxing();break;
case 6:shuru();break;
case 7:shuijin();break;
case 8:yunshuanfu();break;
case 9:zongshu();break;
case 10:jiecheng();break;
case 11:sushu();break;
case 12:shulie();break;
case 13:defen();break;
case 14:chazhao();break;
default:printf("请重新选择:\n");break;
}
}
}