• 第八周编程总结


    7-1 混合类型数据格式化输入 (5 分)

    本题要求编写程序,顺序读入浮点数1、整数、字符、浮点数2,再按照字符、整数、浮点数1、浮点数2的顺序输出

    1).实验代码

    #include<stdio.h>

    int main()

    {

      int x,y;

      float n,m;

      

      scanf("%f %d %c %f",&n,&x,&y,&m);

      printf("%c %d %.2f %.2f ",y,x,n,m);

      return 0;

      

    }  

    2). 设计思路

    第一步:定义变量

    第二步:输入变量

    第三步:输出答案

    3).本题调试过程碰到的问题及解决方法

                

     

    -

            问题:格式控制符使用错误错误

           解决方法:将整型变量的格式控制符改成字符变量的格式控制符

           4).运行结果截图

      

          

    7-2 计算符号函数的值 (10 分)

    对于任一整数n,符号函数sign(n)的定义如下:

     

    请编写程序计算该函数对任一输入整数的值。

    1)实验代码

    #include<stdio.h>

    int main()

    {

      int N;

      scanf("%d",&N);

      if(N<0){

        

        printf("sign(%d) = -1 ",N);

      }

      else{

        if(N>0){

          

          printf("sign(%d) = 1 ",N);

          

        }

        

        else{

          printf("sign(%d) = 0 ",N);

          

        }

        return 0;

        

      }

      

    }

    2).设计思路

    第一步:定义变量

    第二步:输入实数

    第三步:调用if语句,判断三种情况

    第四步:输出每种情况的答案.

    3).本题调试过程碰到的问题及解决方法

               

        

              问题:输出格式错误

              解决方法:输出时复制输出样例更改值

           4).运行结果截图

     

     

    7-3 计算个人所得税 (10 分)

    假设个人所得税为:税率×(工资−1600)。请编写程序计算应缴的所得税,其中税率定义为:

    · 当工资不超过1600时,税率为0;

    · 当工资在区间(1600, 2500]时,税率为5%;

    · 当工资在区间(2500, 3500]时,税率为10%;

    · 当工资在区间(3500, 4500]时,税率为15%;

    · 当工资超过4500时,税率为20%。

    1).实验代码

    #include<stdio.h>

    int main()

    {

      

      int wages;

      float rate,pit;

      

      scanf("%d",&wages);

      if(wages<=1600)

          {

          

            pit=0.00;

         

          }

         

          else{

            

            if(wages<=2500){

              

              rate=0.05;

              pit=rate*(wages-1600);

              

            }

            

            else

            

            {

            

              if(wages<=3500)

            

              {

                rate=0.10;

                pit=rate*(wages-1600);

                

              }

              else{

            

                if(wages<=4500){

                  

                  rate=0.15;

                  pit=rate*(wages-1600);

                  

                }

                else{

                  

                  rate=0.20;

                  pit=rate*(wages-1600);

                  

              

                }

              }

            }

            

          }

            

             printf("%.2f",pit);   

      return 0;

    }2).设计思路

    第一步:定义变量

    第二步:调用if语句,判断工资的阶段

    第三步:计算个人所得税

    第四步:输出答案

    3).本题调试过程碰到的问题及解决方法

     

     

     

    问题:范围判断错误

    解决方法:添加等价的条件

    4).运行结果截图

              

     

     

    7-4 比较大小 (10 分)

    本题要求将输入的任意3个整数从小到大输出。

    1).实验代码

    #include<stdio.h>

    int main()

    {

      

      int a,b,c,t;

      scanf("%d %d %d",&a,&b,&c);

      

      if(a<b)

      {

      

        t=b;b=a;a=t;

        

      }

      

      if(a<c)

      {

        

        t=c;c=a;a=t;

        

      }

      if(b<c)

      {

        

        t=c;c=b;b=t;

        

      }

      

      printf("%d->%d->%d",c,b,a);

      return 0;

      

    }

              2).设计思路

    第一步:自定义函数声明,定义变量

    第二步:输入变量

    第三步:调用if语句,判断三个数的大小

    第四步:输出答案

    3).本题调试过程碰到的问题及解决方法

           

     

     

              问题:输出的大小排序错误

              解决方法:更改为正确的排序

            4).运行结果截图

                     

     

    7-5 到底是不是太胖了 (10 分)

    据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。真实体重与标准体重误差在10%以内都是完美身材(即 | 真实体重 − 标准体重 | < 标准体重×10%)。已知市斤是公斤的两倍。现给定一群人的身高和实际体重,请你告诉他们是否太胖或太瘦了。

    1) .实验代码

    #include<stdio.h>

    #include<math.h>

    int main()

    {

      int N,high,weight,x,y,i;

      scanf("%d",&N);

      

      for(i=1;i<=N;i++){

        

        scanf("%d %d ",&high,&weight);

        

      

      x=(high-100)*0.9*2;

      y=fabs(weight-x);

      

      if(y<x*0.1){

        

        printf("You are wan mei! ");

      }

      else

      {

        if(y>=x*0.1&&weight<x){

        

        printf("You are tai shou le! ");

      }

      if(y>=x*0.1&&weight>x){

        

        printf("You are tai pang le! ");

      }

    }

    }

      return 0;

    }            2).设计思路

    第一步:自定义函数声明,定义变量

    第二步:输入变量

    第三步:调用for语句,进行循环输入身高和体重

    第四步:计算标准体重

    第五步:判断实际体重与标准体重的关系

    第六步:输出结果

    3).本题调试过程碰到的问题及解决方法

     

               问题:少执行了一次循环

              解决方法:将for语句中的条件而补充完整      

            4).运行结果截图

          

     

     
    7-6 高速公路超速处罚 (15 分)

    按照规定,在高速公路上行使的机动车,达到或超出本车道限速的10%则处200元罚款;若达到或超出50%,就要吊销驾驶证。请编写程序根据车速和限速自动判别对该机动车的处理。

    2).实验代码

    #include<stdio.h>

    int main()

    {

      

      double velocity,n,x;

      scanf("%lf %lf",&velocity,&n);

      

     x =(velocity - n)*100 / n;

      

          if(x>=50){

         

         printf("Exceed %.0f%%. License Revoked ",x);

           

         }

         else{

        

        if(x>=10){

        

    printf("Exceed %.0f%%. Ticket 200", x);

         }

         else{

         

           printf("OK ");

         }

      }

      return 0;

      

    }  

    2). 设计思路

    第一步:定义变量

    第二步:输入变量

    第三步:调用if语句判断是否超速

    第四步:输出答案

    4).本题调试过程碰到的问题及解决方法

                

     

    -

            问题:变量类型定义错误

           解决方法:将整型变量更换成浮点型变量

           4).运行结果截图

      

          

    7-7 统计字符 (15 分)

    本题要求编写程序,输入10个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数

    2)实验代码

    #include<stdio.h>

    int main()

    {

      

      int letter,blank,digit,other;

      char ch;

      int i;

       letter=blank=digit=other=0;

      for(i=1;i<=10;i++)

      {

        ch=getchar();

        if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))

          letter++;

        

        else if(ch==' '||ch==' ')

          blank++;

        

        else if(ch>='0'&&ch<='9')

          digit++;

        else

          other++;

          

      }

      printf("letter = %d, blank = %d, digit = %d, other = %d ",letter,blank,digit,other);

      return 0;

    }

    3).设计思路

    第一步:定义变量

    第二步:输入变量

    第三步:调用if语句,判断类型

    第四步:输出答案.

    3).本题调试过程碰到的问题及解决方法

               

        

              问题:变量为初始化

              解决方法:将变量初始化

           4).运行结果截图

     

     

    7-8 统计学生平均成绩与及格人数 (15 分)

    本题要求编写程序,计算学生们的平均成绩,并统计及格(成绩不低于60分)的人数。题目保证输入与输出均在整型范围内。

    2).实验代码

    #include<stdio.h>

    int main()

    {

      

      int i,N,performance,count=0,sum=0;

      

      double average=0;

      

      scanf("%d",&N);

    if(N==0){

    printf("average = 0.0 count = 0",average,count);

    }

      else{

      

      for(i=1;i<=N;i++)

      {

        scanf("%d",&performance);

        sum+=performance;

        if(performance>=60)

        count++;

       

      }

      average=sum*1.0/N;

      printf("average = %.1f count = %d ",average,count);

      return 0;

      

    }

    }

    2).设计思路

    第一步:定义变量

    第二步:调用if语句,判断学生人数是否为0

    第三步:调用for语句输入成绩

    第四步:计算平均数与及格的人数

    第五步:输出结果

    3).本题调试过程碰到的问题及解决方法

     

     

     

    问题:未考虑到没有学生的情况

    解决方法:单独讨论没有学生的情况

    4).运行结果截图

              

     

     

    7-9 输出闰年 (15 分)

    输出21世纪中截止某个年份以来的所有闰年年份。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除

    1).实验代码

    #include<stdio.h>

    int main()

    {

      

      int year,i;

      scanf("%d",&year);  

      

      if(year>2000&&year<2004)

              {

                printf("None ");

              }

      

      if(year>2000&&year<=2100)

               {    

                   for(i=2000;i<=year;i++)

                       {

                       

                         if(i%4==0&&i%100!=0)

                             {

                      

                printf("%d ",i);

                    

                             }

                       

       }

                  

              

               }

       else

               {

                 printf("Invalid year! ");

               }

      return 0;

    }

              2).设计思路

    第一步:定义变量

    第二步:输入变量

    第三步:调用if语句,进行判断

    第四步:输出答案

    3).本题调试过程碰到的问题及解决方法

           

     

     

              问题:未考虑到没有闰年的情况

              解决方法:对没有闰年的情况进行讨论

            4).运行结果截图

                     

     

  • 相关阅读:
    java实现万年历
    java中关于Calendar
    java中各种类型的输入输出
    java(向上向下转型)
    MyEclipse还原默认窗口
    Hibernate映射问题之OneToOne【自己整理】
    Neither BindingResult nor plain target object for bean
    剑宗与气宗
    分治算法
    spring处理线程并发
  • 原文地址:https://www.cnblogs.com/lmcmha/p/9960064.html
Copyright © 2020-2023  润新知