清览云题库(第四、五章)代码(上)

简介: 笔记

第四章


第4章小练习1-1 比大小

#include<stdio.h>
#include<stdlib.h>
//比大小
//有3个整数a,b,c,由键盘输入,输出其中最大的数(使用if-else语句)
#include  "stdio.h"
int main(){ 
  int a,b,c,temp,max;
    scanf("%d %d %d",&a,&b,&c);
    temp=(a>b)?a:b;                    
    max=(temp>c)?temp:c;               
    printf("%d",max);
    return 0;
}

第4章小练习1-2 求平方根

#include<stdio.h>
#include<stdlib.h> 
//求平方根
//从键盘输入一个小于1000的正数
//要求输出它的平方根(如果平方根不是整数则输出其整数部分)
int main(){
  int i,k;
  scanf("%d",&i);
  k=sqrt(i);
  printf("%d",k);
  return 0;
}


第4章小练习1-3 函数求解

#include<stdio.h>
#include<stdlib.h>
//函数求解
//编写一个C程序,输入x的值,输出y相应的值
int main(){
  int x,y;
  scanf("%d",&x);
  y=0;
  if(x>0) 
  y=1;
  else if(x <0)
  y=-1; 
  printf("y=%d",y);
  return 0;
}


第4章小练习1-4 计算成绩分数所在等级

#include<stdio.h>
#include<stdlib.h>
//计算成绩分数所在等级
//给出一百分制成绩,要求输出成绩等级’A’、’B’、’C’、’D’、’E’
//90分以上为‘A’,80~89为‘B’,70~79为‘C’,60~69为‘D’, 60分以下为‘E’
int main(){
  float score;
  char grade;
  scanf("%f",&score);
  switch((int)(score/10)) {
  case 10:
  case 9:
    grade='A';
    break;
  case 8:
    grade='B';
    break;
  case 7:
    grade='C';
    break;
  case 6:
    grade='D';
    break;
  case 5:
  case 4:
  case 3:
  case 2:
  case 1:
  case 0:
    grade='E';
  }
  printf("%c ",grade);
  return 0;
}


第4章小练习1-5 按序输出数字

#include<stdio.h>
#include<stdlib.h>
//按序输出数字
//输入4个整数,要求按由小到大的顺序输出
int main(){
  int  t,a,b,c,d;
  scanf("%d %d %d %d",&a,&b,&c,&d);
  if (a>b) {
  t=a;
  a=b;
  b=t;
  }
  if (a>c) {
  t=a;
  a=c;
  c=t;
  }
  if (a>d) {
  t=a;
  a=d;
  d=t;
  }
  if (b>c) {
  t=b;
  b=c;
  c=t;
  }
  if (b>d) {
  t=b;
  b=d;
  d=t;
  }
  if (c>d) {
  t=c;
  c=d;
  d=t;
  }
  printf("%d %d %d %d",a,b,c,d);
  return 0;
}


第4章小练习1-6 求塔建筑高度

#include<stdio.h>
#include<stdlib.h>
//输入任意点坐标,求该点的建筑高度
//有4个圆塔,圆心分别为(2,2)、(-2,2)、(-2,-2)、(2,-2),圆半径为1,这四个塔的高度为10米
//塔以外无建筑物。输入任意点坐标,求该点的建筑高度(塔外高度为0)
int main(){
  int  h=10;
  float x1=2,y1=2,x2=-2,y2=2,x3=-2,y3=-2,x4=2,y4=-2,x,y,d1,d2,d3,d4;
  scanf("%f%f",&x,&y);
  d1=(x-x4)*(x-x4)+(y-y4)*(y-y4);           
  d2=(x-x1)*(x-x1)+(y-y1)*(y-y1);
  d3=(x-x2)*(x-x2)+(y-y2)*(y-y2);
  d4=(x-x3)*(x-x3)+(y-y3)*(y-y3);
  if (d1>1 && d2>1 && d3>1 && d4>1)  
  h=0;  
  printf("%d",h);
  return 0;
}


