OJ《程序设计基础I 》实验2-选择结构程序设计

28 篇文章 2 订阅
17 篇文章 1 订阅
一系列C语言编程实验,涉及条件结构,包括求绝对值、时间间隔计算、找最大值、整数比较、判断对错、输出特定字符串、求三个数的最大值、计算相加和的最大值、时间格式转换、整除判断、闰年检测、模拟计算器、月份天数计算以及星期英文输出。这些练习涵盖了基本的条件判断和算术运算。
摘要由CSDN通过智能技术生成

2-1 A - C语言实验——求绝对值(选择结构)

#include<stdio.h>
int main()
{
  int x;
  scanf("%d",&x);
  if(x>=0) printf("%d",x);
  else printf("%d",-x);
  return 0;
}

2-2 B - C语言实验——时间间隔

#include<stdio.h>
int main()
{
    int t,t1,t2,h1,h2,m1,m2,s1,s2,a,b,c;
    scanf("%d:%d:%d\n",&h1,&m1,&s1);
    scanf("%d:%d:%d",&h2,&m2,&s2);//输入两时间。
    t1=h1*3600+m1*60+s1;
    t2=h2*3600+m2*60+s2;//将两时间换算成秒进行计算。
    if(t1<t2) t=t2-t1;
    else t=t1-t2;
    a=t/3600;//输出数值中的小时。
    b=t/60%60;//输出数值中的分。
    c=t%60;//输出数值中的秒。
    printf("%02d:%02d:%02d",a,b,c);
    return 0;
}

2-3 C - C语言实验——求两个整数之中较大者

#include<stdio.h>
int main()
{
    int a,b;
    scanf("%d %d",&a,&b);
    if(a>b) printf("max=%d",a);
    else printf("max=%d",b);
    return 0;
}

2-4 D - 小鑫吃苹果

#include<stdio.h>
int main()
{
    int x,y,q;
    scanf("%d %d",&x,&y);
    if(x>=y) q=x;
    else q=y;
    printf("%d",q);
    return 0;
}

2-5 E - 小鑫の日常系列故事(一)——判断对错

#include<stdio.h>
int main()
{
    int a,b,c;
    scanf("%d %d",&a,&b);
    scanf("%d",&c);
    if(c==a+b) printf("YES");
    else printf("NO");
    return 0;
}

2-6 F - 小鑫追女神

#include<stdio.h>
int main()
{
    int a;
    scanf("%d",&a);
    if(a==0) printf("He he");
    else if(a==1) printf("I like you");
    return 0;
}

2-7 G - C语言实验——求三个整数的最大值

#include<stdio.h>
int main()
{
    int a,b,c,max;
    scanf("%d,%d,%d",&a,&b,&c);
    if(a>b&&a>c) max=a;
    else if(b>a&&b>c) max=b;
    else if(c>a&&c>b) max=c;
    printf("max=%d",max);
    return 0;
}

 2-8 H - 相加和最大值

#include<stdio.h>
int main()
{
    int a,b,c;
    scanf("%d %d %d",&a,&b,&c);
    if(a+b>=a+c&&a+b>=b+c) printf("%d",a+b);
    else if(a+c>=a+b&&a+c>=b+c) printf("%d",a+c);
    else if(b+c>=a+b&&b+c>=a+c) printf("%d",b+c);
    return 0;
}

2-9 I - 时间格式转换

#include<stdio.h>
int main()
{
    int a,b;
    scanf("%d:%d",&a,&b);
    if(a==0)
        printf("%d:%02d AM",a+12,b);
    else if((a>=1)&&(a<=11))
        printf("%d:%02d AM",a,b);
    else if(a==12)
        printf("%d:%02d PM",a,b);
    else if((a>=13)&&(a<=23))
        printf("%d:%02d PM",a-12,b);
    return 0;
}//按照题中所给对应关系写代码即可。

2-10 J - C语言实验——从大到小输出a、b、c(选择结构)

