C语言实验 选择结构

news2024/11/23 7:27:22

时间:2024.11.2

一、实验

实验一、7-1 计算分段函数[2]

#include<stdio.h>
#include<math.h>
int main(){
    float x,r;
    scanf("%f",&x);
    if(x<0)
    {
        r=pow((x+1.0),2)+2*x+1.0/x;
    }

    else r=pow(x,0.5);
    printf("f(%.2f) = %.2f",x,r);
    return 0;
}

TIPS:

注意幂函数的写法,pow(x,2)

实验二、7-2 三天打鱼两天晒网

#include<stdio.h>

int main(){
    int n,y;
    
    scanf("%d",&n);
    y=n%5;
    if((y<=3)&&(y>0))
    {
       printf("Fishing in day %d",n);
    }

    else 
    printf("Drying in day %d",n);
    return 0;
}

 

TIPS:

注意考虑整除的情况,即判断的条件要考虑清楚

实验三、7-3 计算火车运行时间

#include<stdio.h>

int main(){
    int c,d,h,m;
    int h1,h2,sum;
    scanf("%d %d",&c,&d);
    h1=c/100;
    h2=d/100;
    sum=(h2*60+d%100)-(h1*60+c%100);
    h=sum/60;
    m=sum%60;

  
    printf("%02d:%02d",h,m);
    return 0;
}

TIPS:

考前多看几遍,思路不要太复杂,将时间差算出,再进行时分换算

 

实验四、7-4 两个数的简单计算器

#include<stdio.h>

int main(){
    char c;
    int a,b,r;
    scanf("%d %c %d",&a,&c,&b);
   if(c=='+')
   {
       r=a+b;
       printf("%d",r);
   }
    else if(c=='-')
   {
       r=a-b;
       printf("%d",r);
   }
   else if(c=='*')
   {
       r=a*b;
       printf("%d",r);
   }
     else if(c=='/')
   {
       r=a/b;
       printf("%d",r);
   }
     else if(c=='%')
   {
       r=a%b;
      printf("%d",r);
   }
    else printf("ERROR");
    return 0;
}

TIPS:

符号的定义用char
 if(c=='+')   符号的条件判断

 char c;          //符号的定义用char
 if(c=='+')       //符号的条件判断

 

实验五、7-5 判断输入的字符是哪种类型

#include<stdio.h>
int main(){
    char c;
    scanf("%c",&c);
   if((c>='0')&&(c<='9'))
   {
       printf("This is a digit.");
   }
    else if((c>='A')&&(c<='Z'))
   {
       printf("This is a capital letter.");
   }
   else if((c>='a')&&(c<='z'))
   {

       printf("This is a small letter.");
   }
     
    else printf("Other character.");
    return 0;
}

实验六、7-6 新年倒计时

#include<stdio.h>
int main(){
    int y,m,d;
    scanf("%d-%d-%d",&y,&m,&d);
   if((y%4==0&&y%100!=0)||y%400==0){
   if(m==12)
   {
       printf("还有%d天到新年",32-d);
   }
  else if(m==11)
   {
       printf("还有%d天到新年",62-d);
   }
  else if(m==10)
   {
       printf("还有%d天到新年",62-d+31);
   }
     else if(m==9)
   {
       printf("还有%d天到新年",62-d+31+30);
   }
  else if(m==8)
   {
       printf("还有%d天到新年",62-d+31+30+31);
   }
         else if(m==7)
   {
       printf("还有%d天到新年",62-d+31+30+31+31);
   }
         else if(m==6)
   {
       printf("还有%d天到新年",62-d+31+30+31+31+30);
   }
         else if(m==5)
   {
       printf("还有%d天到新年",32+214-d);
   }
         else if(m==4)
   {
       printf("还有%d天到新年",32-d+244);
   }
         else if(m==3)
   {
       printf("还有%d天到新年",32-d+275);
   }
         else if(m==2)
   {
       printf("还有%d天到新年",304-d+32);
   }
         else if(m==1)
   {
       printf("还有%d天到新年",367-d);
   }     
   }
    else  if(m==12)
   {
       printf("还有%d天到新年",32-d);
   }
  else if(m==11)
   {
       printf("还有%d天到新年",62-d);
   }
  else if(m==10)
   {
       printf("还有%d天到新年",62-d+31);
   }
     else if(m==9)
   {
       printf("还有%d天到新年",62-d+31+30);
   }
  else if(m==8)
   {
       printf("还有%d天到新年",62-d+31+30+31);
   }
         else if(m==7)
   {
       printf("还有%d天到新年",62-d+31+30+31+31);
   }
         else if(m==6)
   {
       printf("还有%d天到新年",62-d+31+30+31+31+30);
   }
         else if(y==5)
   {
       printf("还有%d天到新年",32+214-d);
   }
         else if(m==4)
   {
       printf("还有%d天到新年",32-d+244);
   }
         else if(m==3)
   {
       printf("还有%d天到新年",32-d+275);
   }
         else if(m==2)
   {
       printf("还有%d天到新年",304-d+31);
   }
         else if(m==1)
   {
       printf("还有%d天到新年",366-d);
   }  
        
        return 0;
}

