广工 AnyviewC C语言习题 第七章

2023-05-16

Anyview 第七章


/**********

【习题7.010】写一函数求3个整数中最小的数。

**********/

int min(int x, int y, int z)
/* 返回3个整数x,y和z中最小的数 */
{
	int min=x;
	if (y<min)
	{
		min=y;
	}
	if (z<min)
	{
		min=z;
	}
	return min;
}

/**********

【习题7.020】编写函数,求用1元、5元和10元三种纸币

支付n元钱共有多少种支付法?
例如,16元可有6种支付方法:
方法 1 2 3 4 5 6
10元 0 0 0 0 1 1
5元 0 1 2 3 0 1
1元 16 11 6 1 6 1
**********/

int change(int n)
{
	int m=0;
	int x=1,i,y=5,j,z=10,k;
	for (i=0;i<=n;i++)
	{
		for (j=0;j<=n;j++)
		{
			for (k=0;k<=n;k++)
			{
				if (i*x+j*y+k*z == n)
				m++;
			}
		}
	}
		return m;
}

int change(int n)
{
	int i,j,k,t=0;
	for (i=0;i<n/10;i++)
	{
		k=(n-i*10)/5;
		for (j=0;j<=k;j++)
		{
		t++;
		}
	}
	return t;
}

/**********

【习题7.030】先编写一个判断素数的函数。再编写一个函数

将一个偶数表示为两个素数之和,并返回其中较小的素数。
注:素数指只能被1和自身整除的正整数。规定0,1不是素数。
**********/

int prime(int n) 
/* 判断素数,如果是素数返回1,不是素数则返回0 */
{
		int flag=1,i;
	for (i=2;i<n;i++)
	{
		if (n%i==0)
		{
			flag=0;

			return flag;
		}
	}

	return flag;
}

int f(int i)   
/* 将偶数i表示为两个素数之和,返回其中较小的素数*/
{
		int max=0,min=0,j,k;
	for (j=1;j<i;j++)
	{
		for (k=1;k<i;k++)
		{
			if (prime(j) && prime(k) && j+k==i)
			{
				if (j<k)
				{
					min=j;
					max=k;
					if (min>1)
					return min;
				}
			
			}
		}
	}
	return min;
}

/**********

【习题7.050】编写函数,将字符串中ASCII码最小的字符

放在第一个字符位置,其余字符依次往后移。
**********/

void func(char *str)
/* 将字符串str中ASCII码最小的字符放在第一个 */
/* 字符位置,其余字符依次往后移。           */
{
		int i,t=0;
	char min=str[0];
	int l=strlen(str);
	for (i=0;i<l;i++)
	{
		if(str[i]<min)
		{
			min=str[i];
			t=i;
		}
	}
	if (t)
	for (i=t-1;i>=0;i--)
	{
		str[i+1]=str[i];
	}
	str[0]=min;
}

/**********

【习题7.060】编写函数将一个nxn的二维数组按“次对角线”翻转。

例如:翻转前的数组 翻转后的数组
1 2 3 9 6 3
4 5 6 —> 8 5 2
7 8 9 7 4 1
**********/

void invert(char a[N][N])
{
	int i,j,k;
	for (i=0;i<N;i++)
	{
		for (j=0;j<N-i;j++)
		{
			k=a[i][j];
			a[i][j]=a[N-1-j][N-1-i];
			a[N-1-j][N-1-i]=k;
		}
	}
}

/**********

【习题7.064】编写函数将一个NxN的二维数组“水平”翻转。

例如:翻转前的数组 翻转后的数组
1 2 3 7 8 9
4 5 6 —> 4 5 6
7 8 9 1 2 3
**********/

void invertH(char a[N][N])
{
	int i, j;
	char t[N];
	for (i = 0; i < N / 2; i++)
	{
		for (j = 0; j < N; j++)
		{
			t[j] = a[i][j];
			a[i][j] = a[N - 1 - i][j];
			a[N - 1 - i][j] = t[j];
		}
	}
}

/**********

【习题7.065】编写函数将一个NxN的二维数组“垂直”翻转。

例如:翻转前的数组 翻转后的数组
1 2 3 3 2 1
4 5 6 —> 6 5 4
7 8 9 9 8 7
**********/