第4章小练习1-7 求方程实根

#include<stdio.h>
#include<stdlib.h>
//求方程实根
//编写程序,从键盘输入一个二元一次方程ax2+bx+c=0的三个参数a、b、c(均为整数)
//求此方程的实根。如果方程有实根,则输出实根(精确到小数点后2位,较大实根在前)
//如果没有实根,则输出没有实根的信息
int main(){
  int a,b,c;
  double p,x1,x2;
  scanf("%d %d %d",&a,&b,&c);
  p=1.0*b*b-4.0*a*c;
  if(p>=0){
  x1=(-b+sqrt(p))/2/a;
  x2=(-b-sqrt(p))/2/a;
  printf("实根为%.2lf,%.2lf",x1,x2);
  }
  else
  printf("无实根!");
}


第4章小练习1-8 按序输出数字

#include<stdio.h>
#include<stdlib.h>
//按序输出数字
//输入三个整数a,b,c,从小到大排列依次存入a,b,c中并输出
int main(){
  int a,b,c,t;
  scanf("%d %d %d",&a,&b,&c);
  if(a>b){
  t=a;
  a=b;
  b=t;
  }
  if(b>c){
  t=b;
  b=c;
  c=t;
  }
  if(a>b){
  t=a;
  a=b;
  b=t;
  }
  printf("%d %d %d",a,b,c);
}


第4章小练习1-9 计算反应是当前温度T是否能够自发进行

#include<stdio.h>
#include<stdlib.h>
//计算反应在当前温度T下是否能够自发进行
//一个反应的吉布斯自由能变能够告诉我们该反应在当前温度T下是否能够自发进行。其计算公式为:
int main(){
  double g,h,t,s;
  scanf("%lf %lf %lf",&h,&t,&s);
  g=h-t*s;
  if(g<0) 
  printf("Yes");
  else
  printf("No");
}


第4章小练习1-10 计算输入序列是否递减

#include<stdio.h>
#include<stdlib.h>
//计算输入序列是否递减
//编写一个程序,从键盘依次读入5个实数,如果整个输入序列不递减,则输出YES,否则输出NO
//(所谓输入序列不递减,指对于序列中连续的两个数n1和n2,满足n1<=n2)
int main(){
  double n1,n2,n3,n4,n5;
  scanf("%lf %lf %lf %lf %lf",&n1,&n2,&n3,&n4,&n5);
  if(n1<=n2||n2<=n3||n3<=n4||n4<=n5)
  printf("Yes");
  else
  printf("No");
}


第4章小练习1-11 输出ISBN中所包含的出版地区的信息

#include<stdio.h>
#include<stdlib.h>
//输出ISBN中所包含的出版地区的信息
//每本书的封底都有一串号码,比如978-7-111-34081-2,它叫做"国际标准书号"(International Standard Book Number,缩写为ISBN)。它是全世界图书的编码,用来唯一代表一本书。目前ISBN是13位。从组成上看,13位的ISBN可以分为5个区:
//第一区 EAN-UCC前缀 、第二区 组区号、第三区 出版者号、第四区 出版序号、第五区 校验码。
//其中第二区 组区号从第4位数字开始。这部分表明这本书是哪个国家或地区出版的。0或1表示英语国家,2表示法语国家,3表示德语国家,4表示日本,5表示俄语国家,6表示伊朗,7表示中国大陆,89表示韩国,957和986表示台湾,962和988表示香港,99936表示不丹。
//输入一个13位ISBN。输入格式:978-7-111-34081-2
//输入之后,输出ISBN中所包含的出版地区的信息。
//比如:组区号为7,则输出” China”。
//这里我们最低要求识别的地区包括:
//0 English Region
//1 English Region
//2 French Region
//4 Japan
//7 China
//89 South Korea
//957 Taiwan
//986 Taiwan
//962 Hong Kong
//988 Hong Kong 
int main(){
  int i1,i2,i3,i4,i5;
  scanf("%d-%d-%d-%d-%d",&i1,&i2,&i3,&i4,&i5);
  switch(i2){
  case 0:printf("English Region");break;
  case 1:printf("English Region");break;
  case 2:printf("French Region");break;
  case 4:printf("Japan");break;
  case 7:printf("China");break;
  case 89:printf("South Korea");break;
  case 957:printf("Taiwan");break;
  case 986:printf("Taiwan");break;
  case 962:printf("Hong Kong");break;
  case 988:printf("Hong Kong");break;
  }
}