#include<stdio.h>
int main()
{
    int a,b,c;
    scanf("%d %d %d",&a,&b,&c);
    if(a>=b&&b>=c) printf("%d %d %d",a,b,c);
    else if(a>=c&&c>=b) printf("%d %d %d",a,c,b);
    else if(b>=a&&a>=c) printf("%d %d %d",b,a,c);
    else if(b>=c&&c>=a) printf("%d %d %d",b,c,a);
    else if(c>=a&&a>=b) printf("%d %d %d",c,a,b);
    else if(c>=b&&b>=a) printf("%d %d %d",c,b,a);
    return 0;//比较写出即可,就是代码有些麻烦。
}

2-11 K - C语言实验——三个数排序

#include<stdio.h>
int main()
{
    int x,y,z;
    scanf("%d,%d,%d",&x,&y,&z);
    if(x>=y&&y>=z) printf("%d %d %d",x,y,z);
    else if(x>=z&&z>=y) printf("%d %d %d",y,z,x);
    else if(y>=x&&x>=z) printf("%d %d %d",z,x,y);
    else if(y>=z&&z>=x) printf("%d %d %d",x,z,y);
    else if(z>=x&&x>=y) printf("%d %d %d",y,x,z);
    else if(z>=y&&y>=x) printf("%d %d %d",x,y,z);
    return 0;//与上题差不多。
}

2-12 L - C语言实验——找中间数

#include<stdio.h>
int main()
{
    int x,y,z;
    scanf("%d %d %d",&x,&y,&z);
    if(x>=z&&z>=y) printf("%d",z);
    else if(y>=z&&z>=x) printf("%d",z);
    else if(y>=x&&x>=z) printf("%d",x);
    else if(z>=x&&x>=y) printf("%d",x);
    else if(z>=y&&y>=x) printf("%d",y);
    else if(x>=y&&y>=z) printf("%d",y);
    return 0;
}

2-13 M - C语言实验——整除

#include<stdio.h>
int main()
{
  int n;
  scanf("%d",&n);
  if(n%3==0&&n%5==0)
    printf("Yes\n");
  else 
    printf("No\n");
  return 0;
}

2-14 N - 闰年

#include <stdio.h>
int main()
{
    int year;
    scanf("%d",&year);
    if ((year%4==0&&year%100!=0)||(year%400==0))//了解闰年的定义即可。
        printf("Yes\n");
        else printf("No\n");
    return 0;
}

2-15 O - C/C++经典程序训练3---模拟计算器

#include <stdio.h>
int main()
{
    int a,b;
    char c;
    scanf("%d %d\n",&a,&b);
    scanf("%c",&c);
    if(c=='+')
        printf("%d",a+b);
    else if(c=='-')
        printf("%d",a-b);
    else if(c=='*')
        printf("%d",a*b);
    else if(c=='/')
        printf("%d",a/b);
    return 0;
}

2-16 P - C语言实验——某年某月的天数

#include<stdio.h>
int main()
{
    int y,m;
    char c;
    scanf("%d%c%d",&y,&c,&m);
    switch(m)
    {
    case 1:
    case 3:
    case 5:
    case 7:
    case 8:
    case 10:
    case 12:
        printf("31\n");
        break;
    case 4:
    case 6:
    case 9:
    case 11:
        printf("30\n");
        break;
    case 2:
        if((y%4==0&&y%100!=0)||y%400==0)
            printf("29");
        else printf("28");
        break;
    }
    return 0;//switch函数,case 是分为不同的情况。

}

2-17 Q - C语言实验——输入数字星期,输出英文(switch语句)

#include<stdio.h>
int main()
{
    int y;
    scanf("%d",&y);
    switch(y)
    {
        case 1:printf("Monday");break;
        case 2:printf("Tuesday");break;
        case 3:printf("Wednesday");break;
        case 4:printf("Thursday");break;
        case 5:printf("Friday");break;
        case 6:printf("Saturday");break;
        case 7:printf("Sunday");break;//同样是switch函数,注意break的使用。
    }
    return 0;
}

加油加油加油!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CRAEN

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值