Chapter06

6.3.1

(1)打印如下图案
在这里插入图片描述

#include <stdio.h>  int main() {int i, j;int n = 5; // 定义图案的行数  for (i = 1; i <= n; i++) {// 打印前导空格  for (j = 1; j <= n - i; j++) {printf(" ");}// 打印数字  for (j = 1; j <= i; j++) {printf("%d", i);}// 换行  printf("\n");}return 0;
}

(2)打印如下图案
在这里插入图片描述

#include <stdio.h>  int main() {int i, j;int n = 5; // 定义图案的行数  for ( i = 1; i <= n; i++){for ( j = 1; j <= i; j++){printf(" ");}for ( j = 1; j <= n - i; j++){fputc('A' + i - 1, stdout);}printf("\n");}return 0;
}

6.3.2

6.3.2.1

#include<stdio.h>
//猴子吃桃问题,采用回溯法
//采用回溯的思想,第十天有一个桃子,那么第九天桃子数量 = (1 + 1)* 2
//第八天的桃子数量 = (第九天的桃子数量 + 1) * 2 …依次类推int main() {int peaches = 1;  // 第10天早上剩下的桃子数  int days = 10;    // 总共的天数  // 从第10天逆向推算到第1天  for (int day = days; day > 1; day--) {// 每天的桃子数 = (当天剩下的桃子数 + 1) * 2  peaches = (peaches + 1) * 2;}printf("第一天共摘了 %d 个桃子。\n", peaches);return 0;
}

6.3.2.2

#include <stdio.h>  int main() {  int peaches = 1;  // 第10天剩余的桃子数  int day = 10;     // 从第10天开始逆向推算  // 逆向推算每天的桃子数量  for (; day > 1; day--) {  // 若是奇数天,则桃子数为(当天剩余的桃子数 + 1) * 2  // 若是偶数天,则桃子数为(当天剩余的桃子数 + 2) * 2  // 使用day % 2判断奇偶性,1表示奇数,0表示偶数  peaches = (peaches + (day % 2 == 0 ? 2 : 1)) * 2;  }  // 输出第一天摘的桃子数量  printf("第一天共摘了 %d 个桃子。\n", peaches);  return 0;  
}

6.3.3

#include <stdio.h>  
#include <math.h>  int main() {double grains = 1.0;       // 第一格的麦粒数  double totalGrains = 0.0;  // 总麦粒数  const int squares = 64;    // 棋盘上的格子数  const double grainsPerCubicMeter = 1.42e8; // 1立方米麦子的麦粒数  // 计算总麦粒数  for (int i = 1; i <= squares; i++) {totalGrains += grains;grains *= 2.0; // 每一格的麦粒数是前一格的两倍  }// 计算总麦粒数的立方米数  double cubicMeters = totalGrains / grainsPerCubicMeter;// 输出结果  printf("总麦粒数: %.0f\n", totalGrains);printf("总麦粒数的立方米数: %.2f\n", cubicMeters);return 0;
}

6.3.4