TIPS:

代码过于繁琐,需要尝试用循环、数组等方法进行改进。

实验七、7-7 计算运费

#include<stdio.h>
int main(){
    float f,p,w,s,d;
    scanf("%f %f %f",&p,&w,&s);
   if(s<250)
   {
      d=0;
       f=p*w*s*(1.0-d);
   }
    else if((s>=250)&&(s<500))
   {
       d=0.02;
       f=p*w*s*(1.0-d);
   }
    else if((s>=500)&&(s<1000))
   {
       d=0.05;
       f=p*w*s*(1.0-d);
   }
     else if((s>=1000)&&(s<2000))
   {
       d=0.08;
       f=p*w*s*(1.0-d);
   }
   else if((s>=2000)&&(s<3000))
   {
       d=0.1;
       f=p*w*s*(1.0-d);
   }
     else if(s>3000)
   {
       d=0.15;
       f=p*w*s*(1.0-d);
   }
    printf("freight=%.2f",f);
    return 0;
}

实验八、7-8 谁能进图书馆

#include<stdio.h>
int main(){
    int j,p,w1,w2;
    scanf("%d %d %d %d",&j,&p,&w1,&w2);
   if(w1>=w2)
   {
       if((w1>=j)&&(w2>=j)){
      printf("%d-Y %d-Y\n",w1,w2);
      printf("huan ying ru guan");
   }
    else if((w1>=j)&&(w2<j)){
        if(w1>=p){
     printf("%d-Y %d-Y\n",w1,w2);
      printf("qing 1 zhao gu hao 2");
        }
        else{
             printf("%d-Y %d-N\n",w1,w2);
      printf("1: huan ying ru guan");
        }}
      else if((w1<j)&&(w2>j)){
        if(w2>=p){
     printf("%d-Y %d-Y\n",w1,w2);
      printf("qing 2 zhao gu hao 1");
        }
        else{
      printf("%d-N %d-Y\n",w1,w2);
      printf("2: huan ying ru guan");
        }}
   else if((w1<j)&&(w2<j)){
       
      printf("%d-N %d-N\n",w1,w2);
      printf("zhang da zai lai ba");
        }}
       else if(w1<w2)
   {
       if((w1>=j)&&(w2>=j)){
      printf("%d-Y %d-Y\n",w1,w2);
      printf("huan ying ru guan");
   }
      else if((w1<j)&&(w2>j)){
        if(w2>=p){
     printf("%d-Y %d-Y\n",w1,w2);
      printf("qing 2 zhao gu hao 1");
        }
        else{
      printf("%d-N %d-Y\n",w1,w2);
      printf("2: huan ying ru guan");
        }}
   else if((w1<j)&&(w2<j)){
       
      printf("%d-N %d-N\n",w1,w2);
      printf("zhang da zai lai ba");
        }}
    return 0;
}

