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

简介: 笔记

第五章


第5章编程题简单-1 星座

#include<stdio.h> 
#include<stdlib.h>
//计算星座
//
//编写程序输入月份和日期,给出对应的星座。下面是星座计算表。
//3.21-4.20   白羊  4.21-5.20   金牛  5.21-6.20   双子
//6.21-7.22   巨蟹  7.23-8.22   狮子  8.23-9.22   处女
//9.23-10.22  天秤  10.23-11.22 天蝎  11.23-12.22 人马
//12.23-1.20  摩羯  1.21-2.20   宝瓶  2.21-3.20   双鱼
int main(){
    int m=0,d=0,t=0;
  printf("计算星座,输入月份和日期\n"); 
  scanf("%d%d",&m,&d); //输入月份和日期 
  printf("%d月%日的对应星座为",m,d);
  exchange(m,d);
  return 0;
}
void exchange(int m,int d){
  int t=0;
  t=m<7?21:23; //7月前为21,7月后为23
  if(d>=t) m++; // 在一个月的t号之后月份加一
  switch(m){
     case 2:printf("水瓶");break;
     case 3:printf("双鱼");break;
     case 4:printf("白羊");break;
     case 5:printf("金牛");break;
     case 6:printf("双子");break;
     case 7:printf("巨蟹");break;
     case 8:printf("狮子");break;
     case 9:printf("处女");break;
     case 10:printf("天秤");break;
     case 11:printf("天蝎");break;
     case 12:printf("人马");break;
     default:printf("摩羯"); //13月,与1月相同处理
    }
  return 0;
}


第5章编程题简单-2 九九乘法表

#include<stdio.h>
int main(){
  int i,j;
  for(i=1;i<=9;i++){
  for(j=1;j<=i;j++)
  printf("%d*%d=%d ",i,j,i*j);
  printf("\n");
  }
  return 0;
}


第5章编程题简单-3 近似值

#include<stdio.h>
#include<stdlib.h>
//近似值
//编写程序利用公式计算下面公式的近似值,直到括号中最后一项的绝对值小于10-6次方为止
int main(){
  int s=1;
  double pi=0,n=1,t=1;
  while (fabs(t)>1e-6)
  pi=pi+t, n=n+2, s=-s, t=s/n;
  pi=pi*4;
  printf("%lf\n",pi);
    return 0;
}


第5章编程题简单-4 找出100-200之间不能被3整除的数

#include<stdio.h>
//找出100-200之间的不能被3整除的数 
int main(){
  int i;
  for(i=100;i<=200;i++){
  if(i%3!=0){
    printf("%d ",i);
  }
  }
  return 0;
}


第5章编程题简单-5 找出100-200之间的素数

#include<stdio.h>
#include<math.h>
//求100-200之间的全部素数 
int main(){
  int n,k,i,m=0;
  for(n=101;n<=200;n=n+2){
  k=sqrt(n);
  for(i=2;i<=k;i++)
    if(n%i==0) break;
  if(i>=k+1){
    printf("%d ",n);
    m=m+1;
  }
  if(m%10==0) printf("\n");
  }
  printf("\n");
  return 0;
}


第5章编程题简单-6 韩信点兵

#include<stdio.h>
#include<stdlib.h>
//韩信点兵
//韩信有一队兵,他想知道有多少人,便让士兵排队报数:
//按从1至5报数,最末一个士兵报的数为1;按从1至6报数,最末一个士兵报的数为5;
//按从1至7报数,最末一个士兵报的数为4;最后再按从1至11报数,最末一个士兵报的数为10
//编程求韩信至少有多少兵?
int main() {
  int i;
  for(i=1;; i++) {
  if(i%5==1&&i%6==5&&i%7==4&&i%11==10) {
    printf("%d",i);
    break;
  }
  }
}


第5章编程题中等-1 素数计算

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
//素数计算
//编写程序计算某区间内素数的个数cnt,并按所求素数的值从大到小的顺序,
//再计算其间隔减、加之和,即第1个素数-第2个素数+第3个素数-第4个素数+第5个素数……的值sum
int main(){
  int s=0,cnt=0,f=1,i,j,a,b;
  scanf("%d %d",&a,&b);
  for(i=b;i>=a;i--){
       for(j=2;j<=sqrt(i);j++)
          if(i%j==0) break;
       if(j>sqrt(i)){
          cnt++;
          s=s+f*i;
          f=-f;
       }
  }
  printf("%d %d",cnt,s);
    return 0;
}


