学习c语言编写

时间:2022-06-01 19:12:03

个人学习之间的练习:


#include <stdio.h>


int main(int argc, const char * argv[])

{


    /*

     某公司想要粉刷一个户外广告,这个广告本身很简单,是一个同心圆,里面的小圆的半径是外面的大圆半径的四分之一。分别用两种不同的颜色来粉刷,外面使用黄色,里面使用紫色。涂料1夸脱(1夸脱=1.1365升)可以粉刷250平方英尺(1英尺=0.3048米),但是为了效果显著特要求粉刷两遍。要求编写一个C程序,然后输入外面同心圆的直径(单位:米),然后计算出黄色和紫色的涂料分别需要多少升?

     实现思路:

     首先找一张纸画出草图

     定义变量用于接收输入的外面同心圆的直径,然后根据该直径计算出来外面同心圆的半径,以及里面同心圆的半径(注意:此时都换算为英尺为单位)。

     然后计算出外面圆环的面积以及里面小圆的面积。

     根据涂料每夸脱可以粉刷的面积进行计算出每一种颜色粉刷一遍需要多少夸脱。

     注意要粉刷两遍,将夸脱转换为升之后再加上一倍就是最终结果

     */

    

    float num=0;

    printf("请输入外面圆的直径\n");

    scanf("%f",&num);

    

    float area1,area2,pi=3.14;

    float a1,a2;

    //圆的面积用平方英尺表示

    

    area1=pi*(num/2/0.3048)*(num/2/0.3048);

    

    

    area2=pi*(num/8/0.3408)*(num/8/0.3408);

    

    a1=(area1-area2)/250*1.1365*2;

    a2=area2/250*1.1365*2;

       

    printf("外层的黄色的涂料:%f\n",a1);

    printf("内层的紫色的涂料:%f\n",a2);

    

    

    

    return 0;

}






#include <stdio.h>


int main(int argc, const char * argv[])

{


    /*

     国外购买东西时往往需要缴税,然后编写一个程序提示用户输入购物的每项价值、项数和折扣。然后这个程序应该计算和输出总值,应付税额和应付款额。公式如下(假设税率为6%):

     总值 = 项数 × 每项价值

     折扣后总值 = 总值 - (折扣率 × 总值)

     应付税额 = 总值 × 税率

     应付款项 = 折扣后的总值 + 应付税额


     */

    

    float price;

    int num;

    float fax=0.06;

    float saleoff;

    

    float total=0;

    float faxfinal=0;

    float totalfinal=0;

    

    printf("请输入商品单价\n");

    scanf("%f",&price);

    printf("请输入商品数量\n");

    scanf("%d",&num);

    printf("请输入商品折扣\n");

    scanf("%f",&saleoff);

    

    total=price*num;

    faxfinal=total*fax;

    

    totalfinal=total-total*saleoff+faxfinal;

    

    printf("总金额%.2f\n",total);

    printf("应付税率%.2f\n",faxfinal);

    printf("应付款额%.2f\n",totalfinal);


    return 0;

}



//1:

    

//    double salary;

//    double baoXian;

//    

//    printf("请输入工资及五险一金,空格隔开");

//    scanf("%lf %lf",&salary,&baoXian);

//    double yingNashuiBuFen;

//    yingNashuiBuFen = salary - baoXian - 3500;

//    double geRenSuoDeShui;

//    if(yingNashuiBuFen > 0 && yingNashuiBuFen < 1500){

//        geRenSuoDeShui = yingNashuiBuFen * 0.03 - 0;

//    }else if(yingNashuiBuFen > 1500 && yingNashuiBuFen <= 4500){

//        geRenSuoDeShui = yingNashuiBuFen * 0.1 - 105;

//    }//……

//    printf("个人所得税为:%.2f",geRenSuoDeShui);


    

//2:

    

//    double liRun;

//    double bonus;

//    printf("请输入利润(单位:万元):\n");

//    scanf("%lf",&liRun);

//    if(liRun <= 10){

//        bonus = liRun * 0.1;

//    }else if(liRun <= 20){

//        bonus = 10 * 0.1 + (liRun - 10) * 0.075;

//    }else if(liRun <= 40){

//        bonus = 10 * 0.1 + 10 * 0.075 + (liRun - 20) * 0.05;

//    }

//    printf("利润:,奖金:");

    

//3:

//    int jingyan,xueli,zige;

//    int sum;

//    printf("请选择员工的工作经验:\n");

//    printf("1:应届生 0\n2: 1年以下 1\n");

//    scanf("%d",&jingyan);

//    

//    jingyan--;

//    

//    printf("请选择员工的学历:\n");

//    printf("1:专科 1\n2: 本科 2\n");

//    scanf("%d",&xueli);

