【C】【第一课】

_(:з))__(:з))__(:з))__(:з))__(:з))

 

【知识梳理】

【典例分析】

【第一题】

题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

思路:动用高中的数学知识可知这是一个可以口答排列问题P(3;4)=4×3×2=24。

      那么从排列的原理考虑,我们的程序实现思路大致是:

      ①4挑一放在第一位

      ②剩下的3挑一放在第二位

      ③剩下的2挑一放在第三位

      要实现以上步骤,需要一个遍历所有三位数和筛选出无重复三位数的过程。

      我们可以用循环语句来实现遍历,用判断语句来实现筛选。

#include <stdio.h>

int main()
{
    int i = 0; 
    int a = 1;
    int b = 1;
    int c = 1;

    for (a = 1; a <= 4; a++)
    {
        for (b = 1; b <= 4; b++)
        {
            for (c = 1; c <= 4; c++)
            {
                if (a != b && b != c && a != c)
                {
                    i++;
                    printf("第\t%d\t个三位数\t=\t%d%d%d\n", i, a, b, c);
                }
            }
        
        }
    }
    printf("\n共有\t%d\t个三位数\n\n",i);
    
    system("pause");
    return 0;
}
【第一题】

运行结果:

【第二题】

题目:企业发放的奖金根据利润提成。

      利润(I)低于或等于10万元时,奖金可提10%;

      利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;

      20万到40万之间时,高于20万元的部分,可提成5%;

      40万到60万之间时高于40万元的部分,可提成3%;

      60万到100万之间时,高于60万元的部分,可提成1.5%;

   高于100万元时,超过100万元的部分按1%提成。

      从键盘输入当月利润I,求应发放奖金总数?

思路:这道题是典型的分情况讨论问题。

      我们理所当然的想到了利用判断语句来实现我们的目的。

#include <stdio.h>

int main()
{
    //录入数据
    float I;
    printf("请输入当月利润:");
    scanf_s("%f", &I);

    //基础提成
    float Commission10 = 100000 * 0.1;
    float Commission20 = Commission10 + 100000 * 0.075;
    float Commission40 = Commission20 + 200000 * 0.05;
    float Commission60 = Commission40 + 200000 * 0.03;
    float Commission100 = Commission60 + 400000 * 0.015;

    //进行判断得到总提成
    float Commission;

    if (I < 100000)
    {
        Commission = I * 0.1;
    }
    else if (I < 200000)
    {
        Commission = Commission10 + I * 0.075;
    }
    else if (I < 400000)
    {
        Commission = Commission20 + I * 0.05;
    }
    else if (I < 600000)
    {
        Commission = Commission40 + I * 0.03;
    }
    else if (I < 1000000)
    {
        Commission = Commission60 + I * 0.015;
    }
    else
    {
        Commission = Commission100 + I * 0.01;
    }

    printf("你本月的提成是:%f\n\n", Commission);
    
    system("pause");
    return 0;
}
【第二题】

运行结果:

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

今天有晚课,吃掉了我2个小时,后面会找机会把剩下四道补齐

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

第三题】

题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

思路:这道题

#include <stdio.h>

int main()
{
    //数据初始化
    int i = 0;
    int j = 0; 
    int x = 0; 
    int delta = 0; 
    
    //寻找差为168的平方数
    for (i = 1; i < 100; i++)
    {
        for (j = i + 1; delta < 168; j++)
        {
            delta = (j * j - i * i);
        }
        if (delta == 168)
        {
            break;
        }
    }

    x = i*i - 100;
    printf("这个数是%d\n\n",x);

    system("pause");
    return 0;
}

运行结果:

【第四题】

题目:

思路:这道题

 

运行结果:

 

【第五题】

题目:

思路:这道题

 

运行结果:

【第六题】

题目:

思路:这道题

 

运行结果:

猜你喜欢

转载自www.cnblogs.com/ZRSAFD/p/11583247.html