[C] [レッスン]

[ _(: З )_塩味_(: з )__(: з )_この_(: з )__(: з ]

 

知識の[]並び

 

[例]解析コード

[最初の質問]

タイトル: 1,2,3,4の数字、3桁の数字の無い繰り返しと他の数を構成することができますか?どのくらいありますか?

アイデア:(3; 4)高校数学の使用は、これはパーミュテーション問題Pがポートであることが分かる= 4 ×3×2 = 24。

      まあ、契約対価の原則から、我々はプログラムのアイデアはおおよそです実現します。

      最優先を選ぶ①4

      ②3の残りは2位を選びます

      ③第三の上に2ピック残り

      上記の手順を実現するには、繰り返し3桁せずにすべての3桁の数字とスクリーニングプロセスを通過する必要があります。

      私たちは、スクリーニングを実施する判決文で、トラバースを達成するためにループを使用することができます。

#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