void invertV(char a[N][N])
{
	int i, j;
	char t;
	for (i = 0; i < N; i++)
	{
		for (j = 0; j < N / 2; j++)
		{
			t = a[i][j];
			a[i][j] = a[i][N - 1 - j];
			a[i][N - 1 - j] = t;
		}
	}
}

/**********

【习题7.067】编写函数将一个NxN的二维数组的周边元素

“顺时针”轮转1位。
例如:轮转前的数组 轮转后的数组
1 2 3 4 1 2
4 5 6 —> 7 5 3
7 8 9 8 9 6
**********/

void turningClockwise(char a[N][N])
{
	t1 = a[0][N - 1];
	t2 = a[N/2][0];
	t3 = a[N/2][N - 1];
	t4 = a[N-1][0];
	for (i = N-1; i >0; i--)
	{
		a[0][i] = a[0][i-1];
	}
	for (i = 1; i < N ; i++)
	{
		a[N-1][i-1] = a[N-1][i];
	}
	a[0][0] = t2;
	a[1][N - 1] = t1;
	a[N - 1][N - 1] = t3;
	a[N / 2][0] = t4;
}

void turningClockwise(char a[N][N])
{
	int i;
	int float=1;
	int t=a[0][N-1];
	for (i=N;i>0;i--)
		a[0][i]=a[0][i-1];
	for (i=0;i<N;i++)
		a[i][0]=a[N-1][i+1];
	for (i=N-1;i>0;i--)
		a[i][N-1]=a[i-1][N-1];
	a[1][N-1]=t;
}

/**********

【习题7.068】编写函数将一个NxN的二维数组的

周边元素“逆时针”轮转1位。
例如:轮转前的数组 轮转后的数组
1 2 3 2 3 6
4 5 6 —> 1 5 9
7 8 9 4 7 8
**********/

void turningAnticlockwise(char a[N][N])
{
	 int i, j;
    char t1,t2,t3,t4;
    t1 = a[0][0];
    t2 = a[N/2][0];
    t3 = a[N/2][N - 1];
    t4 = a[N-1][N-1];
    for (i = 0; i <N-1; i++)
    {
        a[0][i] = a[0][i+1];
    }
    for (i = N-1; i >0 ; i--)
    {
        a[N-1][i] = a[N-1][i-1];
    }
    a[0][N-1] = t3;
    a[N/2][0] = t1;
    a[N/2][N - 1] = t4;
    a[N -1][0] = t2;
}

/**********

【习题7.072】编写函数将一个NxN的二维数组a的元素

按行向右轮转1位。
例如:轮转前的数组 轮转后的数组
1 2 3 3 1 2
4 5 6 —> 6 4 5
7 8 9 9 7 8
**********/

void turningRight(char a[N][N])
{

}

/**********

【习题7.075】编写函数将一个NxN的二维数组a的元素

按行向左轮转1位。
例如:轮转前的数组 轮转后的数组
1 2 3 2 3 1
4 5 6 —> 5 6 4
7 8 9 8 9 7
**********/

void turningLeft(char a[N][N])
{

}

/**********

【习题7.082】编写函数将一个NxN的二维数组a的元素

按列向下轮转1位。
例如:轮转前的数组 轮转后的数组
1 2 3 7 8 9
4 5 6 —> 1 2 3
7 8 9 4 5 6
**********/

void turningDown(char a[N][N])
{

}

/**********

【习题7.085】编写函数将一个NxN的二维数组a的元素

按列向上轮转1位。
例如:轮转前的数组 轮转后的数组
1 2 3 4 5 6
4 5 6 —> 7 8 9
7 8 9 1 2 3
**********/

void turningUp(char a[N][N])
{

}

/**********

【习题7.103】编写函数,求整数m和n的最大公约数,

并作为函数的返回值。
**********/

int gdc(int m, int n)
{

}

/**********

【习题7.105】 编写函数,求整数m和n的最小公倍数,

并作为函数的返回值。
**********/

int lcm(int m, int n)
{

}
#include <stdio.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int prime(int n) 
/* 判断素数,如果是素数返回1,不是素数则返回0 */
{
	int flag=1,i;
	for (i=2;i<n;i++)
	{
		if (n%i==0)
		{
			flag=0;
			printf("prime=%d\n",flag);
			return flag;
		}
	}
	printf("prime=%d\n",flag);
	return flag;
}