#include<stdio.h>
int CalculateSum(int a, int n);
int main() {int a, n;printf("请输入a,n:");scanf_s("%d %d", &a, &n);printf("sum = %d", CalculateSum(a, n));return 0;
}/// <summary>
/// 计算sum = a + aa + aaa + aa...aa(n个a)
/// </summary>
/// <param name="a">基数</param>
/// <param name="n">数量</param>
/// <returns>sum</returns>
int CalculateSum(int a, int n) {int sum = 0, item = 0;for (int i = 0; i < n; i++){item = item * 10 + a;//构造当前项sum += item;}return sum;}

6.3.5

#include <stdio.h>  
double calculate_fee(int minutes);int main() {int minutes;printf("请输入点歌时长(分钟):");scanf_s("%d", &minutes);double fee = calculate_fee(minutes);printf("点歌结束后的付费金额:%.2f元\n", fee);return 0;
}double calculate_fee(int minutes) {double fee = 0.0;const int initial_minutes = 10;const int two_hours = 120;const int six_hours = 360;const double initial_rate = 1.5;const double extended_rate = 1.0;// 处理前10分钟的费用  if (minutes > initial_minutes) {fee += initial_minutes * initial_rate;minutes -= initial_minutes;}else {fee += minutes * initial_rate;minutes = 0; // 如果没有超过10分钟,则剩余分钟数为0  }// 处理10分钟到2小时的费用  if (minutes > two_hours - initial_minutes) {fee += (two_hours - initial_minutes) * extended_rate;minutes -= (two_hours - initial_minutes);}else if (minutes > 0) {fee += minutes * extended_rate;minutes = 0; // 如果没有超过2小时,则剩余分钟数为0  }return fee;
}

6.4.1

#include<stdio.h>
int main() {int num;printf("请输入一个数字:");scanf_s("%d",&num);printf("满足条件的a, b, c如下:\n");for (int a = 0; a <= 9; a++){for (int b = 0; b <= 9; b++){for (int c = 0; c <= 9; c++){if (a * 100 + b * 10 + c + c * 100 + b * 10 + a == num){printf("a = %d, b = %d, c = %d\n", a, b, c);}}}}return 0;
}

6.4.2

#include<stdio.h>
int main() {int x, y, z;//设公鸡数量为x, 母鸡为y, 小鸡为z//则,3x + 2y + 1/3 * z = 100, 	x + y + z = 100for ( x = 0; x <= 100; x++){for ( y = 0; y <= 100; y++){for ( z = 0; z <= 100; z++){if (3 * x + 2 * y + 1 / 3 * z == 100 && x + y + z == 100) {printf("公鸡数量为:  %d,  母鸡数量为:  %d,  小鸡数量为:  %d\n", x, y, z);}}}}return 0;
}

6.4.3

#include<stdio.h>
#include<math.h>
int main() {int x, y;//由于x不可能超过2,y不可能超过2,故,挨个遍历x,y所有可能得取值即可for (x = 0; x < 3; x++){for (y = 0; y < 2; y++){if (5 * pow(x, 2) + 7 * pow(y, 2) == 23){printf("有整数解,解为:  %d\n", x);}}}printf("没有整数解\n");return 0;
}

6.4.4

#include <stdio.h>  
#include <stdbool.h>  
#include <stdlib.h>  bool isValidNumber(int num);int main() {for (int i = 123; i <= 987; i++) {if (isValidNumber(i)) {int j = 2 * i;if (j >= 123 && j <= 987 && isValidNumber(j)) {int k = 3 * i;if (k >= 123 && k <= 987 && isValidNumber(k)) {printf("%d, %d, %d\n", i, j, k);}}}}return 0;
}/// <summary>
/// 检查一个数字是否只包含1到9且不重复 
/// </summary>
/// <param name="num"></param>
/// <returns></returns>
bool isValidNumber(int num) {int digits[10] = { 0 };while (num > 0) {int digit = num % 10;if (digits[digit] > 0) {return false;}digits[digit]++;num /= 10;}return true;
}

6.4.5

#include<stdio.h>
int main() 
{char a, b, c;  //保存 a、b、c 的对手名单for (a = 'x'; a <= 'z'; a++) //枚举a对手的所有可能竞争对手{for (b = 'x'; b <= 'z'; b++) //枚举b对手的所有可能竞争对手{if (a != b)   //排除a和b与同一个人比赛{for (c = 'x'; c <= 'z'; c++)  //枚举c对手的所有可能竞争对手{if (c != a && c != b)   //排除c与a、b的对手相同{if (a != 'x' && c != 'x' && c != 'z') //a不和x比, c不和x,z比printf("a-%c b-%c c-%c\n", a, b, c);}}}}}return 0;}

6.4.6(头大)

#include <stdio.h>  
#include <string.h>  
#include <stdbool.h>  bool isAutomorphic(int num);int main() {for (int i = 2; i <= 1000; i++) {if (isAutomorphic(i)) {printf("%d ", i);}}printf("\n");return 0;
}/// <summary>
///检查一个数是否是其平方数的后缀 
/// </summary>
/// <param name="num"></param>
/// <returns></returns> 
bool isAutomorphic(int num) {char squareStr[50]; // 用于存储平方数的字符串表示  sprintf(squareStr, "%d", num * num); // 将平方数转换为字符串  char numStr[50];sprintf(numStr, "%d", num); // 将原数转换为字符串  int lenNum = strlen(numStr);int lenSquare = strlen(squareStr);// 检查numStr是否是squareStr的后缀  if (lenNum > lenSquare) {return false; // 如果原数比平方数还长,它不可能是后缀  }// 比较numStr和squareStr的最后lenNum个字符  return (strncmp(squareStr + lenSquare - lenNum, numStr, lenNum) == 0);
}

6.4.7

#include <stdio.h>  
#include <math.h>  int sumOfPowers(int num, int power);int main() {// 找出2位数的Armstrong数  printf("2位数的Armstrong数:\n");for (int num = 10; num < 100; num++) {if (num == sumOfPowers(num, 2)) {printf("%d ", num);}}printf("\n");// 找出3位数的Armstrong数  printf("3位数的Armstrong数:\n");for (int num = 100; num < 1000; num++) {if (num == sumOfPowers(num, 3)) {printf("%d ", num);}}printf("\n");// 找出4位数的Armstrong数  printf("4位数的Armstrong数:\n");for (int num = 1000; num < 10000; num++) {if (num == sumOfPowers(num, 4)) {printf("%d ", num);}}printf("\n");// 找出5位数的Armstrong数  printf("5位数的Armstrong数:\n");for (int num = 10000; num < 100000; num++) {if (num == sumOfPowers(num, 5)) {printf("%d ", num);}}printf("\n");return 0;
}/// <summary>
///计算一个整数的各位数字的n次幂之和  
/// </summary>
/// <param name="num"></param>
/// <param name="power"></param>
/// <returns></returns>
int sumOfPowers(int num, int power) {int sum = 0;int temp = num;while (temp > 0) {int digit = temp % 10;sum += pow(digit, power);temp /= 10;}return sum;
}

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

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

