c语言第三天作业

#题目
1. 企业发放的奖金根据利润提成:
(1)利润低于或等于 10 万元时,奖金可提 10%;
(2)利润高于 10 万元,低于 20 万元时,低于 10 万元的部分按 10% 提成,高于 10 万元 的部分,可提成 7.5%
(3)20 万到40 万之间时,高于 20 万元的部分,可 提成 5%
(4)40 万到 60 万之间时高于 40 万元的部分,可提成 3%
(5)60 万到 100 万之间时,高于 60 万元的部分,可提成 1.5%,
(6)高于 100 万元时,超过 100 万元的部分按1% 提成,
从键盘输入当月利润 ,求应发放奖金总数
2.学生成绩管理:switch-case
从外部输入一个学习成绩,范围为0 – 100,
成绩大于等于90分,则输出A,
成绩大于等于80,则输出B,
成绩大于等于60,则输出C,
小于60,则输出D
3.循环打印以下形状
********
********
********
********
********
********
4.打印100-1000以内的所有的水仙花数
水仙花数:是指一个三位数的每一位的立方和还等于这个数,则这个数称之为水仙花数
num = 个位数的立方 + 十位数的立方 + 百位数的立方
if(153== 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3)
{
153就是水仙花数
}
5.求1000以内所有的质数。质数:只能够1和它本身整除
6.有 1 、 2 、 3 、 4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
7.猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。 结果:peach=1534

程序

1. 企业发放的奖金根据利润提成:
(1)利润低于或等于 10 万元时,奖金可提 10%;
(2)利润高于 10 万元,低于 20 万元时,低于 10 万元的部分按 10% 提成,高于 10 万元			  的部分,可提成 7.5% 
(3)20 万到40 万之间时,高于 20 万元的部分,可 提成 5% 
(4)40 万到 60 万之间时高于 40 万元的部分,可提成 3%
(5)60 万到 100 万之间时,高于 60 万元的部分,可提成 1.5%,
(6)高于 100 万元时,超过 100 万元的部分按1% 提成,
	从键盘输入当月利润  ,求应发放奖金总数

代码:

#include<stdio.h>

int main()
{
    double profit, bonus = 0;  			//定义利润和奖金变量
    printf("请输入企业利润:(万元)");
    scanf("%lf",&profit);
    if(profit<=10)				//利润小于10万提成10%
    {
        bonus += profit * 0.1;
    }
    else if(profit<=20)							//利润大于10万小于20万奖金为10万的奖金1万+利润减去10万的7.5%
        bonus += 1 + (profit - 10) * 0.075;
    else if(profit<=40)							//利润大于20万小于40万奖金为20万的奖金1.75万+利润减去20万的5%
        bonus += 1.75 + (profit - 20) * 0.05;
    else if(profit<=60)							//利润大于40万小于60万奖金为40万的奖金2.75万+利润减去40万的3%
        bonus += 2.75 + (profit - 40) * 0.03;
    else if(profit<=100)						//利润大于60万小于100万奖金为60万的3.35万+利润减去60万的1.5%
        bonus += 3.35 + (profit - 60) * 0.015;
    else										//利润大于100万奖金为100万的3.95万+利润减去100万的1%
        bonus += 3.95 + (profit - 100) * 0.01;
    printf("应发奖金为%lf万元\n", bonus);
}


2.学生成绩管理:switch-case
 	从外部输入一个学习成绩,范围为0 – 100,
	成绩大于等于90分,则输出A,
 	成绩大于等于80,则输出B,
 	成绩大于等于60,则输出C,
 	小于60,则输出D

代码:

#include<stdio.h>

int main()
{

    float grade;//
    printf("请输入成绩:\n");
    scanf("%f", &grade);
    switch(grade<0 || grade>100)//判断输入的分数是否正确
    {
        case 0:
            switch((int)grade/10)//判断分数在哪个等级
            {
                case 10:
                case 9:
                    printf("成绩等级是A\n");
                    break;
                case 8:
                    printf("成绩等级是B\n");
                    break;
                case 7:
                case 6:
                    printf("成绩等级是C\n");
                    break;
                default:
                    printf("成绩等级是D\n");
                    break;
            }
            break;
        default:
            printf("输入成绩不正确!\n");
    }

}

 3.循环打印以下形状
	********
	 ********
	  ********
	   ********
	    ********
	     ********
代码:
#include<stdio.h>

int main()
{
	int i=0;
	while(i<6)			//控制输出行数
	{
		int j=1;
		while(j<=i)		//控制每行输出的空格数
		{
			printf(" ");
			j++;
		}
		printf("********\n");
		i++;
	}
}
4.打印100-1000以内的所有的水仙花数
 	水仙花数:是指一个三位数的每一位的立方和还等于这个数,则这个数称之为水仙花数
 	num = 个位数的立方 + 十位数的立方 + 百位数的立方
 	if(153== 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3)
 	{
   	153就是水仙花数
	 }
代码:
#include<stdio.h>
#include<math.h>

int main()
{
	int i = 100;
    while(i<1000)
    {
        if(i == pow(i/100,3)+pow(i/10%10,3)+pow(i%10,3))
            printf("%d是水仙花数\n", i);
        ++i;
    }

}
5.求1000以内所有的质数。质数:只能够1和它本身整除
代码:
#include<stdio.h>
#include<math.h>

int main()
{
	int i = 2;
    int b = 100;
    while(i<=b)
    {
        int j=2;
        while(j<=((int)sqrt(i)+1))//控制需要测试的数,只要不能被其开根后向上取整一下的数整除,就是质数
        {
            if(j==((int)sqrt(i)+1))
                printf("%d是一个质数\n",i);
            if(i%j==0)
                break;
            j++;
        }
        i++;
    }
}
6.有 1 、 2 、 3 、 4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
代码:
#include<stdio.h>

int main()
{
    int i=0, j =0, k=0;
    int count = 0;
    while(i<4)						//选择第一位数
    {
        i++;
        while(j<4)					//选择第二位数
        {
            j++;
            if(i==j)				//数字不能相同,相同就跳出循环
                continue;
            while(k<4)				//选择第三位数
            {
                k++;
                if(k==i || k==j)	//数字不能相同,相同就跳出循环
                    continue;
                count++;
                printf("%d\n", i*100+j*10+k);
            }
            k=0;
        }
        j=0;

}
7.猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。 结果:peach=1534

代码:

#include<stdio.h>

int main()
{
	int day=1;
    int num=1;

    while(day<10)
    {
        num = ++num * 2;//第n天🍑数是第n-1天的🍑数加上1,然后在✖️2
        day++;
    }
    printf("%d\n", num);

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值