int f(int i)   
/* 将偶数i表示为两个素数之和,返回其中较小的素数*/
{
	int max=0,min=0,j,k;
	for (j=1,k=1;j<i,j<k;j++,k++)
	{
		if (prime(j) && prime(k) && j+k==i)
		{
			min=j;
			max=k;
		}
		
	}
	printf("f=%d %d\n",min,max);
	return min;
}

int main(int argc, char *argv[]) {
	int a,b,c;
	scanf("%d",&c);
	if (c%2==0)
	{
		f(c);
	}
	prime(c);
	return 0;
}

未完待续……

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

广工 AnyviewC C语言习题 第七章 的相关文章

  • sudo启动的程序找不到动态库文件

    sudo启动的程序找不到动态库文件 在 bashrc中添加的LD LIBRARY PATH xff0c 并sudo ldconfig后 xff0c sudo启动的程序还是找不到依赖库 原因分析 sudo启动的程序不会用到bashrc中的配置
  • Pycharm显示cannot find declaration to go to,设置子目录为根目录

    Pycharm显示cannot find declartion to go to xff0c 设置子目录为根目录 使用Pycharm用ctrl跳转函数时显示cannot find declaration to go to 原因可能有很多 x
  • pycharm 2021.2.2 版本之前试用期过了怎么办

    pycharm 2021 2 2 版本之前试用期过了怎么办 虽然 jetbrains 的产品是商业收费 xff0c 而且价格不菲 xff0c 但官方还是为免费使用留下的空间 xff0c 实在良心 收费版可以免费试用30天 xff0c 问题是
  • layabox Native 自己下载资源并缓存

    我们在开发中 xff0c 不管是打的网络版还是本地版 xff0c 或多或少都有可能加载一些网络上的资源 xff0c 并且这些资源不想用dcc方式 xff0c 毕竟现在苹果对热更新管得比较严 xff0c 那如果不用dcc方式 xff0c 我们
  • Flutter 浅析之 自定义view 六 CircleProgressBar

    技术无止境 xff0c 只怕不学习啊 xff0c Flutter 我们开始吧 CircleProgressBar原型进度条 自定义view结合动画来完成进度条效果 CustomPainter 先来想想使用canvas的哪个方法来完成绘制 首
  • RoboMaster机甲大师:裁判系统服务器搭建(完全版)

    RoboMaster机甲大师 xff1a 裁判系统服务器搭建 xff08 完全版 xff09 更新 2022 03 28更新 2022 03 23前言准备搭建步骤MySQL安装配置环境组建局域网路由器端 Router 服务器端 Server
  • HTTP 请求方法 GET/POST/PUT/DELETE

    Web HTTP基础知识 HTTP请求是什么 xff1f HTTP超文本传输协议 xff0c 是确保服务器 xff08 Server xff09 和客户端 xff08 Client xff09 之间的正确通信 一个请求和响应的过程 xff1
  • kalibr标定工具使用方法

    1 首先在docker中安装ubuntu14 04 在16 04编译不过 xff0c 不知道为什么 xff0e 2 安装kalibr ros包 xff0e 3 下载官方提供的验证数据 xff0e 4 我们先标定相机 xff0c 使用的数据为
  • C语言、C++ 和 C# 三者的区别

    按时间顺序说一说这三门语言的基本吧 xff0c 这样比较一下儿就能知道他们的区别了 一 xff1a xff23 语言 xff23 语言诞生得非常早 xff0c 当时人们普遍还习惯用汇编语言编写软件 xff0c 而且没有什么统一 xff0c
  • requests的代理使用

    import requests from lxml import etree headers 61 39 User Agent 39 39 Mozilla 5 0 Macintosh Intel Mac OS X 10 15 7 Apple
  • HiMPP SAMPLE_VENC分析

    mpp中的例程 每一个例程面向一个典型应用 xff0c common是通用性主体函数 xff0c 我们只分析vencvenc中的main调用venc中的功能函数 xff0c 再调用common中的功能函数 xff0c 再调用mpp中的API
  • H264数据格式解析

    什么是H 264 H264 是 MPEG 4 标准所定义的最新编码格式 xff0c 同时也是技术含量最高 代表最新技术水平的视频编码格式之一 xff0c 标准写法应该是H 264H264 视频格式是经过有损压缩的 xff0c 但在技术上尽可
  • ISP和IQ调试

    什么是ISP isp image signal process 图像信号处理 xff0c 这是技术image signal processor 图像信号处理器 这是设备本质 xff1a 通过数字运算来修补前端采集的不理想数据 xff0c 尽
  • cortex-m3中寄存器

    简介 Cortex M3 是一个 32 位处理器内核 内部的数据路径是 32 位的 xff0c 寄存器是 32 位的 xff0c 存储器接 口也是 32 位的 CM3 采用了哈佛结构 xff0c 拥有独立的指令总线和数据总线 xff0c 可
  • RGBD-SLAM(一)——深度摄像机

    工欲善其事必先利其器 我们先从能够获取RGBD数据的相机开始谈起 首先我们来看一看其分类 一 根据其工作原理主要分为三类 xff1a 1 双目方案 xff1a xff08 1 xff09 原理 xff1a http blog csdn ne
  • 软件执行的流程

    什么是编译原理 代码执行分为2个部分 compilers 编译器 1 将代码编译成可执行文件 xff0c 汇编代码或者字节码 xff0c MDK就是一个编译器interpreters 解释器 1 执行编译器生成的可执行文件 xff0c mc
  • 编译器过程概述

    Lexical Analysis xff08 词法分析 xff09 词法分析的目的是将程序文本划分为单词 xff0c 或者我们在编译器中所说的 xff0c 标记利用程序文本中的空格 xff0c 分号等符号来识别程序文本 Parsing xf
  • 编程语言的一些答疑

    为什么会有这么多中编程语言 因为需求是多种多样的 xff0c 为一种语言实现所有需求是非常困难的 为什么会有新的编程语言 实现一个新的编译器并不困难 xff0c 几个人就可以了 xff0c 大型的编译器可能也就十几个人 xff0c 真正的成
  • 【串口系列】不定长接收多种方式

    目录 背景 声明 开发环境 正文 一 接收中断 43 空闲中断 二 接收中断 43 T35定时器中断 T35定时器 三 空闲中断 43 DMA 43 循环队列 背景 在单片机开发过程中 xff0c 串口通讯是一种非常常用的串行通通讯方式 x
  • 迭代器学习笔记

    本文是学习 STL源码剖析 时的学习笔记 1 迭代器是一种smart pointer 迭代器是一种类 xff0c 其包装了原生指针 xff0c 并重载了operator operator gt operator 61 operator 43

