Taek

5. Programming Projects 본문

C언어/문제 정리

5. Programming Projects

Taeky 2018. 8. 4. 10:11

1.

#include <stdio.h>


int main(void)

{

    printf("Enter a number: ");

    int number;

    scanf("%d", &number);


    int count = 0;


    int temp = number;

    for(count = 0; temp != 0; ++count){

        temp /= 10;

    }


    printf("The number %d has %d digits\n", number, count);


    return 0;

}


2.

#include <stdio.h>


int main(void)

{

    printf("Enter a 24-hour time : ");

    int hour, minute;

    scanf("%2d:%2d", &hour, &minute);


    printf("Equivalent 12-hour time : ");


    if(hour > 12)

        printf("%2d:%2d PM\n", hour - 12, minute);

    else    

        printf("%2d:%2d AM\n", hour, minute);

    

    return 0;

}


3.

#include <stdio.h>


int main(void)

{

    int shares, price_per_share;

    float commission, value, rival_commission;


    printf("Enter the number of shares : ");

    scanf("%d", &shares);


    printf("Enter price per share : ");

    scanf("%d", &price_per_share);


    value = shares * price_per_share;


    if(value < 2500.00f)

        commission = 30.00f + .017f * value;

    else if(value < 6250.00f)

        commission = 56.00f + .0066f * value;

    else if(value < 20000.00f)

        commission = 100.00f + .0022f * value;

    else if(value < 50000.00f)

        commission = 155.00f + .0011f * value;

    else 

        commission = 255.00f + .0009f * value;


    if(commission < 39.00f)

        commission = 39.00f;


    printf("My Commission : $%.2f\n", commission);


    if(shares < 2000)

        rival_commission = 33.00f + .03f * shares;

    else    

        rival_commission = 33.00f + .02f * shares;


    printf("Rival Commission : $%.2f\n", rival_commission);


    return 0;

}


4.

#include <stdio.h>


int main(void)

{

    double knots;


    printf("Enter speed : ");

    scanf("%lf", &knots);


    if(knots<1.0f)

        printf("Calm");

    else if(knots < 4.0f)

        printf("Light air");

    else if(knots < 28.0f)

        printf("Breeze");

    else if(knots < 48.0f)

        printf("Gale");

    else if(knots < 64.0f)

        printf("Storm");

    else printf("Hurricane");


    return 0;

}


5.

#include <stdio.h>


int main(void)

{

    int income;

    double tax;


    printf("Enter income: ");

    scanf("%d", &income);


    if(income <= 750) tax = .01 * income;

    else if(income <= 2250) tax = 7.5f + .02 * income;

    else if(income <= 3750) tax = 37.5f + .03 * income;

    else if(income <= 5250) tax = 82.5f + .04 * income;

    else if(income <= 7000) tax = 142.5f + .05 * income;

    else tax = 230.0f + .06 * income;


    printf("Your tax is : %.2f", tax);

    

    return 0;

}


6.

#include <stdio.h>


int main(void)

{

    int d, i1, i2, i3, i4, i5, j1, j2, j3, j4, j5, check_digit, 

        first_sum, second_sum, total;


    printf("Enter UPC digits: ");

    scanf("%1d%1d%1d%1d%1d%1d%1d%1d%1d%1d%1d%1d", 

        &d, &i1, &i2, &i3, &i4, &i5, &j1, &j2, &j3, &j4, &j5, &check_digit);


    first_sum = d + i2 + i4 + j1 + j3 + j5;

    second_sum = i1 + i3 + i5 + j2 + j4;


    total = first_sum * 3 + second_sum;

    --total;

    total %= 10;


    if((9 - total) == check_digit){

        printf("VALID\n");

    }

    else{

        printf("NOT VALID\n");

    }


    return 0;

}


7.

#include <stdio.h>


int main(void)

{

    int n[4];

    printf("Enter four integers: ");

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

        scanf(" %d", &n[i]); // ' %d'와 '%d '의 차이는 하나를 더 입력하냐 아니냐!


    int largest, smallest;

    largest = smallest = n[0];


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

        if(largest < n[i]) largest = n[i];

        if(smallest > n[i]) smallest = n[i];

    }


    printf("largest %d smallest %d\n", largest, smallest);


    return 0;

}


8.

#include <stdio.h>


int main(void)

