【20170924】C语言每日一练

来源:互联网 发布:奥登cba数据 编辑:程序博客网 时间:2024/05/29 13:01
/*  [程序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);        }    }}

运行结果:

这里写图片描述

原创粉丝点击