【20170924】C语言每日一练

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

#include <stdio.h>

int main(int argc, char* argv[])
{
    int i,j,k;
    int sum = 0;
    int count = 0;
    for(i = 1;i <= 4; i++)
        for(j = 1;j <= 4; j++)
            for(k = 1;k <= 4; k++)
            {
                sum = i*100 + j*10 + k;
                if(i!=j && j!=k && i!=k)
                {
                    count++;
                    printf("%d\n",sum);
                }   

            }

    printf("%d",count);
}

编译结果如下:
这里写图片描述


/*【程序2】
题目:企业发放的奖金根据利润提成。利润(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(int argc, char* argv[])
{
    int i;
    double bonus;
    printf("请输入当月利润i:");
    scanf("%d",&i);

    if(i <= 10)
        bonus = i*0.1;
    if(10 < i <= 20)
        bonus = (i-10)*0.075 + 1;
    if(20 < i <= 40)
        bonus = (i-20)*0.05 + 10 * 0.075 + 1;
    if(40 < i <= 60)
        bonus = (i-40)*0.03 + 10 * 0.05 + 10 * 0.075 + 1;
    if(60 < i <= 100)
        bonus = (i-60)*0.015 + 20 * 0.03 + 20 * 0.05 + 10 * 0.075 + 1;
    else if(i > 100)
        bonus = (i-100)*0.01 + 40 * 0.015 + 20 * 0.03 + 20 * 0.05 + 10 * 0.075 + 1;

    printf("%f",bonus*10000);
}

运行结果

这里写图片描述

第二种代码实现:

#include <stdio.h>

int main(int argc, char* argv[])
{
    long int i;
    int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;
    printf("请输入利润i:");
    scanf("%d",&i);
    bonus1 = 100000 * 0.1;
    bonus2 =bonus1 + 100000 * 0.075;
    bonus4 =bonus2 + 200000 * 0.05;
    bonus6 =bonus4 + 200000 * 0.03;
    bonus10 =bonus6 + 400000 * 0.015;

    if(i <= 100000)
        bonus = i * 0.1;

    if(100000 < i <= 200000 )
        bonus = (i-100000) * 0.075 + bonus1;

    if(200000 < i <= 400000)
        bonus = (i-200000) * 0.05 + bonus2;

    if(400000 < i <= 600000)
        bonus = (i-400000) * 0.03 + bonus4;

    if(600000 < i <=1000000)
        bonus = (i-600000) * 0.015 + bonus6;

    if(i > 1000000)
    {
        bonus = (i-1000000) * 0.01 + bonus10;

    }

    printf("%ld",bonus);
}

运行结果:

这里写图片描述

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

**分析:一个开平方的平方等于本身,那么就是一个完全平方数。**


#include <stdio.h>
#include <math.h>

int main(int argc, char* argv[])
{
    long int i;
    int j,k;

    for(i = 1;i <= 100000;i++)
    {
        j = sqrt(i + 100);
        k = sqrt(i + 268);
        if(j * j == i + 100 && k * k == i + 268)
        {
            printf("%d\n",i);
            printf("%d,%d\n",j,k);
        }
    }

}

运行结果:

这里写图片描述

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值