C语言程序设计现代方法第二版,第九章课后编程习题

2023-05-16

第一题

#include <stdio.h>
#include<string>

void selection_sort(int n, int a[]) 
{

	int i, j, max = a[0];

	for (i = 0; i < n; i++) 
	{
		if (max <= a[i]) 
		{
			max = a[i];
			j = i;
		}
	}
	a[j] = a[n - 1];
	a[n - 1] = max;
	n--;
	if (n == 0) 
		return;
	else
		selection_sort(n, a);
}
int main(void)
{
	int n;
	printf("How many numbers do you want to resevse? ");
	scanf("%d", &n);
	int a[99];
	printf("Enter the number you want: ");
	for (int i = 0; i < n; i++)
		scanf("%d", &a[i]);
	selection_sort(n, a);
	printf("In sorted order: ");
	for (int i = 0; i < n; i++) 
		printf("%d ", a[i]);
	system("pause");
	return 0;
}

第二题

#include <stdio.h>
#include<string>
float js(float income)
{
	float out;
		if (income < 750)
			out = 750 * 0.01;
		else if (income < 2250)
			out = (income - 750)*0.02 + 7.50;
		else if (income < 3750)
			out = (income - 2250)*0.03 + 37.50;
		else if (income < 5250)
			out = (income - 3750)*0.04 + 52.50;
		else if (income < 7000)
			out = (income - 7000)*0.05 + 142.50;
		else
			out = (income - 750)*0.06 + 230.0;
		return out;
}
int main(void)
{
	float income;
	printf("Enter your income:");
	scanf_s("%f", &income);
	printf("The outmoney is %.2f$", js(income));
	system("pause");
	return 0;
}

第三题

#include <stdio.h>
#include<string>
float js(float income)
{
	float out;
		if (income < 750)
			out = 750 * 0.01;
		else if (income < 2250)
			out = (income - 750)*0.02 + 7.50;
		else if (income < 3750)
			out = (income - 2250)*0.03 + 37.50;
		else if (income < 5250)
			out = (income - 3750)*0.04 + 52.50;
		else if (income < 7000)
			out = (income - 7000)*0.05 + 142.50;
		else
			out = (income - 750)*0.06 + 230.0;
		return out;
}
int main(void)
{
	float income;
	printf("Enter your income:");
	scanf_s("%f", &income);
	printf("The outmoney is %.2f$", js(income));
	system("pause");
	return 0;
}

第四题

#include <stdio.h>
#include<string>
#include <time.h>

void generate_random_walk(char walk[10][10])
{
	srand((unsigned)time(NULL));
	int n = 0, i, j, way, m = 1, h = 0;
	for ( i = 0; i < 10; i++)
	{
		for ( j = 0; j < 10; j++)
		{
			walk[i][j] = '.';
		}
	}
	walk[0][0] = 'A';
	i = 0; j = 0;
	for (; m < 26; m++)
	{
		while (n == 0)
		{
			way = rand() % 4;
			if (((i == 0) || (walk[i - 1][j] != '.')) && (way == 0))//0
				way = 1;
			else if (((j == 9) || (walk[i][j + 1] != '.')) && (way == 1))//1
				way = 2;
			else if (((i == 9) || (walk[i + 1][j] != '.')) && (way == 2))//2
				way = 3;
			else if (((j == 0) || (walk[i][j - 1] != '.')) && (way == 3))//3
				way = 0;
			else
				n = 1;
			h++;;
		}
		if (h > 4)
			break;
		n = 0;
		h = 0;
		switch (way)
		{
		case 0:walk[i - 1][j] = 'A' + m; i -= 1; break;
		case 1:walk[i][j + 1] = 'A' + m; j += 1; break;
		case 2:walk[i + 1][j] = 'A' + m; i += 1; break;
		case 3:walk[i][j - 1] = 'A' + m; j -= 1; break;
		default:break;
		}
	}
}

void printf_array(char walk[10][10])
{
	for (int i = 0; i < 10; i++)
	{
		for (int j = 0; j < 10; j++)
		{
			printf("%c ", walk[i][j]);
		}
		printf("\n");
	}
}

int main(void)
{
	char num[10][10];
	generate_random_walk(num);
	
	printf_array(num);
	system("pause");
	return 0;
}

第五题

#include <stdio.h>
#include<string>

void creat_magic_square(int n, int magic_square[99][99])
{
	int i = 0, j, m, ii, jj;
	j = n / 2;
	magic_square[i][j] = 1;
	for (m = 2; m <= (n*n); m++)
	{
		ii = i;
		jj = j;
		i = (i + n - 1) % n;
		j = (j + n + 1) % n;
		if (magic_square[i][j] == 0)
			magic_square[i][j] = m;
		else
		{
			i = (ii + n + 1) % n;
			j = jj;
			magic_square[i][j] = m;
		}
	}
}

