8.15 号 程序 选择结构作业的代码

/*
任意输入三个整数,按从大到小的顺序输出。
*/
#include <stdio.h>

void main()
{
    int num1,num2,num3,tmp;
    printf("输入任意3个整数:逗号分隔\n");
    scanf("%d,%d,%d",&num1,&num2,&num3);
    
    if(num1 < num2)
    {
        tmp = num1;
        num1 = num2;
        num2 = tmp;    
    }
    
    if(num1 < num3)
    {
        tmp = num1;
        num1 = num3;
        num3 = tmp;
    }
    
    if(num2 < num3)
    {
        tmp = num2;
        num2 = num3;
        num3 = tmp;    
    }
    
    printf("%-5d%-5d%-5d\n",num1,num2,num3);    
}




/*
运输公司对用户计算运费.路程越远每公里运费越低.每公里每吨货物的基本运费为p = 3,
货物重为w,距离为s,折扣为d,则总运费f的计算公式为f=p*w*s*(1-d)。折扣规则如下:
       s <= 250km   没有折扣
250  < s <= 500     2%的折扣
500  < s <= 1000    5%的折扣
1000 < s <= 2000    8%的折扣
2000 < s <= 3000    10%的折扣
3000 < s           15%的折扣
请书写程序,当用户告知货物的重量和运输的距离,自动计算出总运费。
*/
#include <stdio.h>

void main()
{
    double f,p = 3.0,w,s,d;
    printf("请输入本次运送的货物重量和距离,逗号分隔:"); 
    scanf("%lf,%lf",&w,&s); 
    
    if(s <= 250)
    {
        d = 0; 
    } 
    else if(s <= 500)
    {
        d = 2.0 / 100; 
    } 
    else if(s <= 1000)
    {
        d = 5.0 / 100; 
    }
    else if(s <= 2000)
    {
        d = 8.0 / 100; 
    }
    else if(s <= 3000)
    {
        d = 10.0 / 100; 
    }
    else
    {
        d = 15.0 / 100;    
    } 
    
    f = p * w * s * (1 - d); 
    printf("本次运费是%.2lf元\n",f);
    
}





/*
 某企业员工奖金与员工的销售挂钩,其规则如下(超出部分):
销售额  <= 10万              10%
10万 < 销售额  <= 20万       7.5%
20万 < 销售额  <= 40万       5%
40万 < 销售额  <= 60万       3%
60万 < 销售额  <= 100万      1.5%
100万 < 销售额               1%
请书写程序,实现根据输入员工的销售额,自动计算出他的奖金。
*/

#include <stdio.h>
void main()
{
    double reward,sales;
    
    printf("请输入你本月的销售额:");
    scanf("%lf",&sales); 
    
    if(sales <= 100000)
    {
        reward = sales * (10.0 / 100); 
    } 
    else if(sales <= 200000)
    {
        reward = 10000 + (sales - 100000) * 7.5 / 100; 
    }
    else if(sales <= 400000)
    {
        reward = 10000 + 7500 +  (sales - 200000) * 5 / 100; 
    } 
    else if(sales <= 600000)
    {
        reward = 10000 + 7500 + 10000 + (sales - 400000) * 3 / 100; 
    } 
    else if(sales < 1000000)
    {
        reward = 10000 + 7500 + 10000 + 6000 + (sales - 600000) * 1.5 / 100;    
    } 
    else
    {
        reward = 10000 + 7500 + 10000 + 6000 + 6000 + (sales - 1000000) * 1 / 100;        
    }
    
    printf("你本月的奖金为:%.2lf\n",reward); 
} 
 




/*
 书写一个程序,可以根据用户的选择,分别运算圆形(要求用户输入半径)、
长方形(要求用户输入长和宽)、三角形(要求用户输入底和高)的面积。
*/
#include <stdio.h>
#define PI 3.14 

void main()
{
    int choice;
    double s = 0,l,k; 
    printf("请输入你要计算面积的图形。\n");
    printf("1、圆形;2、长方形;3、三角形\n");
    scanf("%d",&choice); 
    
    switch(choice)
    {
        case 1:
            printf("请输入圆的半径:");
            scanf("%lf",&l);
            s = PI * l * l;        
            break;
        case 2:
            printf("请输入长方形的长和宽,逗号分隔:");
            scanf("%lf,%lf",&l,&k);
            s = l * k;
            break;
        case 3:
            printf("请输入三角形的底和高,逗号分隔:");
            scanf("%lf,%lf",&l,&k);
            s = 0.5 * l * k; 
            break;
        default:
            break;    
    } 
    
    printf("面积是:%lf",s); 
    
     
} 

 

/*
输入某年某月某日三个值,判断这是这一年的第几天。
*/

#include <stdio.h>
void main()
{
    int year,month,date,day = 0; 
    printf("请输入年月日,用逗号分隔:");
    scanf("%d,%d,%d",&year,&month,&date); 
    
    switch(month)
    {
        case 12:
            day += 30; 
        case 11:
            day += 31; 
        case 10:
            day += 30; 
        case 9:
            day += 31; 
        case 8:
            day += 31; 
        case 7:
            day += 30; 
        case 6:
            day += 31; 
        case 5:
            day += 30; 
        case 4:
            day += 31; 
        case 3:
            day += 28; 
        case 2:
            day += 31; 
        case 1: 
            day += date; 
    } 
    
    if(month > 2)
    {
        if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
        {
            day += 1;    
        }        
    }
    
    printf("这是该年的第%d天\n",day); 
} 
 

 

转载于:https://www.cnblogs.com/wangshichuan/p/3918719.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值