C语言简单实现14个例题(谭浩强第四版)源于课上作业仅供参考!

 #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;

}

}

}


本文出自 “茉莉爱学习” 博客,请务必保留此出处http://molilinzi.blog.51cto.com/8282931/1549743

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。