第一次作业

 

一。分支结构7-8.计算个人所得税

1.实验代码

#include<stdio.h>
#include<math.h>
int main()
{
    float a;
    scanf("%f", &a);
    if(a>=0)
    {
        if(a<=1600)
        {
            a = 0*(a-1600);
            printf("0.00");
        }else
        if(a>1600 && a<=2500)
        {
            a = 0.05*(a-1600);
            printf("%.2f",a);
        }else
        if(a>2500 && a<=3500)
        {
            a = 0.1*(a-1600);
            printf("%.2f",a);
        }else
        if(a>3500 && a<=4500)
        {
            a = 0.15*(a-1600);
            printf("%.2f",a);
        }else
        if(a>4500)
        {
            a = 0.2*(a-1600);
            printf("%.2f",a);
        }
    }
    return 0;
}

2.设计思路

(1)文字描述:

第一步:先定义一个浮点型变量a,a为金钱的数量。

第二步:使用if语句,判断a在不同区间的税率。

第三步:a<1600无税率

a = 0*(a-1600);
printf("0.00");

第四步:输出结果。

(2)流程图

3.错误提示:

(1):没有写出无收入的情况

4.解决方法:将printf("%.2f",a);改为printf("0.00");就对了因为a <= 1600无税率所以只输出0就可以了。

二。循环1。7-5 最大公约数和最小公倍数 

1.实验代码:

  #include<stdio.h>
#include<math.h>
int main()
{
    int M, N;
    scanf("%d %d",&M, &N);
    int yushu;
    yushu = M%N;
    int x;
    x= M * N;
    if(yushu == 0)
    {
        printf("%d %d", N, x/N);
    }else
    {
        while(yushu != 0)
        {
            M = N;
            N = yushu;
            yushu = M%N;
        }
        printf("%d %d", N, x/N);
    }
    
    return 0;
 } 
  

2.设计思路:

(1)文字描述

第一步:先定义正整数M,N,在定义一个余数yushu

第二步:因为最大公约数=两数之积/最小公倍数,所以只要求出一个,另外一个就可以求出来了。

第三步:有两整数M和N:M%N得余数yushu

第四步:若yushu=0,则b即为两数的最大公约数
第五步:若yushu≠0,则M=N,N=yushu,再回去执行

第六步:就可以输出结果了。

(2)流程图

3.错误提示

(1)格式错误

 

4.解决方法

细心的找出了格式错的地方,将其改为正确的格式。

三。循环2  7-2 水仙花数

1.实验代码

#include<stdio.h>
#include<math.h>
int main()
{
    int n; 
    scanf("%d", &n);
    int x = 0;
    for(x = pow(10,n-1); x<(pow(10,n)); x++)
    {
        int b = x;                
        int sum = 0, a = 0,i;
        for(i = 1; i <=n; i++)
        {
            a = b%10;                    
            b /= 10;                
            sum += pow(a,n);
        }
        if(sum == x) 
        {
            printf("%d\n",x);
        }

   }
     return 0;
}


2.设计思路:

(1)文字描述

第一步:先定义一个变量N

第二步:使用for循环语句,赋值使b=x

第三步:再次使用for循环,判定sum的值

第四步:使用if语句,输出x的值。

(2)流程图

 

3.错误提示

4.解决方法:

将双层循环改为单层循环。

四。总结

(1).这几周学习了分支结构和循环的一些知识,从中了解了float,double的一些用法,明白了if,for循环的用法,会用代码解决一般性的问题。

(2).再打代码的过程中遇到了很多问题,如运行超时,格式错误,编译错误等等,最后通过上网查阅资料,以及细心的调试代码将代码的逻辑问题弄清楚之后,解决了代码的问题。

2.超链接

李睿淇

赵豪

王恩临

3.表格

周数 代码行数
打代码所用时间
 博客字数  博客时间 涉及的知识点 
第10周 2000 12 0 0 分支结构,double,float
第11周 2500 14 0 0 if语句,for循环
第12周 2700 15 0 0 while语句
第13周 3200 18 1000 6h 素数,金字塔,函数

 

 

 

 

 

 

 

 

折线图:

 

posted @ 2018-11-26 20:59  六月初夏  阅读(277)  评论(9编辑  收藏  举报