{

    int desired_time, hour, minute;


    printf("Enter a 24-hour time: ");

    scanf("%2d:%2d", &hour, &minute);

    

    desired_time = ((hour * 60) + minute);


    int departure_time, arrival_time;


    if(desired_time < 8 * 60) {

        departure_time = 8 * 60;

        arrival_time = 10 * 60 + 16;

    }

    else if (desired_time < 9 * 60 + 43) {

        departure_time = 9 * 60 + 43;

        arrival_time = 11 * 60 + 52;

    } 

    else if (desired_time < 11 * 60 + 19) {

        departure_time = 11 * 19;

        arrival_time = 13 * 60 + 31;

    }

    else if (desired_time < 12 * 60 + 47) {

        departure_time = 12 * 60 + 47;

        arrival_time = 15 * 60 + 00;

    }

    else if (desired_time < 14 * 60 + 00) {

        departure_time = 14 * 60;

        arrival_time = 16 * 60 + 8;

    }

    else if (desired_time < 15 * 60 + 45) {

        departure_time = 15 * 60 + 45;

        arrival_time = 17 * 60 + 55;

    }

    else if (desired_time < 19 * 60 + 00) {

        departure_time = 19 * 60;

        arrival_time = 21 * 60 + 20;

    }

    else if (desired_time < 21 * 60 + 45) {

        departure_time = 21 * 60 + 45;

        arrival_time = 23 * 60 + 58;

    }


    int depart_hr = departure_time / 60;

    int depart_minute = departure_time % 60;


    int arrive_hr = arrival_time / 60;

    int arrive_minute = arrival_time % 60;


    printf("Closest departure time is ");

    printf("%2.2d:%2.2d, %c.m., arriving at %2.2d:%2.2d %c.m.\n",

            (depart_hr > 12 ? depart_hr - 12 : depart_hr), depart_minute,

            (depart_hr > 12 ? 'p' : 'a'),

            (arrive_hr > 12 ? arrive_hr - 12 : arrive_hr), arrive_minute,

            (arrive_hr > 12 ? 'p' : 'a'));


    return 0;


}


9.

#include <stdio.h>


int main(void)

{

    int day, month, year;

    printf("Enter first date (mm/dd/yy): ");

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


    int second_day, second_month, second_year;

    printf("Enter second date (mm/dd/yy): ");

    scanf("%2d/%2d/%2d", &second_month, &second_day, &second_year);


    if(year > second_year){

        printf("%d/%d/%.2d is earlier than %d/%d/%.2d\n", 

                second_month, second_day, second_year, month, day, year);

    }

    else {

        if(month > second_month){

            printf("%d/%d/%.2d is earlier than %d/%d/%.2d\n", 

                second_month, second_day, second_year, month, day, year);

        }

        else{

            if(day > second_day)

                printf("%d/%d/%.2d is earlier than %d/%d/%.2d\n", 

                    second_month, second_day, second_year, month, day, year);

            

            else

                printf("%d/%d/%.2d is earlier than %d/%d/%.2d\n", 

                    month, day, year, second_month, second_day, second_year);

        }

    }



    return 0;

}


10.

#include <stdio.h>


int main(void)

{

    int grade_int;

    printf("Enter numerical grade: ");

    scanf("%d", &grade_int);


    printf("Letter grade: ");


    char grade_char;

    switch(grade_int / 10){

        case 9: case 10:

            grade_char = 'A'; break;

        

        case 8:

            grade_char = 'B'; break;


        case 7:

            grade_char = 'C'; break;


        case 6:

            grade_char = 'D'; break;


        default:

            grade_char = 'F'; break;

    }


    printf("%c\n", grade_char);


    return 0;

}


11.

#include <stdio.h>


int main(void)

{

    int number;

    printf("Enter a two-digit number : ");

    scanf("%d", &number);

    

    printf("You entered the number ");

    if(number / 10 == 1){

        switch(number % 10){

            case 0: printf("ten."); break;

            case 1: printf("eleven."); break;

            case 2: printf("twelve."); break;

            case 3: printf("thirteen."); break;

            case 4: printf("fourteen."); break;

            case 5: printf("fifteen."); break;

            case 6: printf("sixteen."); break;

            case 7: printf("seventeen."); break;

            case 8: printf("eighteen."); break;

            case 9: printf("nineteen."); break;

        }

    }

    else{

        switch(number / 10){

            case 2: printf("twenty"); break;

            case 3: printf("thirty"); break;

            case 4: printf("fourty"); break;

            case 5: printf("fifty"); break;

            case 6: printf("sixty"); break;

            case 7: printf("seventy"); break;

            case 8: printf("eighty"); break;

            case 9: printf("ninety"); break;

        }

        switch(number % 10){

            case 1: printf("-one"); break;

            case 2: printf("-two"); break;

            case 3: printf("-three"); break;

            case 4: printf("-four"); break;

            case 5: printf("-five"); break;

            case 6: printf("-six"); break;

            case 7: printf("-seven"); break;

            case 8: printf("-eight"); break;

            case 9: printf("-nine"); break;

        }

    }


    return 0;

}

'C언어 > 문제 정리' 카테고리의 다른 글

6. Programming Projects  (0) 2018.08.05
6. Exercises  (0) 2018.08.05
5. Exercises  (0) 2018.07.12
4. Programming Projects  (0) 2018.07.12
4. Exercises  (0) 2018.07.11