第4章小练习1-12 按代数值由小到大的顺序输出两个数

//按代数值由小到大的顺序输出两个数
//输入两个实数,按代数值由小到大的顺序输出这两个数(保留两位小数)
#include<stdio.h>
#include<stdlib.h>
//按代数值由小到大的顺序输出两个数
//输入两个实数,按代数值由小到大的顺序输出这两个数(保留两位小数) 
int main(){
  float a,b,t;
  scanf("%f %f",&a,&b);
  if(a>b) {
  t=a;
  a=b;
  b=t;
  }
  printf("%.2f %.2f",a,b);
  return 0;
}


第4章小练习1-13 将大写字母转换为小写字母

#include<stdio.h>
#include<stdlib.h>
//将大写字母转换为小写字母
//输入一个字符,判别它是否为大写字母,如果是,转换成小写字母,如果不是,不转换
int main(){
  char ch;
  scanf("%c",&ch);
  ch=(ch>='A' && ch <='Z') ? (ch+32) : ch;
  printf("%c",ch);
  return 0;
}


第4章小练习2-1 数字操作(5位数逆序)

#include<stdio.h>
#include<stdlib.h>
//数字操作
//输入一个不多于5位的正整数,要求:
//求出它是几位数
//分别输出每一位数字
//按逆序输出各位数字,例如原数为321,应输出123
int  main(){
  int num,indiv,ten,hundred,thousand,ten_thousand,place;      
  scanf("%d",&num);
  if (num>9999)
  place=5;
  else  if (num>999)
  place=4;
  else  if (num>99)
  place=3;
  else  if (num>9)
  place=2;
  else 
  place=1;
  printf("位数:%d\n",place);
  printf("每位数字为:");
  ten_thousand=num/10000;
  thousand=(int)(num-ten_thousand*10000)/1000;
  hundred=(int)(num-ten_thousand*10000-thousand*1000)/100;
  ten=(int)(num-ten_thousand*10000-thousand*1000-hundred*100)/10;
  indiv=(int)(num-ten_thousand*10000-thousand*1000-hundred*100-ten*10);
  switch(place) {
  case 5:
    printf("%d,%d,%d,%d,%d",ten_thousand,thousand,hundred,ten,indiv);
    printf("\n反序数字为:");
    printf("%d%d%d%d%d\n",indiv,ten,hundred,thousand,ten_thousand);
    break;
  case 4:
    printf("%d,%d,%d,%d",thousand,hundred,ten,indiv);
    printf("\n反序数字为:");
    printf("%d%d%d%d\n",indiv,ten,hundred,thousand);
    break;
  case 3:
    printf("%d,%d,%d",hundred,ten,indiv);
    printf("\n反序数字为:");
    printf("%d%d%d\n",indiv,ten,hundred);
    break;
  case 2:
    printf("%d,%d",ten,indiv);
    printf("\n反序数字为:");
    printf("%d%d\n",indiv,ten);
    break;
  case 1:
    printf("%d",indiv);
    printf("\n反序数字为:");
    printf("%d",indiv);
    break;
  }
  return 0;
}


第4章小练习2-2 求应发奖金总数