void print_magic_square(int n, int magic_square[99][99])
{
	for (int i = 0; i < n; i++)
	{
		for (int j = 0; j < n; j++)
			printf("\t%d", magic_square[i][j]);
		printf("\n");
	}
}

int main(void)
{
	int n, i = 0, j, m, ii, jj, a[99][99] = { 0 };
	printf("Enter the siae oh magic square:");
	scanf("%d", &n);
	creat_magic_square(n, a);
	print_magic_square(n, a);
	system("pause");
	return 0;
}

第六题

#include <stdio.h>
#include<string>

int js(int x)
{
	int y;
	y = 3 * x*x*x*x*x + 2 * x*x*x*x - 5 * x*x*x - x*x + 7 * x - 6;
	return y;
}
int main(void)
{
	int x;
	printf("Enter x:");
	scanf("%d", &x);
	printf("The resule is %d\n", js(x));
	system("pause");
	return 0;
}

第七题

#include <stdio.h>
#include<string>


int power(int x, int n)
{
	if (n == 0) {
		return 1;
	}
	else if (n % 2 == 0 && n != 0) {
		return power(x, n / 2) * power(x, n / 2);
	}
	else if (n % 2 != 0) {
		return x * power(x, n - 1);
	}
}
int main(void)
{
	int x, n,a;
	printf("Enter x and n:");
	scanf("%d %d", &x, &n);
	printf("Result:%d\n", power(x, n));
	system("pause");
	return 0;
}

第八题

#include <stdio.h>
#include<string>
#include<time.h>