//    

//    sum = jingyan+xueli+zige;

//    


//4:

//    double cunkuan;

//    double lilv;

//    printf("请输入存款金额:\n");

//    scanf("%lf",&cunkuan);

//    int type;

//    printf("请选择存款种类:(1:活期,2:定期)");

//    scanf("%d",&type);

//    if(type == 1){

//        lilv = 0.0035;

//    }else{

//        printf("请选择定期种类:(1:整存整取,2:零存整取,3:定活两便):\n");

//        scanf("%d",&type);

//        switch (type) {

//            case 1:

//                printf("请选择年份:1:一年,2:二年,3:三年,4:五年");

//                scanf("%d",&type);

//                switch (type) {

//                    case 1:

//                        lilv=0.0325;

//                        break;

//                    case 2:

//                        lilv= 0.0375;

//                }

//                break;

//            case 2:

//                break;

//            default:

//                break;

//        }

//        

//    }

//    

//    printf("年利息为:%.2f",cunkuan * lilv);


//5:作业

    输入某年某月某日,判断这一天是这一年的第几天

    int year,month,day;

    printf("请输入年月日,空格隔开");

    scanf("%d %d %d",&year,&month,&day);

    int zhiqiantianshu;

    

    

    

    switch (month) {

        case 1:

            zhiqiantianshu = day;

            break;

        case 2:

            zhiqiantianshu = 31 + day;

            break;

        case 3:

            zhiqiantianshu = 31 + 28 + day;

            break;

        case 4:

            zhiqiantianshu = 31 + 28 + 31 + day;

            break;

        default:

            break;

    }

    

    if(year % 400 == 0 ||(year % 4 == 0 && year % 100 != 0)){

        if(month > 2){

            zhiqiantianshu++;

        }

    }

    

    return 0;

}



      //菱形

     for (int i=0; i<5; i++) {

        for (int j=0; j<4-i; j++) {

            printf(" ");

        }

        for (int k=0; k<2*i+1; k++) {

            if (k==0||k==1||k==2*i||k==2*i-1) {

                printf("*");

            }

            else

            {

            printf(" ");

            }

            

        }

        printf("\n");

    }

    for (int i=0; i<4; i++) {

        for (int j=0; j<=i; j++)

        {

            printf(" ");

        }

        for (int k=0; k<7-2*i; k++)

        {

            if (k==0||k==1||k==7-2*i-1||k==7-2*i-2)

            {

                printf("*");

            }

            else

            {

            printf(" ");

            }

            

        }

        printf("\n");

 

    }

    

    

    

    return 0;

}





万年日历

//

//  main.c

//  4.22下午  万年日历

//

//  Created by ibokan on 13-4-22.

//  Copyright (c) 2013 ibokan. All rights reserved.

//


#include <stdio.h>


int main(int argc, const char * argv[])

{



  //输入的年份

    int year=0;

    //输入的月份

    int month=0;

    //判断是否是闰年

    int isrun=0;

    //计算总天数

    int totalday=0;

    // 每个月的天数

    int day=0;

    // 一年中从1月1日起到输入月份前的天数

    int days=0;

   


    int year=0,month=0,isrun=0,totalday=0,day=0,days=0;

    printf("请输入年\n");

    scanf("%d",&year);

    printf("请输入月\n");

    scanf("%d",&month);

    if ((year%4==0&&year%100!=0)||year%400==0) {

        isrun=1;

    }

    for (int i=1990; i<year; i++) {

        if ((year%4==0&&year%100!=0)||year%400==0) {

            totalday+=366;

        }

        else

        {

            totalday+=366;

        }

    }

    //printf("totalday=%d",totalday);

    for (int m=1; m<month; m++) {

        switch (m) {

            case 1:

            case 3:

            case 5:

            case 7:

            case 8:

            case 10:

            case 12:

                day=31;

                break;

           case 2:

                if (isrun) {

                    day=29;

                }

                else

                {

                    day=28;

                }

                break;

            default:

                day=30;

                break;

        }

        if (m<month) {

            days=days+day;

        }

        totalday=totalday+days;

        //printf("totalday=%d",totalday);

    }

    

    int t=0,firstday=0;

    //根据条件知道输入月份第一天是周几  0 周日,  1--6  周一到周六

    t=totalday%7+1;

    if(t==7)

    {

        firstday=0;

    }else

    {

        firstday=t;

    }

    

    printf("\t\t\t\t\t\t\n");

    for(int k=0;k<firstday;k++)

    {

        printf("\t");

    }

    //根据月份判断输出的天数

    for(int i=1;i<=day;i++)

    {

        printf("%d\t",i);

        // 周六换行

        if((totalday+i)%7==6)

        {

            printf("\n");

        }

    }