相关文章

永磁同步电机环路反步法(backstepping)控制

文章目录 1、反步控制原理1.1 李雅普诺夫稳定性定理1.2 严格反馈系统1.3 一般设计流程 2、永磁同步电机反步控制2.1 反步控制器设计2.2 反步控制仿真 参考 写在前面&#xff1a;本人能力、时间、技术有限&#xff0c;没有对一些细节进行深入研究和分析&#xff0c;也难免有不足…

【Canvas与艺术】古典绿墙象牙白框红棱六边形窗格

【成图】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>古典六边形窗格Draft1</title><style type"text/css&q…

YOLOv10改进策略【注意力机制篇】| CVPR2024 CAA上下文锚点注意力机制

一、本文介绍 本文记录的是基于CAA注意力模块的YOLOv10目标检测改进方法研究。在远程遥感图像或其他大尺度变化的图像中目标检测任务中&#xff0c;为准确提取其长距离上下文信息&#xff0c;需要解决大目标尺度变化和多样上下文信息时的不足的问题。CAA能够有效捕捉长距离依赖…

嵌入式 c 内存堆栈增长方向往低地址方向好处

如下是堆和栈内存空间使用方式有如下好处&#xff1a; 1、stack从高地址向低地址扩展&#xff0c;这样栈空间的起始位置就能确定下来&#xff1b;如果反向&#xff0c;则要考虑这个起点从哪里合适&#xff0c;要确定堆的大小。 2、可以共用中间部分区域空间&#xff0c;最大化…

高速电路中电源设计问题

DCDC芯片都有一个开关频率&#xff0c;选型的时候注意一点这个问题。 纹波&#xff1a;纹波是电源波动中的低频部分&#xff0c;一般处于5Mhz以内的频段&#xff0c;铲子来自MOS的开关动作。 噪声&#xff1a;噪声值电源波动的高频部分&#xff0c;一般高于5Mhz,成分比较复杂…

UE5运行时动态加载场景角色动画任意搭配-角色及动画(一)

通过《MMD模型及动作一键完美导入UE5》系列文章,我们可以把外部场景、角色、动画资产导入UE5,接下来我们将实现运行时动态加载这些资产,并任意组合搭配。 1、骨骼动画复用 1、大部分模型骨骼是不通用的,比如这些裙子也是有骨骼的,属于模型特有的,但是对于动画来说,很多…

OmniCorpus数据集:最大(百亿级别)多模态数据集

2024-06-12 &#xff0c;由上海人工智能实验室、哈尔滨工业大学、南京大学、复旦大学等联合创建OmniCorpus&#xff0c;一个达到百亿级别的图文交错数据集。它不仅规模空前&#xff0c;更以其多元化的数据来源和高质量的数据内容&#xff0c;为多模态大语言模型的研究提供了坚实…

Axure大屏可视化模板在多领域实践应用案例分析

Axure大屏可视化模板&#xff0c;凭借其强大的功能性和灵活性&#xff0c;在众多领域中发挥着举足轻重的作用。本文将详细探讨Axure大屏可视化模板在农业、园区管理、智慧城市、企业数据可视化和医疗领域的应用案例&#xff0c;展示其如何助力各行业实现智能化管理和决策优化。…

Mythical Beings:Web3游戏如何平衡创造内容、关注度与实现盈利的不可能三角