int roll_dice(void)
{
	int i, j;
	srand((unsigned)time(NULL));
	i = abs(rand() % 6 + 1);
	j = abs(rand() % 6 + 1);
	return i + j;
}
int play_game()
{	
	int i = roll_dice(),ii = 0;
	printf("You rolled : %d\n", i);
	if (i == 7 || i == 11)
		return 1;
	else if (i == 2 || i == 3 || i == 12)
		return 0;
	else
	{
		printf("You point is: %d\n", i);
		do{
			ii = roll_dice();
			printf("You rolled: %d\n", ii);
			if (ii == 7)
				return 0;
			else if (ii == i)
				return 1;
		} while (ii != 7 || ii != i);
	}
}
int main(void)
{
	int r,i = 0, j = 0,k ;
	char c;
	do {
		k = 0;
		r = play_game();
		if (r == 1)
		{
			i++;
			printf("You win!\n");
		}
		else
		{
			j++;
			printf("You lose!\n");
		}
		printf("PLay again?");
		c = getchar();
		getchar();
		if (c == 'y')
			k = 0;
		else if(c == 'n')
			k = 1;
	} while (k == 0);
	printf("Win: %d   Losses: %d\n", i, j);
	system("pause");
	return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C语言程序设计现代方法第二版,第九章课后编程习题 的相关文章

  • 兵器软件通用测试开发工具

  • 兵器软件通用测试开发方法-ETest_DEV

  • 兵器软件通用测试开发环境-ETest_DEV

  • WPS添加下划线,文字尾部不显示下划线问题解决(一个So stupid问题)

    记录一个傻瓜操作 嗯 更想删WPS了 一 问题如下 首先如图 选择wps中的下划线操作 理想中他应该是这样的 选中的内容应该在下划线中间 是吧 默认正常操作就应该这样 实际上它出来的效果是这样 文字后面选中的下划线消失了 软件自身的设置就没
  • 【记录】MPU6050原理快速入门(附手册)

    目录 MPU6050 MPU6050主要参数 MPU6050通信接口 MPU6050电路 向MPU6050的一个寄存器写一个字节的数据 从MPU6050的一个寄存器读一个字节的数据 MPU6050 MPU6050是一个运动处理传感器 xff
  • 【STM32】HAL库三步实现串口重定向(代码复制可用)

    目录 第一步 xff1a 添加标准输入输出头文件 第二步 xff1a 重写fputc 函数 第三步 xff1a 重写fgetc 函数 代码汇总 xff08 直接复制使用 xff09 需要直接来复制 在PC上进行C语言程序开发时 xff0c
  • c# Post请求实例

    server span class token comment 服务器 span span class token keyword using span span class token namespace System span span
  • STM32 串口通讯及实现

    目录 一 串口通讯概述1 广义的串口2 狭义的串口3 串口数据定义4 串口通讯应用 二 STM32串口工程标准库实现1 串口的初始化2 串口数据发送 3 串口的数据接收 一 串口通讯概述 1 广义的串口 广义的串口是针对并口来说的 串口是指
  • STM32串口接受和发送数据的程序(USART/UART)

    本实验中 STM32通过串口1和串口2上位机对话 xff0c STM32通过串口1在收到上位机发过来的字符串 以回车换行结束 后 xff0c 通过串口2原原本本的返回给上位机 串口 xff08 USART UART xff09 通信配置详解
  • CMakeLists.txt中第三方库编写思考

    编写ROS时经常需要自己构建第三方库或者引用别人的第三方库 xff0c 对于第三方库的调用主要有以下两种方式 xff1a 1 引用现成的第三方库 xff1a find package PCL 1 7 REQUIRED xff1a 添加依赖
  • vscode运行卡顿解决方案

    卡顿原因 主要是rg exe扩展程序占用CPU过高 xff0c 那么只需要禁用它即可 解决方案 打开 vs code xff0c 文件 gt 首选项 gt 设置 gt 搜索 search followSymlinks 取消勾选即可
  • 优象光流模块助力无人机之使用效果分享

    优象光流模块助力无人机之使用效果分享 我是一名无人机爱好者 xff0c 一直以来对无人机就有一种慕名的喜好 xff0c 只要有时间就会与队友们在实验室研究探讨 当然 xff0c 刚开始玩无人机悬停时会遇到种种问题 xff0c 例如飞机一开始
  • 如何使用光流芯片U30实现四轴无人机悬停

    如何使用光流芯片U30实现四轴无人机悬停 在没有GPS的环境下 xff0c 比如室内环境 xff0c 四轴无人机在水平方向会不断漂移 如何让无人机实现稳定的自主悬停呢 xff1f 光流芯片可以感知无人机在水平方向的运动信息 xff08 速度
  • (CMake) 库的生成和链接

    文章目录 前言前置准备当前项目的库静态库动态库 外部项目的库静态库动态库 库的总结总code函数add subdirectory 添加源文件目录add library 指定的源文件生成库target link libraries 为目标链接
  • vscode配置C++编译环境(windows环境下)

    vscode配置C 43 43 编译环境 xff08 windows环境下 xff09 记录下自己在vscode中配置C 43 43 编译环境的过程 xff0c 仅供参考 一 VSCODE MinGW编译器 cMake跨平台编译工具下载 1
  • STL标准库详解

    STL标准库 主要由容器 迭代器 算法组成 STL主要头文件 lt algorithm gt lt deque gt lt functional gt lt iterator gt lt vector gt lt list gt lt ma
  • Mask R-CNN详解(图文并茂)

    Mask R CNN Mask R CNN是一个实例分割 xff08 Instance segmentation xff09 算法 xff0c 主要是在目标检测的基础上再进行分割 Mask R CNN算法主要是Faster R CNN 43
  • python-roslaunch : 依赖: python-roslib 但是它将不会被安装

    在配置环境中将python配置删除类 xff0c 导致ROS系统的好多依赖都没了 安装配置ROS时遇到问题 xff1a 1 先按ROS WIKI上进行安装 xff0c 之后进行测试看是否安装上 2 测试代码 xff1a 第一个终端 xff1
  • pycharm函数调用关系可视化(Graphviz + pycallgraph画图)

    文章目录 介绍Graphviz 安装pycallgraph安装实践 介绍 一个 python project 中往往包含很多 py 文件 python文件中又会包含很多函数 xff0c 函数之间相互传参和调用 如果遇到代码行数很多的情况 x
  • Linux下的UDP通信

    socket 函数 函数说明 xff1a 建立新的socket通信 头文件 xff1a include lt sys socket h gt include lt sys types h gt 函数定义 xff1a int socket i

随机推荐

  • error: array type has incomplete element type ‘int[]‘

    项目场景 xff1a 数组作为函数的形参 问题描述 xff1a error array type has incomplete element type 39 int 39 原因分析 xff1a 多维数组做为函数参数时 xff0c 只可以省
  • 【stm32F1_GPIO初始化函数的参数含义】

    文章目录 前言一 LED 点灯实验二 疑问记录1 问题描述2 问题解决 总结 前言 之前学习过51 xff0c 现在转学32 xff0c 由于课题组需要 xff0c 我需要尽量短的时间内掌握stm32的用法以及Freertos的操作系统 从
  • 使用 curl 命令发送 POST 请求的几种方式

    使用 curl 命令发送 POST 请求的几种方式 HTTP 的 POST 请求通常是用于提交数据 xff0c 可以通过这篇文章来了解各种提交方式 xff1a 常见的 POST 提交数据方式 做 Web 后端开发时 xff0c 不可避免地要
  • Linux环境下GCC以及ELF的初步使用

    Linux环境下可执行程序的安装和GCC以及ELF的初步使用 xff0c 熟悉第三方函数库及游戏程序介绍 一 可执行程序的安装过程1 使用用gcc生成 a静态库与 so动态库文件2 静态库文件的使用3 动态库文件使用 二 gcc编译工具集中
  • 动态库和静态库

    前言 xff1a 库是已写好的 供使用的 可复用代码 xff0c 每个程序都要依赖很多基础的底层库 从本质上 xff0c 库是一种可执行代码的二进制形式 可以被操作系统载入内存执行 库分为两种 xff1a 静态库 xff08 a lib x
  • c++封装yolov4进行目标检测

    yolo4是用c 43 43 写的 xff0c 在工程中的部署特别方便 之前项目中使用yolov4 xff0c 取得了不错的效果 在这里记录一下 使用官方接口调用 xff0c 我们首先得编译darknet动态库 xff0c 下载yolov4
  • 【FPGA】FPGA实现UART串口通信回环

    目录 一 UART协议基础二 系统模块划分三 代码实现1 uart顶层设计模块2 uart rx串口数据接收模块3 control控制模块4 uart tx串口数据发送模块 四 仿真五 上板验证六 踩坑事项 一 UART协议基础 关于UAR
  • MessageFilter [target=odom ]: Dropped 95.28% of messages so far.Please turn the [ros.gmapping.messag

    由于树莓派自身运算能力不足 xff0c 稳定性较为欠缺 xff0c 一些功能复杂的功能包运行速度较慢 xff0c 在笔记本上能更快更好的完成相应任务 实验过程中 xff0c 可以利用分布式原理 xff0c 设置机器人工控机为从机 xff0c
  • ./a.out: error while loading shared libraries: libcjson.so.1: cannot open shared object file: No suc

    问题 用自己的库编写程序运行时报错 xff1a a out error while loading shared libraries libcjson so 1 cannot open shared object file No such
  • 20种vscode快捷键操作,助你高逼格高效率写代码

    一 代码格式 此快捷键可以缩进编辑器设置中已设置的代码 代码格式 提示 xff1a 在结尾或开头使用 笔者更倾向于在处理完文件中的代码后使用 在Windows系统 xff1a Shift键 43 Alt键 43 F键 在Mac系统 xff1
  • Jetson xavier Nx & jetson nano 上手 + 刷机

    本教程基于Jetson xavier Nx开发套件 本教程参考Nvidia官方刷机教程 制作启动盘 在官方下载中心下载SD卡镜像并解压 下载SD Memory Card Formatter 需要划到页面最下方 xff0c 点击 Accept
  • 2017阿里研发工程师C/C++实习生招聘笔试题

    1 做股票的人总会忍不住幻想 xff1a 如果知道明天怎样就好了 那么问题来了 xff0c 如果打开上帝视角 xff0c 你最好能做到怎样 xff1f 真实世界的股票交易规则太复杂 xff0c 我们这里做一些简化 首先我们假设有N个股票和M
  • http digest认证过程分析及例子

    验证过程 xff1a 步骤一 客户端向服务器申请数据 Request GET auth HTTP 1 1 r n Accept r n Host 192 168 1 15 r n Content Length 0 r n r n r n 步
  • 用IMU监测力量训练中的杠铃速度,帮助科学界和体育界评估杠杆运动学

    大家好 xff0c 惯师科技致力于分享IMU前沿科研资讯 xff0c 今天和大家分享一篇验证IMU xff08 惯性测量单元 xff09 自动获取卧推过程中杠铃速度的有效性和可靠性的论文 为验证基于IMU设备自动获取卧推运动过程中的杠铃速度
  • FPGA学习笔记(1)

    之前虽说有学习FPGA 主要是verilog xff0c 但真正的具体应用还是少 xff0c 基本是在修改师兄的代码 然后最近也一直在学习c和python xff0c 所以好久没看verilog了 本来真的不想再看的 xff0c 但工作也是
  • python pip使用

    python使用pip管理包十分详细 xff0c 这里记录常用的pip操作 xff08 windows xff09 1 查看pip版本 pip V 2 升级pip版本 方法一 xff1a pip install upgrade pip 方法
  • 华为2016笔试-扑克牌大小比较游戏 python接法

    这几天刷题 xff0c 发现该题没有python的程序 xff0c 正好在学python xff0c 尝试写了下 xff0c 没有用任何库 xff0c 写的不好 xff0c 有很多改进的地方 基于python3 7 扑克牌游戏大家应该都比较
  • C语言程序设计现代方法第四章课后习题

    第一题 include lt stdio h gt include int main void int a printf Enter a two digit number scanf s 34 d 34 amp a printf THE d
  • C语言程序设计现代方法第六章课后习题

    第一题 include lt stdio h gt include lt string gt int main void float a b 61 0 do printf 34 Enter a number 34 scanf s 34 f
  • C语言程序设计现代方法第二版,第九章课后编程习题

    第一题 include lt stdio h gt include lt string gt void selection sort int n int a int i j max 61 a 0 for i 61 0 i lt n i 43