news 2026/7/8 14:25:32

2025级C语言第八次周测题解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
2025级C语言第八次周测题解

7-1 电子汪

分数 30

作者 陈越

单位 浙江大学

据说汪星人的智商能达到人类 4 岁儿童的水平,更有些聪明汪会做加法计算。比如你在地上放两堆小球,分别有 1 只球和 2 只球,聪明汪就会用“汪!汪!汪!”表示 1 加 2 的结果是 3。

本题要求你为电子宠物汪做一个模拟程序,根据电子眼识别出的两堆小球的个数,计算出和,并且用汪星人的叫声给出答案。

输入格式:

输入在一行中给出两个 [1, 9] 区间内的正整数 A 和 B,用空格分隔。

输出格式:

在一行中输出 A + B 个Wang!

输入样例:

2 1

输出样例:

Wang!Wang!Wang!

参考答案:

#include <stdio.h> int main (void) { int A, B; scanf("%d %d", &A, &B); for(int i = 0; i < A + B; i++){ printf("Wang!"); } return 0; }

7-2 进化论

分数 30

作者 陈越

单位 浙江大学

在“一年一度喜剧大赛”上有一部作品《进化论》,讲的是动物园两只猩猩进化的故事。猩猩吕严说自己已经进化了 9 年了,因为“三年又三年”。猩猩土豆指出“三年又三年是六年呐”……
本题给定两个数字,以及用这两个数字计算的结果,要求你根据结果判断,这是吕严算出来的,还是土豆算出来的。

输入格式:

输入第一行给出一个正整数 N,随后 N 行,每行给出三个正整数 A、B 和 C。其中 C 不超过 10000,其他三个数字都不超过 100。

输出格式:

对每一行给出的三个数,如果 C 是 A×B,就在一行中输出Lv Yan;如果是 A+B,就在一行中输出Tu Dou;如果都不是,就在一行中输出zhe du shi sha ya!

输入样例:

3 3 3 9 3 3 6 3 3 12

输出样例:

Lv Yan Tu Dou zhe du shi sha ya!

参考答案:

#include <stdio.h> int main (void) { int N; scanf("%d", &N); while(N--){ int A, B, C; scanf("%d %d %d", &A, &B, &C); if(C == A * B){ printf("Lv Yan\n"); }else if(C == A + B){ printf("Tu Dou\n"); }else{ printf("zhe du shi sha ya!\n"); } } return 0; }

7-3 单词长度

分数 20

作者 翁恺

单位 浙江大学

你的程序要读入一行文本,其中以空格分隔为若干个单词,以.结束。你要输出每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如it's算一个单词,长度为4。注意,行中可能出现连续的空格;最后的.不计算在内。

输入格式:

输入在一行中给出一行文本,以.结束

提示:scanf("%c",...);来读入一个字符,直到读到.为止。

输出格式:

在一行中输出这行文本对应的单词的长度,每个长度之间以空格隔开,行末没有最后的空格。

输入样例:

It's great to see you here.

输出样例:

4 5 2 3 3 4

参考答案:

#include <stdio.h> int main (void) { char ch; int count = 0, flag = 0; while((ch = getchar()) != EOF){ if(ch != ' ' && ch != '.'){ count++; }else{ if(count > 0){ if(flag){ printf(" "); } printf("%d", count); count = 0; flag = 1; } } } return 0; }

7-4 兰州牛肉面

分数 10

作者 陈越

单位 浙江大学

兰州牛肉面是历史悠久的美食,根据牛肉面的宽窄、配料的种类,可以细分为上百个不同的品种。你进到兰州的任何一家牛肉面馆,只说:“来一碗牛肉面!”就好像进到加州的咖啡馆说“来一杯咖啡”一样,会被店主人当成外星人……
本题的任务是,请你写程序帮助一家牛肉面馆的老板统计一下,他们一天卖出各种品种的牛肉面有多少碗,营业额一共有多少。

输入格式:

输入第一行给出一个正整数 N(≤100),为牛肉面的种类数量。这里为了简单起见,我们把不同种类的牛肉面从 1 到 N 编号,以后就用编号代替牛肉面品种的名称。第二行给出 N 个价格,第 i 个价格对应第 i 种牛肉面一碗的单价。这里的价格是 [0.01, 200.00] 区间内的实数,以元为单位,精确到分。
随后是一天内客人买面的记录,每条记录占一行,格式为:

品种编号 碗数

其中碗数保证是正整数。当对应的品种编号0时,表示输入结束。这个记录不算在内。

输出格式:

首先输出 N 行,第 i 行输出第 i 种牛肉面卖出了多少碗。最后一行输出当天的总营业额,仍然是以元为单位,精确到分。题目保证总营业额不超过 106。

输入样例:

5 4.00 8.50 3.20 12.00 14.10 3 5 5 2 1 1 2 3 2 2 1 9 0 0

输出样例:

10 5 5 0 2 126.70

参考答案:

#include <stdio.h> struct Noodles{ double price; int count; }; int main (void) { int N; scanf("%d", &N); struct Noodles bow[N+5]; for(int i = 1; i <= N; i++){ scanf("%lf", &bow[i].price); bow[i].count = 0; } int id, cnt; while(scanf("%d %d", &id, &cnt) && id != 0){ bow[id].count += cnt; } double sum = 0; for(int i = 1; i <= N; i++){ sum += bow[i].count * bow[i].price; printf("%d\n", bow[i].count); } printf("%.2lf", sum); return 0; }

7-5 大整数加减法 三部曲之二:逐位相加并进位

分数 10

作者 丁展

单位 金陵科技学院

大整数加减法又被称为高精度整数加减法,该方法主要克服了计算机整数长度在硬件中的表示限制。大整数加减法通常使用字符串(或普通整数数组)表示整数。因为两个相加减的数长度可能不一致,所以大整数加减法的一种简单算法包括三个步骤:

  1. 高位补0对齐

  2. 字符串(或数组)逐位相加并进位

  3. 去除前导0

本题是三部曲的第二部:2. 逐位相加并进位

输入格式:

输入给出两行,每行包含一个不超过4000位的非负整数,两个非负整数长度一样。

输出格式:

输出两个整数相加的结果,如果有前导0需要保留。

输入样例1:

例如:

555555555555555 666666666666666

输出样例1:

输出:

1222222222222221

输入样例2:

0012345678901234567 0000000123456123456

输出样例2:

0012345802357358023

参考答案:

#include <stdio.h> int main (void) { char number1[10005], number2[10005], result[10005] = {0}; gets(number1); gets(number2); int len = strlen(number1); int carry = 0; for(int i = len - 1; i >= 0; i--){ int A = number1[i] - '0'; int B = number2[i] - '0'; int sum = A + B + carry; result[i+1] = (sum % 10) + '0'; carry = sum / 10; } if(carry != 0){ result[0] = '1'; printf("%s", result); }else{ printf("%s", result+1); } return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/8 13:56:45

yudao-cloud移动端开发终极指南:UniApp跨平台开发快速上手

在当今多终端融合的时代&#xff0c;企业面临着开发成本高、技术栈复杂、维护难度大的严峻挑战。yudao-cloud项目采用UniApp作为移动端解决方案&#xff0c;实现了"一次编码、多端发布"的革命性开发模式。本文将从实战角度出发&#xff0c;为您完整解析UniApp跨平台开…

作者头像 李华
网站建设 2026/7/5 21:27:14

【量子服务连接突破】:3步搞定VSCode远程调试配置

第一章&#xff1a;量子服务连接突破的背景与意义随着全球信息技术进入后摩尔时代&#xff0c;传统计算架构在处理复杂问题时逐渐逼近物理极限。在此背景下&#xff0c;量子计算凭借其叠加态与纠缠态的独特能力&#xff0c;展现出对特定任务指数级加速的潜力。然而&#xff0c;…

作者头像 李华
网站建设 2026/7/7 6:27:38

基于 MATLAB 实现 近红外光谱(NIRS)血液定量分析

基于 MATLAB 实现 近红外光谱&#xff08;NIRS&#xff09;血液定量分析 &#xff0c;结合 偏最小二乘法&#xff08;PLS&#xff09; 和 光谱预处理技术&#xff0c;涵盖数据导入、模型构建、优化与验证流程。 一、系统架构与流程 二、核心代码实现 1. 数据导入与预处理 % 读…

作者头像 李华
网站建设 2026/7/6 23:14:42

AMD平台Flash-Attention实战:从部署到调优的全方位指南

AMD平台Flash-Attention实战&#xff1a;从部署到调优的全方位指南 【免费下载链接】flash-attention Fast and memory-efficient exact attention 项目地址: https://gitcode.com/GitHub_Trending/fl/flash-attention 在大模型训练过程中&#xff0c;注意力机制的内存瓶…

作者头像 李华
网站建设 2026/7/6 5:03:27

Portainer CI/CD自动化部署终极指南:从零搭建完整流水线

Portainer CI/CD自动化部署终极指南&#xff1a;从零搭建完整流水线 【免费下载链接】portainer Portainer: 是一个开源的轻量级容器管理 UI&#xff0c;用于管理 Docker 和 Kubernetes 集群。它可以帮助用户轻松地部署、管理和监控容器&#xff0c;适合用于运维和开发团队。特…

作者头像 李华
网站建设 2026/7/8 11:13:50

Docker Compose日志不输出?90%的人都忽略了这个Agent配置细节

第一章&#xff1a;Docker Compose日志不输出&#xff1f;90%的人都忽略了这个Agent配置细节在使用 Docker Compose 部署多容器应用时&#xff0c;开发人员常遇到服务日志无法正常输出到控制台的问题。尽管容器运行状态正常&#xff0c;但执行 docker-compose logs 时却无任何输…

作者头像 李华