Web3游戏自其诞生以来&#xff0c;以去中心化和独特的代币经济体系迅速引起关注。然而&#xff0c;如何在创造内容、吸引用户和实现盈利之间达到平衡&#xff0c;始终是Web3游戏面临的核心挑战。Mythical Beings作为一款Web3卡牌游戏&#xff0c;通过创新设计和独特机制&#x…

【LeetCode: 1436. 旅行终点站 | 哈希表】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

面试题:Redis(一)

1. redis是单线程还是多线程&#xff1f; 2. IO多路复用听说过么&#xff1f; 3. Redis为什么快&#xff1f; 1. Redis是单线程还是多线程&#xff1f; 版本不同&#xff0c;Redis基于的架构也不同&#xff0c;所以单单问是单还是多线程并不严谨 3.x 之前 redis都是单线程 4.x …

微知-如何临时设置Linux系统时间?(date -s “2024-10-08 22:55:00“, time, hwclock, timedatectl)

背景 在tar解压包的时候经常出现时间不对&#xff0c;可以临时用date命令修改一下&#xff0c;也可以其他&#xff0c;本文主要介绍临时修改的方法 date命令修改 sudo date -s "2024-10-08 22:55:00"其他查看和修改的命令 本文只记录查看方式&#xff0c;修改的暂…

【java数据结构】ArrayList实例

【java数据结构】ArrayList实例 一、杨辉三角二、打扑克 一、杨辉三角 已知条件&#xff1a;给定行数的大小 思路&#xff1a;首先定义一个二维列表&#xff08;也可以称为集合&#xff09;&#xff0c;我们对每一列处理完&#xff0c;最后把每一列加起来&#xff0c;不就是完整…

某象异形滑块99%准确率方案

注意,本文只提供学习的思路,严禁违反法律以及破坏信息系统等行为,本文只提供思路 如有侵犯,请联系作者下架 该文章模型已经上线ocr识别网站,欢迎测试!!,地址:http://yxlocr.nat300.top/ocr/slider/6 所谓的顶象异形滑块,是指没有采用常规的缺口,使用各种形状的缺口…

国外电商系统开发-运维系统文件上传-高级上传

如果您要上传文件到10台服务器中&#xff0c;有3台服务器的路径不是一样的&#xff0c;那么在这种情况下您就可以使用本功能&#xff0c;单独执行不一样的路径 点击【高级】上传

仿真技术入门书籍:《模拟集成电路设计与仿真》(可下载)

无论是在通信、医疗、消费电子还是工业控制领域&#xff0c;模拟集成电路都是实现复杂电子系统功能的关键。在电子工程领域&#xff0c;模拟集成电路设计是一门深奥而复杂的学科。随着技术的发展&#xff0c;设计者们需要掌握的不仅是电路设计原理&#xff0c;还包括仿真技术的…

【C语言刷力扣】1436.旅行终点站

题目&#xff1a; 解题思路&#xff1a; 两层循环查找&#xff0c;第一次循环中初始化 destination 为 path中每次旅行的终点作为最终的终点。二次循环查找当前 destination &#xff0c;若是作为某次旅行的起点&#xff0c;说明不是最后的终点。 char* destCity(char ***paths…

Tomcat服务部署、优化及多实例实验

目录 一、Tomcat的基本介绍 1. tomcat是什么&#xff1f; 2.tomcat构成组件 2.1 web容器 2.2 servlet容器 2.3 jsp容器 3. tomcat的顶层架构 4.tomcat的核心功能 5.tomcat的请求过程 6.tomcat的配置文件 二、tomcat服务部署 1. 安装jdk、设置环境变量并测试 2.安装启动t…

Windows无需管理员权限,命令轻松修改IP和DNS

哈喽大家好&#xff0c;欢迎来到虚拟化时代君&#xff08;XNHCYL&#xff09;。 “ 大家好&#xff0c;我是虚拟化时代君&#xff0c;一位潜心于互联网的技术宅男。这里每天为你分享各种你感兴趣的技术、教程、软件、资源、福利…&#xff08;每天更新不间断&#xff0c;福利…

【数据分享】1901-2023年我国省市县三级逐月最高气温数据(免费获取/Shp/Excel格式)

之前我们分享过1901-2023年1km分辨率逐月最高气温栅格数据&#xff08;可查看之前的文章获悉详情&#xff09;&#xff0c;该数据来源于国家青藏高原科学数据中心&#xff0c;很多小伙伴拿到数据后反馈栅格数据不太方便使用&#xff0c;问我们能不能把数据处理为更方便使用的Sh…