第5章编程题中等-2 求两数的最大公约数和最小公倍数

#include<stdio.h>
#include<stdlib.h> 
//求两数的最大公约数和最小公倍数
//输入两个正整数m和n,求其最大公约数和最小公倍数
int main(){
  int p,r,n,m,temp;
  scanf("%d %d",&n,&m);
  if (n<m) {
  temp=n;
  n=m;
  m=temp;
  }
  p=n*m;
  while(m!=0) {
  r=n%m;
  n=m;
  m=r;
  }
  printf("最大公约数:%d\n",n);
  printf("最小公倍数:%d",p/n);
  return 0;
}


第5章编程题中等-3 计算球在第10次落地时,共经过多少米,第10次反弹多高

#include<stdio.h>
#include<stdlib.h> 
//计算球在第10次落地时,共经过多少米,第10次反弹多高
//一个球从100m高度自由落下,每次落地后反跳回原高度的一半,再落下,再反弹
//求它在第10次落地时,共经过多少米,第10次反弹多高
int main(){
  double sn=100,hn=sn/2;
  int n;
  for (n=2; n <=10; n++) {
  sn=sn+2*hn;   
  hn=hn/2;      
  }
  printf("第10次落地时共经过%.6lf米\n",sn);
  printf("第10次反弹%.6lf米\n",hn);
  return 0;
}


第5章编程题中等-4 计算选秀选手的最后得分

#include<stdio.h>
#include<stdlib.h>
//计算选秀选手的最后得分
//在选秀节目中有10个评委为参赛选手打分,分数为1到100分,选手最后的得分为去掉一个最高分和去掉一个最低分后其余8个分数的平均分
//编写程序,输入10个分数,输出选手的最后得分
int main(){
  int i=1,x,min=100,max=0,s=0;
  while(i<=10){
  scanf("%d",&x);
  min=x<min?x:min;
  max=x>max?x:max;
  s=s+x;
  i++;
  }
  printf("%.2lf",(s-min-max)/8.0);
}


第5章编程题中等-5 马克思鸡兔同笼

#include<stdio.h>
#include<stdlib.h>
//趣味数学题
//马克思手稿中有一道趣味数学题:有30个人,其中有男人、女人和小孩,在一家饭馆里吃饭共花了50先令,每个男人各花3先令,每个女人各花2先令,每个小孩各花1先令
//问男人、女人和小孩各有几人?输出所有的可能结果
int main(){
  int man,woman;
  for(man=1; man <=17; man++)
  for(woman=1; woman <=25; woman++) {
    if(50 == man*3 + woman*2 +(30-man-woman) )
    printf("man:%d,woman:%d,child:%d\n",man,woman,30-man-woman);
  }
}


第5章编程题较难-1 三天打鱼两天晒网

#include<stdio.h>
#include<stdlib.h>
int main(){
  int y,m,d,days=0;
  scanf("%d/%d/%d",&y,&m,&d);
    days=365*(y-2000);//计算整年的天数
    int i=0; 
    for (i=2000;i <y;i++)  //修正闰年的366天
        if((i%400==0)||((i%100!=0)&&(i%4==0)))
            days++;
    for (i=1;i <m;i++){  //计算整月的天数
        switch (i){
            case 1:
            case 3:
            case 5:
            case 7:
            case 8:
            case 10:
            case 12:
                days=days+31;break;
            case 4:
            case 6:
            case 9:
            case 11:
                days=days+30;break;
            case 2:
                days=days+28;
                if((y%400==0)||((y%100!=0)&&(y%4==0))) days++;
                break;
        }
    }
    days=days+d;  //计算当月已经过去的天数
    if (days%5==1||days%5==2||days%5==3)
  printf("fishing\n");
    else
  printf("sleeping\n");
    return 0;
}


第5章编程题较难-2 捕鱼

