练习

练习 1:温度转换

#include <stdio.h>

int main(void)
{
    printf("请选择要进行的转换:1是将温度从摄氏度转换为华氏度,2是将温度从华氏度转换为摄氏度。\n");
    int choice = 0;
    scanf("%d",&choice);
    if(choice!=1 && choice !=2)
    {
        printf("请选择正确的选项\n");
    }
    else
    {
        printf("请输入要转换的温度值\n");
        double tem = 0.0;
        scanf("%lf",&tem);

        switch(choice)
        {
            case 1:
                printf("转换为华氏度是%lf\n",tem*1.8+32);
                break;
            case 2:
                printf("转换为摄氏度是%lf\n",(tem-32)/1.8);
                break;
        }
    }
    return 0;
}Code language: PHP (php)

练习 2:日期格式化输出

#include <stdio.h>

int main(void)
{
    int month = 0;
    int day = 0;
    int year = 0;

    printf("请输入月、日、年(用空格分隔):\n");
    scanf("%d %d %d", &month, &day, &year);

    const char* monthNames[] = {"", "January", "February", "March", "April", "May", "June",
                               "July", "August", "September", "October", "November", "December"};

    // 确定日期后缀
    const char* suffix = "th";
    if(day == 1 || day == 21 || day == 31)
        suffix = "st";
    else if(day == 2 || day == 22)
        suffix = "nd";
    else if(day == 3 || day == 23)
        suffix = "rd";

    printf("%d%s %s %d\n", day, suffix, monthNames[month], year);
    return 0;
}Code language: PHP (php)

练习 3:数量折扣计算

#include <stdio.h>

int main(void)
{
    int count = 0;
    const int singlePrice = 5;
    printf("请输入要购买的数量:\n");
    scanf("%d",&count);
    if(count>50)
    {
        printf("需要支付总额%lf",count * singlePrice * (1-0.15) );
    }
    else if(count>30)
    {
        printf("需要支付总额%lf",count * singlePrice * (1-0.1) );
    }
    else
    {
        printf("需要支付总额%lf",count * singlePrice );
    }
    return 0;
}Code language: PHP (php)

练习 4:计算器循环执行

#include <stdio.h>
#include <ctype.h>

int main(void)
{
    double number1 = 0.0;          /* 第一个操作数值十进制数  */
    double number2 = 0.0;          /* 第二个操作数值十进制数 */
    char operation = 0;            /* 操作符必须是 +, -, *, /, or %  */
    char reply = 0;                /* 表示另一个计算-或不*/

tdad:
    printf("\n输入操作数\n");
    scanf("%lf %c %lf", &number1, &operation, &number2);

    /* 这里是检查输入的代码 */
    switch(operation)
    {
        case '+':                    /* 加法时不需要检查      */
            printf("= %lf\n", number1 + number2);
            break;

        case '-':                    /* 减法时不需要检查 */
            printf("= %lf\n", number1 - number2);
            break;

        case '*':                    /* 乘法时不需要检查 */
            printf("= %lf\n", number1 * number2);
            break;

        case '/':
            if(number2 == 0)           /* 需检查第二个数不为0    */
                printf("\n\n\aDivision by zero error!\n");
            else
                printf("= %lf\n", number1 / number2);
            break;

        case '%':                    /* 需检查第二个数不为0    */
            if((long)number2 == 0)
                printf("\n\n\a除数不能为空!\n");
            else
                printf("= %ld\n", (long)number1 % (long)number2);
            break;

        default:                     /* 如果我们到了这里,操作无效 */
            printf("\n\n\a无效操作!\n");
            break;
    }

    printf("继续使用计算器? Y/N\n");
    scanf(" %c",&reply);
    if(toupper(reply)=='Y')
    {
        goto tdad;
    }
    return 0;
}Code language: PHP (php)

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注