TIPS:

考虑两者年龄大小不同的情况,分类时避免重复,大类分两类的情况下各分三小类。

 

二、知识点及小技巧

1、幂函数pow

r=pow((x+1.0),2)+2*x+1.0/x;

2.符号的定义用char,if(c=='+')   符号的条件判断

 char c;          //符号的定义用char
 if(c=='+')       //符号的条件判断

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2230918.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

六、Go语言快速入门之数组和切片

文章目录 数组和切片数组:one: 数组初始化:two: 数组的遍历:three: 多维数组:four: 将数组传递给函数 切片(Slice):one: 切片的初始化:star: new和make区别 :two: 切片的使用:three: 将切片传递给函数:four: 多维切片:four: Bytes包:four: 切片和垃圾回收 &#x1f4c5; 2024年…

【Sublime Text】格式化Json和XML

无package control解决方案 删除文件中的package control这一行并保存 下载 下载中

vue常用的修饰符有哪些

1、修饰符是什么 在Vue 中&#xff0c;修饰符处理了许多 DOM 事件的细节&#xff0c;让我们不再需要花大量的时间去处理这些烦恼的事情&#xff0c;而能有更多的精力专注于程序的逻辑处理 vue中修饰符分为以下五种 汇总修饰符说明表单lazy光标离开标签的时候&#xff0c;才会…

微服务设计模式 - 发布订阅模式(Publisher Subscriber Pattern)

微服务设计模式 - 发布订阅模式&#xff08;Publisher Subscriber Pattern&#xff09; 定义 发布-订阅模式&#xff08;Publisher-Subscriber Pattern&#xff09;是一种常见的设计模式&#xff0c;被广泛用于云计算和分布式系统中&#xff0c;以实现松散耦合的组件间通信。发…

00-开发环境 MPLAB IDE 配置

MPLAB IDE V8.83 File 菜单简介 New (CtrlN)&#xff1a; 创建一个新文件&#xff0c;用于编写新的代码。 Add New File to Project...&#xff1a; 将新文件添加到当前项目中。 Open... (CtrlO)&#xff1a; 打开现有文件。 Close (CtrlE)&#xff1a; 关闭当前打开的文件。 …

Pytorch猴痘病识别

Pytorch猴痘病识别 &#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 电脑系统&#xff1a;Windows11 显卡型号&#xff1a;NVIDIA Quadro P620 语言环境&#xff1a;python 3.9.7 编译器&#xff1a;jupyte…

GA/T1400视图库平台EasyCVR视频分析设备平台微信H5小程序:智能视频监控的新篇章

GA/T1400视图库平台EasyCVR是一款综合性的视频管理工具&#xff0c;它兼容Windows、Linux&#xff08;包括CentOS和Ubuntu&#xff09;以及国产操作系统。这个平台不仅能够接入多种协议&#xff0c;还能将不同格式的视频数据统一转换为标准化的视频流&#xff0c;通过无需插件的…

Kafka相关知识点(上)

为什么要使用消息队列&#xff1f; 使用消息队列的主要目的主要记住这几个关键词:解耦、异步、削峰填谷。 解耦: 在一个复杂的系统中&#xff0c;不同的模块或服务之间可能需要相互依赖&#xff0c;如果直接使用函数调用或者 API 调用的方式&#xff0c;会造成模块之间的耦合…

qt QTextEdit详解

QTextEdit是Qt框架中的一个文本编辑控件类&#xff0c;它提供了丰富的功能用于编辑和显示纯文本以及富文本。 重要方法 setPlainText(const QString &text)&#xff1a;设置纯文本内容。toPlainText()&#xff1a;获取纯文本内容。setHtml(const QString &text)&#…

大学城水电管理系统开发:Spring Boot指南

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统&#xff0c;它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等&#xff0c;非常…

Github 2024-11-02 Rust开源项目日报 Top10