随机推荐

  • linux中gdb调试出现buffer overflow detected,program terminated with signal SIGABRT Aborted

    strcpy str1 str2 或memcpy p1 p2 size 极易出错 一定要确保str1 p1已经申请缓存 xff0c 且缓存空间充足 本次出错地方为 xff1a linux下文件地址较长 xff0c str1只申请了40个字节
  • Git系列一:Git安装 git gui here和git bash here的区别

    Git简介 xff1a Git 的工作就是创建和保存你的项目的快照及与之后的快照进行对比 说白了就是代码版本的控制系统 据个人实测 xff0c 在写论文的时候 xff0c 会有很多论文备份 xff0c 很不方便 xff0c Git对Word
  • VirtualBox虚拟机配置ssh与宿主机互通,实现文件传输

    在virtualbox中安装好Ubuntu16 04之后 xff0c 由于virtualbox与主机之间的文件拖放总是失败 已经安装好了增强功能 xff0c 双向复制 xff0c 文件拖放功能 xff0c 但还是出现问题 xff0c 因此搭
  • catkin_make编译报错:/usr/bin/ld: 找不到 -lxxx

    Linux下编译程序的时候 xff0c 出现 usr bin ld cannot find lxxx的错误 xff0c 主要的原因是找不到相应的动态库 xff0c 库文件没有导入到ld检索目录中 比如找不到 xff1a usr bin ld
  • Altium designer的工程文件都被改成SolidWorks2022了,且无法修改默认的启动程序的解决办法:

    安装soildworks2022后就发现电脑里的PCB工程文件除了 xx PcbDoc 默认打开方式是AD xff0c 其他的默认打开方式都是SoildWorks 而且右键更改属性里的默认打开方式也无法解决问题 解决办法 xff1a 需要修
  • printf输出bool值 | printf转换符

    bool类型是当整形输出的 bool c 61 false printf 34 d n 34 c 1 xff0e 转换说明符 a A 浮点数 十六进制数字和p P 记数法 C99 c 字符 d 有符号十进制整数 f 浮点数 包括float和
  • Cmake升级 更新 Ubuntu16.04 + ROS

    重要提示 千万不要卸载 Ubuntu原有的cmake xff0c 否则之前经过原有cmake编译过的文件将也会被删除 xff0c 比如 ros 千万不要使用下面这句命令删除原有的 cmake xff01 xff01 xff01 xff01
  • Ubuntu下扫描同一局域网的其他设备IP

    1 安装arp scan sudo apt get install arp scan 2 使用ifconfig查看本机IP地址 xff0c 一般有线在interface en0 eth0 无线在wlan0上 ifconfig 箭头中所指是我
  • C/C++基础 C语言预编译宏__LINE__、__FILE__、__DATE__、__TIME__、__FUNCTION__

    ANSIC标准定义了以下6种可供C语言使用的预定义宏 xff1a LINE 在源代码中插入当前源代码行号 FILE 在源代码中插入当前源代码文件名 DATE 在源代码中插入当前编译日期 注意和当前系统日期区别开来 TIME 在源代码中插入当
  • linux下每次git clone不需输入账号密码的方法

    有的仓库有很多的子模块 submodule 当clone的时候每个子模块都会让输入一次账户密码 xff0c 不胜其烦 xff0c 解决方法如下 xff1a 在 下 xff0c touch创建文件 git credentials 用vim编辑
  • Ubuntu创建新用户的两种方法

    组里的服务器是Ubuntu系统 xff0c 跑实验的话需要远程访问 xff0c 这样的话需要在服务器上创建一个自己的账户 xff0c 本文记录一下在Ubuntu系统下创建新用户的过程 xff08 服务器的远程访问一般通过ssh来实现 xff
  • Ubuntu中gnome-terminal的使用

    基本使用 gnome terminal命令用于打开一个新的终端 xff0c 直接在命令行就可以打开一个新的终端 gnome terminal 打开后自动最大化 gnome terminal maximize 打开后全屏 gnome term
  • 【计算机基础】字节序

    字节序 计算机最小的存储单位是 位 xff08 Bit xff09 xff0c 但是 xff0c 计算机中最基本的存储单位是字节 xff08 Byte xff09 1 Byte 61 8 Bit 计算机在存储大于1字节的数据时 xff0c
  • 内存中堆和栈的区别

    在说堆和栈之前 xff0c 我们先说一下JVM xff08 虚拟机 xff09 内存的划分 xff1a Java程序在运行时都要开辟空间 xff0c 任何软件在运行时都要在内存中开辟空间 xff0c Java虚拟机运行时也是要开辟空间的 J
  • 1.5 万字 + 40 张图解 HTTP 常见面试题(值得收藏)

    作者 xff1a 小林coding 图解计算机基础网站 xff1a https xiaolincoding com 大家好 xff0c 我是小林 xff0c 我最开始写的第一篇图解文章就是这篇 xff1a 那时候我也就不到 100 读者 x
  • libcurl第七课 multipart/formdata表单使用

    场景 multipart form data是浏览器用表单上传文件的方式 最常见的情境是 xff1a 在写邮件时 xff0c 向邮件后添加附件 xff0c 附件通常使用表单添加 xff0c 也就是用multipart form data格式
  • 【测绘专用】中海达全站仪数据导入南方CASS

    先从全站仪导入数据到电脑 xff08 我是用U盘的 xff09 xff0c 然后打开数据文件后是这个样子 上图并不是导出后原先的数据格式 导出文件后 xff0c 它的数据格式实际上不是上面这样的 xff0c 要经过处理后才行 从中海达下载数
  • 广工 AnyviewC 数据结构习题 第二章

    广工 AnyviewC 数据结构习题 第二章 广工 AnyviewC 数据结构习题 第二章Anyview 数据结构 第二章1 题目 试写一算法 xff0c 实现顺序栈的判空操作2 题目 试写一算法 xff0c 实现顺序栈的取栈顶元素操作3
  • 广工 AnyviewC C语言习题 第六章

    Anyview 第六章 6 022 n是系统给定的外部变量 编写程序 xff0c 求1到n间的 自然数之和 请定义局部变量s存放求和的结果 xff0c 并用下 列语句输出结果 span class token function printf
  • 广工 AnyviewC C语言习题 第七章

    Anyview 第七章 习题7 010 写一函数求3个整数中最小的数 span class token keyword int span span class token function min span span class token