![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
TTong34
你陪你的清酒佳人,我过我的与世无争。
展开
-
C语言 写一个函数求两个数的较大值
代码:#include<stdio.h>int maximum(int a,int b){ return((a > b) ? a : b );}void main(){ int x, y,max; printf("请输入两个数:"); scanf("%d %d", &x, &y); max = maximum(x, y); printf("较大值 = %d", max);}运行结果示例:...原创 2020-10-30 12:54:09 · 3732 阅读 · 2 评论 -
C语言 关于文件操作
·我们可以使用文件将数据直接存放在电脑的硬盘上,从而做到数据的持久化。 ·磁盘上的文件是文件。 ·在程序设计中,文件从功能的角度来分类的有两种:1.程序文件 包括源程序文件(后缀为.c),目标文件(windows环境后缀为.obj),可执行程序(windows环境后缀为.exe)。 2.数据文件 文件的内容不一定是程序,而是程序运行时读写的数据,比如程序运行需要从中读取数据的文件,或者输出内容的文件。 ·文件类型根据数据的组织形式,数据文件被称为 文本文件 或 二进制文件..原创 2020-12-02 23:10:32 · 169 阅读 · 0 评论 -
C语言 关于动态内存管理
非动态开辟空间的方式有两个特点: 1. 空间开辟大小是固定的。 2. 数组在申明的时候,必须指定数组的长度,它所需要的内存在编译时分配。 但是对于空间的需求,不仅仅是上述的情况。有时候我们需要的空间大小在程序运行的时候才能知道,那数组的编 译时开辟空间的方式就不能满足了。 这时候就只能试试动态存开辟了。 动态内存函数的介绍 malloc和free C语言提供了一个动态内存开辟的函数: 这个函数向内存申请一块连续可用的空间,并返回指向这块空间的指针。 如果开辟成功,则返回一原创 2020-12-02 21:31:36 · 91 阅读 · 0 评论 -
C语言 找一个数组中只出现一次的数字
※要求:一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。编写一个函数找出这两个只出现一次的数字。具体代码如下:#include<stdio.h>int find(int ar[], int size){ for (int i = 0; i < size; ++i) { for (int j = size-1; j >=0; --j) { if (ar[i] == ar[j]&&i!=j) { break;原创 2020-11-29 20:57:56 · 1753 阅读 · 3 评论 -
C语言 关于自定义类型(结构体,枚举,联合)
※结构体结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。一、结构体的声明:struct tag{ member-list;}variable-list;•特殊的声明(不完全的声明):省略掉结构体标签(tag)。例://匿名结构体类型struct{ int a; char b; float c;}x;struct{ int a; char b; float c;}a[20],*p.原创 2020-11-26 20:50:46 · 190 阅读 · 0 评论 -
C语言 剖析数据在内存中的存储
一、类型的意义: 1. 使用这个类型开辟内存空间的大小(大小决定了使用范围)。 2. 如何看待内存空间的视角。二、类型的基本归类: 1.整形:>char(无符号范围:0~(2^8-1=255);有符号范围:-128~127) unsigned char signed char >short unsigned short [int] signed short [int] >int ...原创 2020-11-24 20:46:03 · 110 阅读 · 0 评论 -
C语言 关于字符函数和字符串函数
在C语言中经常会使用到字符和字符串,但其实C语言本身是没有字符串类型的,所以字符串通常被存放在常量字符串(字符串常量适用于那些对它不做修改的字符串函数)中或字符数组中。※字符串函数1.strlensize_t strlen(const char* str);·字符串以'\0' 作为结束标志,strlen函数返回的是在字符串中 '\0' 前面出现的字符个数(不包含 '\0' )。 ·参数指向的字符串必须要以 '\0' 结束。 ·函数的返回值为size_t,是无符号的。·模拟实现:.原创 2020-11-23 23:13:00 · 240 阅读 · 0 评论 -
C语言 打印杨辉三角
杨辉三角形是二项式系数在三角形中的一种几何排列。在我国南宋数学家杨辉所著的《详解九章算术》(1261年)一书中用如图的三角形解释二项和的乘方规律。例如,在杨辉三角中,第3行的三个数恰好对应着两数和的平方的展开式的每一项的系数,即(a+b)²;=a²+2ab+b²第4行的四个数恰好依次对应两数和的立方的展开式的每一项的系数即(a+b)³=a³+3a²b+3ab²+b³以此类推。简单来讲就是从第三行开始,除了两头的值均为1,其它数都等于其左上角的数加正上方的数之和的值。具体实现代码如原创 2020-11-22 23:10:40 · 297 阅读 · 0 评论 -
C语言 三子棋游戏
游戏人数:双人对奕游戏组件:棋盘------九宫格 棋子-----共九颗棋子,五颗“X”四颗“O”游戏规则:1每个选手选择一种属于自己的棋子,“X”或“O” 2每人每次出一颗棋子,“X”棋子先走,两种棋子交替着出棋 3一个正方形里只能放一颗棋子游戏目标:看谁先用自己的三颗棋子连成一条线(包括横线、竖线、对角线)具体代码如下:#include<stdio.h>#...原创 2020-11-21 23:34:49 · 196 阅读 · 0 评论 -
C语言 字符串左旋
具体代码如下:#include<stdio.h>#include<stdlib.h>#include<string.h>char anticlockwise(char* str,int step){ int len = strlen(str); if (step < len) { while (step) { char temp = *str; for (int i = 0; i < len - 1; ++i)原创 2020-11-18 23:35:34 · 191 阅读 · 0 评论 -
c语言 喝汽水问题
要求:喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以多少汽水(编程实现)。思路:先用2块买两瓶汽水,而这两瓶恰好可以换一瓶新的,再补1块买一瓶和新换的又能再换一瓶,以此类推则具体代码如下:#include<stdio.h>void main(){ int i,n,count=0; printf("请输入钱数:"); scanf("%d", &n); for (i = 1; i <= n; ++i) { count++; if (c原创 2020-11-13 23:22:13 · 391 阅读 · 0 评论 -
C语言 用递归函数实现字符串的逆序输出
具体代码如下:#include<stdio.h>char *reverse_string(char *string){ if (strlen(string) < 2) return string; int len = strlen(string) - 1; char ch = *string; *string = *(string + len); *(string + len) = '\0'; reverse_string(string + 1); *(str原创 2020-11-13 22:45:26 · 3212 阅读 · 0 评论 -
C语言 打印可自定义行列数的乘法口诀表函数
具体代码如下:#include<stdio.h>void mul_table(int n){ int i, j; for (i = 1; i <= n; ++i) { for (j = 1; j <= i; ++j) { printf("%d*%d=%d ", j, i, i*j); } printf("\n"); }}void main(){ int n; printf("想得到几几乘法表?请输入:"); scanf("%d"原创 2020-11-06 23:28:47 · 317 阅读 · 0 评论 -
C语言 利用函数来交换两个整数的内容
因为函数定义和调用时存在形参和实参的问题,而如果利用传值调用二者使用的并不是同一个地址空间,因此想要实现实质的交换应使用传址调用。具体代码如下:#include<stdio.h>void swap(int *a, int *b){ int temp; temp = *a; *a = *b; *b = temp;}void main(){ int x, y; printf("请输入两个值:"); scanf("%d %d", &x, &y);原创 2020-11-06 23:01:15 · 2570 阅读 · 0 评论 -
C语言 在整形有序数组中查找具体的某个数
具体代码如下:#include<stdio.h>void main(){ int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8 ,9,10}; int left = 0; int right = sizeof(arr)/sizeof(arr[0]) - 1; int mid; int key; printf("请输入1-10之间你要查找的数:"); scanf("%d", &key); while (left <= right)原创 2020-11-03 23:26:03 · 856 阅读 · 0 评论 -
C语言 猜数字游戏
代码如下:#include<stdio.h>#include<stdlib.h>#include<time.h>void menu(){ printf("-------------------------------\n"); printf("------------1.play-------------\n"); printf("------------0.exit-------------\n"); printf("--------------原创 2020-11-03 22:09:43 · 112 阅读 · 0 评论 -
C语言 求100~200之间的素数
具体代码如下:#include<stdio.h>int fun(int n){ for (int j = 2; j < n; ++j) if (n%j == 0) return 0; return 1;}void main(){ int i; printf("100~200之间的素数:"); for (i = 100; i <= 200; ++i) { if (fun(i)) printf("%d ", i); }}运行结原创 2020-11-01 19:37:12 · 1083 阅读 · 0 评论 -
C语言 将三个数按从大到小输出
解决此类问题主要要用到循环结构,并且引入冒泡排序的算法思想。具体代码如下:#include <stdio.h>int main(){ int ar[3],temp,i,j; printf("请输入3个数字:"); for (i = 0; i < 3; ++i) { scanf("%d", &ar[i]); } for (j = 0; j < 2; ++j) { for (i = 0; i < 2-j; ++i) if (ar[i原创 2020-11-01 18:23:24 · 1217 阅读 · 0 评论 -
C语言 求给定两个数中的最大公约数
具体代码如下:#include<stdio.h>int divisor(int a, int b) { int temp; if (a<b) { temp = a; a = b; b = temp; } while (b != 0) { temp = a%b; a = b; b = temp; } return (a); }void main(){ int原创 2020-11-01 19:00:03 · 199 阅读 · 0 评论