• 第八周编程总结


    第八周编程总结

    题目1:8-1 混合类型数据格式化输入 (5 分)

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

    1).实验代码

    #include<stdio.h>

    int main()

    {

      int n;

      float number1,number2;

      char op;

      scanf("%f %d %c %f",&number1,&n,&op,&number2);

      printf("%c %d %.2f %.2f",op,n,number1,number2);

      return 0;

    }

    2).设计思路

    第一步 输入并定义变量

    第二步 输出并定义变量

    3)本题调试中遇到的问题及解决方案

    没有遇到问题

    4).运行结果截图

    题目2:8-2 计算符号函数的值 (10 分)

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

    说明: https://images.ptausercontent.com/3

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

     

    1).实验代码

    #include<stdio.h>

    int main()

    {

      int n,result;

      scanf("%d",&n);

      if(n == 0){

        result = 0;

      }

      else if(n<0){

        result = -1;

      }

      else{

        result = 1;

      }

      printf("sign(%d) = %d",n,result);

      return 0;

    }

    2).设计思路

    第一步 整形输入变量n

    第二步 使用if-else语句进行判断

    第三步 输出结果

    3)本题调试中遇到的问题及解决方案

    If语句中的等号出现错误,==为等号,=为赋值语句

    4).运行结果截图

    题目3:8-3 计算个人所得税 (10 分)

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

    • 当工资不超过1600时,税率为0;
    • 当工资在区间(1600, 2500]时,税率为5%;
    • 当工资在区间(2500, 3500]时,税率为10%;
    • 当工资在区间(3500, 4500]时,税率为15%;
    • 当工资超过4500时,税率为20%。

    1).实验代码

    #include<stdio.h>

    int main()

    {

      double wage,rate;

      scanf("%lf",&wage);

      if(wage>=0){

        if(wage<=1600){

          rate = 0.00;

        }

        else if(wage>1600&&wage<=2500){

          rate = 0.05*(wage-1600);

        }

        else if(wage>2500&&wage<=3500){

          rate = 0.10*(wage-1600);

        }

        else if(wage>3500&&wage<=4500){

          rate = 0.15*(wage-1600);

        }

        else if(wage>4500){

          rate = 0.20*(wage-1600);

        }

      }

      printf("%.2lf",rate);

      return 0;

    }

    2).设计思路

    第一步 使用双精度浮点型进行定义

    第二步使用if-else语句进行对不同工资的判断

    第三步进行个人税的输出

    3)本题调试中遇到的问题及解决方案

    无问题

    4).运行结果截图

    题目4:8-4 比较大小 (10 分)

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

     

    1).实验代码

    #include<stdio.h>

    int main()

    {

      int a,b,c;

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

      int e = 0;

      if(a>b){

        e = a;

        a = b;

        b = e;

      }

      if(a>c){

        e = a;

        a = c;

        c = e;

      }

      if(b>c){

        e = b;

        b = c;

        c = e;

      }

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

      return 0;

    }

    2).设计思路

    第一步 使用4个盒子,其中一个空盒子用来储存2者之间较大的

    第二步使用if-else语句进行大小的比较,

    第三步按顺序输出

    3)本题调试中遇到的问题及解决方案

    4).运行结果截图

    题目5:8-5 到底是不是太胖了 (10 分)

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

    1).实验代码

    #include<stdio.h>

    int main()

    {

        int n;

        double s,x,a,b;

        scanf("%d",&n);

        while(n--)

        {

            scanf("%lf%lf",&a,&b);

            s=(a-100.0)*0.9;

            x=b/2.0;

            if(x>(s-s*0.1)&&x<(s+s*0.1))

                printf("You are wan mei! ");

            if(x>=(s+s*0.1))

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

            if(x<=(s-s*0.1))

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

        }

    }

    2).设计思路

    第一步 进行输入并定义变量

    第二步有3种情况使用if-else语句进行不同的输出。

    3)本题调试中遇到的问题及解决方案

    If条件语句使用数学函数进行判断,导致部分正确

    4).运行结果截图

    题目6:8-6 高速公路超速处罚 (15 分)

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

    1).实验代码

    #include <stdio.h>

    int main()

    {

        int speed,limit;

        double a;

        scanf("%d %d",&speed,&limit);

        a=(double)(speed-limit)*100/(double)limit;

        if(a<10||speed<limit)

            printf("OK");

        else if(a<50)

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

        else

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

        return 0;

    }

    2).设计思路

    第一步 输入并定义速度和限制速度

    第二步求出罚款200元的条件

    第三步使用if-else语句进行判断是否需要罚款

    第四步 格式化输出

    3)本题调试中遇到的问题及解决方案

    满足一个速度小于10%是仅仅不够的,速度必须小于限制速度才是没有超速

    4).运行结果截图

    题目7:8-7 统计字符 (15 分)

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

    1).实验代码

    #include<stdio.h>

    int main()

    {

        int letter=0,digit=0,blank=0,other=0;

        int i;

        char ch;

     

        for(i=0;i<=9;i++){

            scanf("%c",&ch);

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

                   letter++;

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

                   digit++;

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

                   blank++;

            else

                   other++;

        }

          scanf("%c",&ch);

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

         return 0;

    }

    2).设计思路

    第一步 进行格式化输入并定义储存变量的字符

    第二步判断是否为字符,数字等,如果是并进行累加

    第三步格式化输出

    3)本题调试中遇到的问题及解决方案

    空格和回车的判断不熟悉,查阅书籍可知

    4).运行结果截图

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

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

    1).实验代码

    #include<stdio.h>

    #include<math.h>

    int main(void)

    {

           int n,grade;

        int count;

        double sum,ave;

        scanf("%d",&n);

        count=0;

        sum=0.0;

        for(int i=0;i<n;i++){

            scanf("%d",&grade);

            sum+=grade;

            if(grade>=60) count+=1;

        }

        ave = n!=0? sum/n : 0;

        printf("average = %.1lf ",ave);

        printf("count = %d",count);

           return 0;

    }

    2).设计思路

    第一步 调用数学函数使用头文件

    第二步 输入并定义变量

    第三步使用if-else语句进行判断是否及格,是,则进行累加

    第四步 求出平均数,并进行格式化输出

    3)本题调试中遇到的问题及解决方案

    需注意当n=0时不能进行平均值的运算

    4).运行结果截图

    题目:8-9 输出闰年 (15 分)

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

    代码:

    #include<stdio.h>

    int main()

    {

           int year, i, count=0;

           scanf("%d", &year);

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

                  printf("Invalid year! ");

                  else{

                  for(i=2001; i<=year; i++){

                         if(i%4 == 0&&i%100!=0||i%400 == 0){

                                printf("%d ", i);

                                count++;

                         }

                  }

                  if(count == 0)

                         printf("None ");

                         }     

           return 0;

    }

    2).设计思路

    第一步 格式化输入年份

    第二步 判断是否满足闰年的条件,使用if-elae语句

    第三步 格式化输出变量

    3)本题调试中遇到的问题及解决方案

    If条件句的逻辑关系不明确,逻辑或和逻辑与的符号混淆

    查询书籍

    4).运行结果截图

     

  • 相关阅读:
    VS调试技巧
    Git 分支
    WPF:如何高速更新Model中的属性
    Redis-4.0.11集群配置
    大压力下Redis参数调整要点
    统计UPD丢包工具
    查看Redis集群所有节点内存工具
    Redis集群命令行部署工具
    查看Redis集群主从对应关系工具
    Redis集群master选举时长测试
  • 原文地址:https://www.cnblogs.com/chenguohhw/p/9951912.html
Copyright © 2020-2023  润新知