根据Github Trendings的统计,今日(2024-11-02统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Rust项目10Python项目2Dart项目1RustDesk: 用Rust编写的开源远程桌面软件 创建周期:1218 天开发语言:Rust, Dart协议类型:GNU Affero Genera…

【android12】【AHandler】【4.AHandler原理篇ALooper类方法全解】

AHandler系列 【android12】【AHandler】【1.AHandler异步无回复消息原理篇】-CSDN博客 【android12】【AHandler】【2.AHandler异步回复消息原理篇】-CSDN博客 【android12】【AHandler】【3.AHandler原理篇AHandler类方法全解】-CSDN博客 其他系列 本人系列文章-CSDN博客…

【深度学习】CrossEntropyLoss需要手动softmax吗?

【深度学习】CrossEntropyLoss需要手动softmax吗&#xff1f; 问题&#xff1a;CrossEntropyLoss需要手动softmax吗&#xff1f;答案&#xff1a;不需要官方文档代码解释 问题&#xff1a;CrossEntropyLoss需要手动softmax吗&#xff1f; 之前用 pytorch 实现自己的网络时&…

EtherCAT转ModbusTCP相关技术

EtherCAT/Ethernet/IP/Profinet/ModbusTCP协议互转工业串口网关https://item.taobao.com/item.htm?ftt&id822721028899 MS-GW15 概述 MS-GW15 是 EtherCAT 和 Modbus TCP 协议转换网关&#xff0c;为用户提供一种 PLC 扩展的集成解决方案&#xff0c;可以轻松容易将 Modbu…

使用Centos搭建Rocket.Chat教程

本章教程,主要介绍如何在CentOS系统上搭建Rocket.Cha。 一、Rocket.Chat是什么? Rocket.Chat 是一个开源的团队协作和通讯平台,类似于 Slack 或 Microsoft Teams。它提供了即时消息、视频会议、文件共享、以及与其他服务的集成等功能。用户可以在自己的服务器上部署 Rocket.…

jenkins 构建报错 mvn: command not found

首先安装过 maven&#xff0c;并且配置过环境变量 win r ,输入 cmd 键入 mvn -v 出现上图输出&#xff0c;则证明安装成功。 原因 jenkins 没有 maven 配置全局属性, 导致无法找到 mvn 命令。 解决方案 找到全局属性&#xff0c;点击新增&#xff0c;配置 MAVEN_HOME 路…

C++入门基础知识134—【关于C 库函数 - gmtime()】

成长路上不孤单&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a; 【14后&#x1f60a;///C爱好者&#x1f60a;///持续分享所学&#x1f60a;///如有需要欢迎收藏转发///&#x1f60a;】 今日分享关于C 库函数 - gmtime()的相关内容&#xf…

如何开发一个摄影行业小程序?开发一个摄影行业小程序需要哪些功能?南昌各行业小程序开发

如何开发一个摄影行业小程序&#xff1f;开发一个摄影行业小程序需要以下步骤&#xff1a; 1、需求分析&#xff1a;明确小程序的定位和功能需求&#xff0c;例如拍照、修图、分享、预约摄影师等。 2、设计界面&#xff1a;根据需求分析&#xff0c;设计小程序的用户界面&…

虚幻引擎5(UE5)学习教程

虚幻引擎5&#xff08;UE5&#xff09;学习教程 引言 虚幻引擎5&#xff08;Unreal Engine 5&#xff0c;简称UE5&#xff09;是Epic Games开发的一款强大的游戏引擎&#xff0c;广泛应用于游戏开发、影视制作、建筑可视化等多个领域。UE5引入了许多先进的技术&#xff0c;如…

linux线程的认识

1.虚拟地址空间 管理进程的pcb结构体task_struct中有一个mm_struct指针&#xff0c;指向虚拟地址空间&#xff0c;而编译好的代码中有地址&#xff0c;但是是虚拟地址&#xff0c;那么虚拟地址是怎么转化成真实的物理地址呢&#xff1f;通过页表转化 我们知道&#xff0c;代码…