#include<stdio.h>
#include<stdlib.h>
//捕鱼
//A、B、C、D、E五个人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉
//到了早上,A第一个醒来,他将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份
//B第二个醒来,也将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份
//C、D、E依次醒来,也按同样的方法拿走鱼。编写程序求他们合伙至少捕了多少条鱼?
int main(){
  int s1,s2,s3,s4,s5;
    for (s5=16;;s5=s5+5){
        int cnt=0;
        s4=(s5-1)*4/5;
        if ((s4-1)%5==0) {
            s3=(s4-1)*4/5;
cnt++;
        }
        else continue;
        if ((s3-1)%5==0){
            s2=(s3-1)*4/5;
cnt++;
        } else continue;
        if ((s2-1)%5==0) {
            s1=(s2-1)*4/5;
cnt++;
        }
        else continue;
        if ((s1-1)%5==0) {
cnt++;
        }
        else continue;
        if (cnt==4) {
printf("%d\n",s5);
            break;
        }
    }
    return 0;
}


第5章编程题较难-3 两面族

#include<stdio.h>
#include<stdlib.h> 
//两面族
//两面族是荒岛上的一个新民族,他们的特点是说话真一句假一句且真假交替
//如果第一句为真,则第二句是假的;如果第一句为假的,则第二句就是真的,但是第一句是真是假没有规律。迷语博士遇到三个人,知道他们分别来自三个不同的民族:诚实族、说谎族和两面族
//三人并肩站在博士前面,博士问左边的人:“中间的人是什么族的?”,左边的人回答:“诚实族的”。博士问中间的人:“你是什么族的?”,中间的人回答:“两面族的”。博士问右边的人:“中间的人究竟是什么族的?”,右边的人回答:“说谎族的”
//编写程序判断这三个人是哪个民族的?
int main(){
  int s1,s2,s3,flag=0;//0-诚实族、1-说谎族和2-两面族
    for (s1=0;s1<=2;s1++){
        for (s2=0;s2 <=2;s2++){
            for (s3=0;s3 <=2;s3++){
                int ss1=s1,ss2=s2,ss3=s3;
                if (ss1==0) ss2=0;
                if ((ss1==1)&&(ss2==0)) ss3=1;
                if (ss3==0) ss2=1;
                if(ss1!=ss2&&ss2!=ss3&&ss1!=ss3){
      printf("%d %d %d",ss1,ss2,ss3);
                        flag=1;
                        break;
                }
            }
            if (flag==1) break;
        }
        if (flag==1) break;
    }
    return 0;
}

第5章编程题较难-4 SIN函数曲线(未完成)

#include<stdio.h>
#include<stdlib.h> 
//SIN函数曲线
//编写程序在屏幕上打印如下的SIN函数曲线
int main(){
  printf("**********************************************************\n");
  int i=0;
    for (i=0;i <=330;i=i+15){
        double t=sin(2*3.1415926*i/360);
        printf("sin(%3d)=%+.4lf",i,t);
        if (t>0){
            for (i=0;i <24;i++)
                printf(" ");
            printf("*");
            for (i=0;i <t*16;i++)
                printf(" ");
            printf("*");
        }
        if (t <0){
            for (i=0;i <24+t*16;i++)
                printf(" ");
            printf("*");
            for (i=0;i <-t*16-2;i++)
                printf(" ");
            printf("*");
        }
        if (t==0) {
            for (i=0;i <24;i++)
                printf(" ");
            printf("*");
        }
        printf("\n");
    }
    return 0;
}
相关文章
|
5月前
|
存储 算法 Java
JAVA后端开发面试题库
JAVA后端开发面试题库
66 1
|
5月前
|
网络协议 安全 测试技术
360培训题库9-13
360培训题库9-13
|
6月前
|
Java
【Java】——期末复习题库(十一)
【Java】——期末复习题库(十一)
|
6月前
|
SQL 存储 Java
【Java】——期末复习题库(十二)
【Java】——期末复习题库(十二)
|
缓存 前端开发 JavaScript
前端面试基础题库——1
前端面试基础题库——1
163 0
|
6月前
|
设计模式 前端开发 JavaScript
前端 面试题库
前端 面试题库
117 0
|
6月前
|
前端开发 JavaScript 小程序
前端入门指南前端面试题库
前端入门指南前端面试题库
|
算法 搜索推荐 程序员
程序员代码面试指南之笔记01(上)
一、算法数据结构基础课 第一节 一、 评估算法
70 0
程序员代码面试指南之笔记01(上)
|
Web App开发 负载均衡 前端开发
前端面试基础题库——7
前端面试基础题库——7
108 0
|
缓存 JSON JavaScript
前端面试基础题库——3
前端面试基础题库——3