#include<stdio.h>
#include<stdlib.h>
//求应发奖金总数
//企业发放的奖金根据利润提成
//利润I低于或等于100000元的,奖金可提成10%;利润高与100000元,低于200000元(100000≤I ≤200000)时,低于100000元的部分按10%提成
//高于100000的部分,可提成7.5%;200000< I ≤400000时,低于200000元的部分仍按上述办法提成(下同)
//高于200000元的部分按5%提成;400000< I ≤600000元时,高于400000元的部分按3%提成;600000< I ≤1000000时,高于600000元的部分按1.5%提成
//I>1000000时,超过1000000元的部分按1%提成。从键盘输入当月利润I,求应发奖金总数,保留两位小数
//用if语句编写程序
int main(){
  int i;
  double bonus,bon1,bon2,bon4,bon6,bon10;
  bon1=100000*0.1;
  bon2=bon1+100000*0.075;
  bon4=bon2+200000*0.05;
  bon6=bon4+200000*0.03;
  bon10=bon6+400000*0.015;
  scanf("%d",&i);
  if (i <=100000)
  bonus=i*0.1;
  else if (i <=200000)
  bonus=bon1+(i-100000)*0.075;
  else if (i <=400000)
  bonus=bon2+(i-200000)*0.05;
  else if (i <=600000)
  bonus=bon4+(i-400000)*0.03;
  else if (i <=1000000)
  bonus=bon6+(i-600000)*0.015;
  else
  bonus=bon10+(i-1000000)*0.01;
  printf("%.2f",bonus);
  return 0;
}


第4章小练习2-3 求小明同学在时间t1,t2内运动的距离

#include<stdio.h>
#include<stdlib.h>
//求小明同学在时间t1,t2内运动的距离
//大学里上午上课时间是八点钟。小明同学7点30分在食堂吃完饭后,以100m/min的速度步行去教室
//但是走了10分钟后小明一看手表发现手表上已经7点55分了(其实是手表坏了),小明感到很着急马上开始跑步,小明跑步的速度是150m/min
//小明跑了10分钟后,听到手机在响,原来这是他设置的闹钟,现在才7点50!而距离教室也只有500m的距离了,所以小明又放慢脚步,以50m/min的速度刚好在8点到达教室,开始上课
//现在输入时间点t1、t2(t1、t2在7:30到8:00之间且t1
int main(){
  int t1,t2,s;
  scanf("%*c%*c%d %*c%*c%d",&t1,&t2);
  if(t2==0) t2=60;
  if(t2 <=40)
  s=(t2-t1)*100;
  else if(t2 <=50){
  if (t1 <=40)
    s=(40-t1)*100+(t2-40)*150;
  else
    s=(t2-t1)*150;
  }
  else if(t2 <=60){
  if (t1 <=40)
    s=(40-t1)*100+1500+(t2-50)*50;
  else if(t1 <=50)
    s=(50-t1)*150+(t2-50)*50;
  else
    s=(t2-t1)*50;
  }
  printf("%d米",s);
}


相关文章
|
3月前
|
存储 算法 Java
JAVA后端开发面试题库
JAVA后端开发面试题库
51 1
|
3月前
|
网络协议 安全 测试技术
360培训题库9-13
360培训题库9-13
28 0
|
编解码 前端开发 JavaScript
2019前端最全面试题(二)
2019前端最全面试题(二)
47 1
|
缓存 前端开发 JavaScript
前端面试基础题库——1
前端面试基础题库——1
148 0
|
Web App开发 前端开发 JavaScript
2019前端最全面试题(三)
2019前端最全面试题(三)
44 0
|
4月前
|
存储 前端开发 JavaScript
最新Web前端经典面试试题及答案-史上最全前端面试题(含答案)
最新Web前端经典面试试题及答案-史上最全前端面试题(含答案)
|
4月前
|
设计模式 前端开发 JavaScript
前端 面试题库
前端 面试题库
103 0
|
4月前
|
XML 存储 前端开发
2022最新前端经典面试试题
2022最新前端经典面试试题
|
4月前
|
前端开发 JavaScript 小程序
前端入门指南前端面试题库
前端入门指南前端面试题库
|
缓存 移动开发 网络协议
前端面试基础题库——关于底层原理的面试题
前端面试基础题库——关于底层原理的面试题
123 0
前端面试基础题库——关于底层原理的面试题