C语言分支与循环基础应用编程

news/2025/3/25 19:17:37/文章来源:https://www.cnblogs.com/sjt0730/p/18788406

实验任务1

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define N 5int main()
{int number;int i;srand(time(0));for(i=0;i<N;++i){number=rand()%100+1;printf("20490042%04d\n",number);}return 0;
}

问题1:生成一个1~100的随机数

问题2:保留四位整数

问题3:随机抽取学员

实验任务2

#include <stdio.h>int main() 
{int choice, quantity;float total_price = 0, amount_paid, change;while (1){printf("\n自动饮料售卖机菜单:\n");printf("1. 可乐 - 3 元/瓶\n");printf("2. 雪碧 - 3 元/瓶\n");printf("3. 橙汁 - 5 元/瓶\n");printf("4. 矿泉水 - 2 元/瓶\n");printf("0. 退出购买流程\n");printf("请输入饮料编号: ");scanf("%d", &choice);if (choice == 0)break;if (choice < 1 || choice > 4) {printf("无效的饮料编号,请重新输入。\n");continue;}printf("请输入购买的数量: ");scanf("%d", &quantity);if (quantity < 0) {printf("购买数量不能为负数,请重新输入。\n");continue;}switch (choice) {case 1:case 2:total_price += 3 * quantity;break;case 3:total_price += 5 * quantity;break;case 4:total_price += 2 * quantity;break;}printf("请投入金额: ");scanf("%f", &amount_paid);change = amount_paid - total_price;printf("本次购买总价: %.2f 元\n", total_price);printf("找零: %.2f 元\n", change);total_price = 0;}printf("感谢您的购买,欢迎下次光临!\n");return 0;
}

问题1:重置购买总价,如果去掉,多次输入的总价会不断累加

问题2:break是跳出并终止循环,continue是跳出此次循环,继续下一次循环

问题3:不需要,前面已经进行了错误排查

实验任务3

#include<stdio.h>
int main()
{while(1){char input;input=getchar();if(input>='A'&&input<='Z')input+=32;if(input=='z')break;switch(input){case'r':printf("stop!\n");break;case'g':printf("go go go\n");break;case'y':printf("wait a minute\n");break;default:printf("something must be wrong...\n");} getchar();}return 0;
}

 

实验任务4

#include <stdio.h>
int main() 
{double num,s;double max=0,min=20000;while (1){scanf("%lf", &num);if (num == -1) break;elses+=num;if(num>max)max=num;elsemax=max;if(num<min)min=num;elsemin=min;}printf("今日累计消费总额:%.1f\n",s); printf("今日最高一笔开销:%.1f\n",max);printf("今日最低一笔开销:%.1f\n",min);  return 0;}

 

实验任务5

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define N 5
int main()
{int luckyDay,guess,chance=3;srand(time(0));luckyDay=rand()%30+1;printf("猜猜2025年4月哪一天是你的luckyDay\n");printf("开始喽,你有三次机会,猜吧[1~30]:");while(chance>0){scanf("%d",&guess);if(guess==luckyDay){printf("哇,猜中了:-)\n");break;}else if(guess<luckyDay){printf("你猜的日期早了,你的luckyDay还没到呢\n");   }else{printf("你猜的日期晚了,你的luckyDay在前面哦\n");}chance--;if(chance>=1)printf("再猜[1~30]:");        }printf("次数用完啦,偷偷告诉你,你的luckyDay是%d号\n",luckyDay);return 0;
}

 

实验任务6

#include<stdio.h>
int main()
{int n,i,j;printf("input n:");scanf("%d",&n);for(i=0;i<n;++i){for(j=0;j<2*i;j++){printf("   ");}for(j=0;j<2*(n-i)-1;j++){printf("  0   ");    }printf("\n");for(j=0;j<2*i;j++){printf("   ");}for(j=0;j<2*(n-i)-1;j++){printf(" <H>  ");    }printf("\n");for(j=0;j<2*i;j++){printf("   ");}for(j=0;j<2*(n-i)-1;j++){printf(" I I  ");}printf("\n");}return 0;
}

 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NSSCTF Round#28 Team web题解

真是让人操心,但是又无法转移视线ez_ssrf 很简单的ssrf,知识点在网上搜都能搜到 payload http://node3.anna.nssctf.cn:28658@127.255.255.254/flag ez_php 第一部分有个非预期,直接/file就能出flag is_numeric绕过和md5强比较,很简单的知识点,这里就不细说了 第二部分网上…

Netty源码—4.客户端接入流程

大纲 1.关于Netty客户端连接接入问题整理 2.Reactor线程模型和服务端启动流程 3.Netty新连接接入的整体处理逻辑 4.新连接接入之检测新连接 5.新连接接入之创建NioSocketChannel 6.新连接接入之绑定NioEventLoop线程 7.新连接接入之注册Selector和注册读事件 8.注册Reactor线程…

【Esp32】为 idf 定制本地 Arduino 组件

在开始今天的水文前,老周先要奉劝一下国内某些嵌入式砖家和穴者,不要看不起 Arduino,它不是一种开发板,而是一种规范。Arduino 的思想是正确的,把各种开发板封装为统一的 API,让许多开源库共享相同的基础代码,严重降低了移植成本。Arduino 本质上使用的是 C/C++ 开发,只…

编译原理第五次作业

2.2.1 1)S-> S S *-> S S + S *->a S + S *->a a + S *->a a + a * 2)3)L={由多个a,加号,乘号组成的后缀表达式} 2.2.2 1)L={0^n 1^n | n>=1} 2)L={由多个a,加号,减号组成的前缀表达式} 3)L={ε或任意排列,嵌套的括号} 4)L={ε或包含相同数量a,b的字符…

XN2025 集训记录 D2

我好想你们啊 . 我怀念高一啊 . 至少还有理由放任自己开心不是吗 .XN2025 集训记录 D2 又是摆烂的一天 , 感觉打模拟赛时候的自己和改题时的自己完全不是一个人 . 不过往好了想 , 至少足够的模拟赛量 , 意味着我的高效率时间虽然不多 , 但是还有 . 买了个usb转网线 , 破费 39.9…

基于对偶二次曲线的快速椭圆检测

利用对偶二次曲线可精确求解椭圆圆心坐标。1、对偶二次曲线原理 二次曲线也称圆锥曲线,其几何定义是一个平面与两个顶点相对的圆锥相交所产生的交线。通常二次曲线指的是点二次曲线,它是定义在曲线点上的方程。而在射影几何中,齐次点和齐次线存在着可以互换的二元关系,因此…

【程设の旅】Python速通作业三

这节课老师讲了Python的面向对象部分 速度比较快 但是结合前面cpp的大部分知识可以弄懂 最后一道题估计是py特性了 可以理解但是那两个函数不知道是什么鬼 01:运算符的实现 描述 程序填空class A:def __init__(self,x):self.x = x // 在此处补充你的代码 a,b,c = map(int,input…

C/C++开发文档和常用的输入方式汇总

前几天复习的几种输入方式和帮助文档C/C++开发文档获取 之前下载过应该开发文档,今天push到了Gitee上了。可以随时获取,链接字符串操作 C 字符串 | 菜鸟教程 输入输出【包含字符串】 C 输入 & 输出 | 菜鸟教程 #include<stdio.h> int main() {char s[20];int i = 0…

Eino overview

一段话总结 Eino 是基于Golang的大模型应用开发框架,通过组件抽象(如ChatModel、Tool、Retriever)和图编排能力(Chain/Graph/Workflow)简化LLM应用开发。其核心优势包括类型安全的流处理、并发管理、切面注入以及开箱即用的最佳实践,支持构建复杂智能体(如ReAct)和多模…

llm 量化技术综述

综述: LLM 量化 1. Intro 低比特量化主要是减少tensor的bit-width,可以有效减少内存以及计算需求;主要可以压缩权重, 激活值, 和梯度,使得可以在受限资源的设备上使用。 2. 低比特LLM的基础 在这一届,我们主要引入从以下三个方面讨论:low-bit 数值格式 量化粒度 动态或者静…

Top 出海 AI 公司招技术!HIX.AI Pollo.ai | 深圳

HIX.AI & Pollo.ai 招聘高级海外 AI 产品经理 (25-45K) 岗位职责:负责Web 端海外 AI 产品的规划与策划,负责产品需求分析及原型设计,并制定方案推动产品研发落地; 进行产品/竞品调研,了解用户需求,分析、发现需求本质,并给出对应的解决方案; 有效对接开发、测试、运…