C语言
K_A_Irving
这个作者很懒,什么都没留下…
展开
-
C 写一个宏输出两个数中较大的数
1.程序代码#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <Windows.h>#define MAX(a, b) ((a) > (b) ? (a) : (b))int main(){ int x = 0; int y = 0; printf("...原创 2018-04-09 17:29:01 · 1277 阅读 · 0 评论 -
C 有关数组的计算
sizeof()和strlen()有关数组的计算注意: 1.数组名单独放在sizeof()内部,数组名表示整个数组,所以sizeof(数组名)计算的是整个数组的大小 2.&数组名,数组名表示整个数组,取出的是整个数组的地址; 3.除此之外,所有的数组名都是首元素的地址。sizeof(c):计算c占几个字节; strlen(arr):计算字符串长度,直至’\0’结束,’\0’...原创 2018-03-28 19:49:05 · 282 阅读 · 0 评论 -
C 对浮点数的比较
1.程序代码include <stdio.h>#define EXP 0.0000000001int main(){ double i = 20.0; double j = i / 7.0; if (((j*7-i) > -EXP) &&((j*7-i) < EXP)) {...原创 2018-04-12 16:00:31 · 250 阅读 · 0 评论 -
C 斐波那契数列
1.题目递归和非递归分别实现求第n个斐波那契数。2.程序代码#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <windows.h>int fib_num2(int num)//用递归实现求第n个斐波那契数列{ if (num <= 2) { ...原创 2018-04-24 17:58:48 · 618 阅读 · 0 评论 -
C 求n^k
1.题目编写一个函数实现n^k,使用递归实现2.程序代码#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <Windows.h>int my_pow(int radix, int index)//用递归求出n^k{ if (index == 1) { ...原创 2018-04-24 18:13:35 · 424 阅读 · 0 评论 -
C 小游戏——扫雷(拓展版)
1.程序代码//game.h#define _CRT_SECURE_NO_WARNINGS 1#ifndef _GAME_H__#define _GAME_H__#include <stdio.h>#include <Windows.h>#include <stdlib.h>#include <time.h>#defin...原创 2018-04-03 23:19:08 · 652 阅读 · 0 评论 -
C 小游戏——扫雷
1.程序代码//game.h头文件#define _CRT_SECURE_NO_WARNINGS 1#ifndef _GAME_H__#define _GAME_H__#include <stdio.h>#include <Windows.h>#include <stdlib.h>#include <time.h>#de...原创 2018-04-03 21:23:54 · 207 阅读 · 0 评论 -
C 实现一个函数判断一个数是不是素数
1.程序设计#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <windows.h>int judge_num(int n)//定义函数 判断一个数是否为素数{ int i = 0;//定义参数 控制循环 for (i = 2; i < n; i++) ...原创 2018-03-27 14:12:18 · 3576 阅读 · 0 评论 -
C 实现一个函数打印乘法口诀表 行数和列数自己指定
1.程序代码#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <Windows.h>int clc_disp(int n)//定义函数 执行输出乘法口诀表{ int i = 0; int j = 0;//定义两个参数 控制循环 for (i = 1; i &l...原创 2018-03-27 14:46:55 · 287 阅读 · 0 评论 -
C 二维矩阵查找数字
1.题目//杨氏矩阵 有一个二维数组. 数组的每行从左到右是递增的,每列从上到下是递增的. 在这样的数组中查找一个数字是否存在。 时间复杂度小于O(N); 2.程序代码#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <windows.h>int find_n...原创 2018-04-15 00:13:20 · 383 阅读 · 0 评论 -
C 创建一个数组 实现函数init()初始化数组 empty()清空数组 reverse()逆置数组元素
1.程序代码#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <Windows.h>void menu()//定义函数 输出菜单{ printf("**********************\n"); printf("******1.逆置数组******\n"); ...原创 2018-03-27 20:09:45 · 255 阅读 · 0 评论 -
C 交换一个数的奇偶数位
1.题目定义一个宏,交换一个数字二进制形式下的奇偶数位2.程序代码#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <Windows.h>#define CHANGE(x) (((x & (0x55555555)) << 1)|((x & (0xAAAAA...原创 2018-04-10 14:15:26 · 432 阅读 · 0 评论 -
C 写一个函数使字符串向左移指定个位
1.题目实现一个函数,可以左旋字符串中的k个字符。 ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB 2.程序代码方法一:#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <Windows.h>void left_move(char arr[7], ...原创 2018-04-15 20:52:13 · 2025 阅读 · 0 评论 -
C 关于%d %f的一些特殊用法
1.程序代码#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <Windows.h>int main(){ int i = 5; int j = 10; int k = 8; float a = 10.5; printf("[%*d]\n", ...原创 2018-04-10 15:04:18 · 952 阅读 · 0 评论 -
C 判断一个字符串是否由另一个字符串旋转得到
1.题目判断一个字符串是否为另外一个字符串旋转之后的字符串。 例如:给定s1 = AABCD和s2 = BCDAA,返回1,给定s1=abcd和s2=ACBD,返回0. 2.程序代码方法一:#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <Windows.h>#inclu...原创 2018-04-15 22:40:08 · 280 阅读 · 0 评论 -
C 返回组成这个数字的数字之和
1.题目写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和,例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是192.程序代码#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <Windows.h>int DigitSum(int...原创 2018-04-25 17:02:36 · 263 阅读 · 0 评论 -
C 函数的调用过程(栈帧)
以该程序为例:#include <stdio.h>int Add(int x, int y){ int z = 0; z = x + y; return z;}int main(){ int a = 10; int b = 20; int ret = 0; ret = Add(a, b); prin...原创 2018-04-21 22:11:11 · 199 阅读 · 0 评论 -
C 模拟printf函数(可变参数)
1.题目模拟实现printf函数,可完成下面的功能: 能完成下面函数的调用 print(“s ccc d.\n”,”hello”,’b’,’i’,’t’,100); 函数原型: print(char *format, …)2.程序代码#define _CRT_SECURE_NO_WARNIGS 1#include <stdio.h>#include <...原创 2018-04-28 21:54:46 · 279 阅读 · 0 评论 -
C 找数组中没用重复出现的两个数
1.题目一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。 找出这两个数字,编程实现。2.程序代码#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <windows.h>void find_num(const int arr[10]){ int i = 0;...原创 2018-04-28 22:02:18 · 445 阅读 · 0 评论 -
C 喝汽水问题
1.题目喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以多少汽水。编程实现。2.程序代码#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <Windows.h>int count_num(int money)//实现计算汽水个数的函数{ int i = 0;...原创 2018-04-29 13:48:29 · 447 阅读 · 0 评论 -
C 整数计算器(用main函数的参数实现)
1.题目使用main函数的参数,实现一个整数计算器,程序可以接受三个参数,第一个参数“-a”选项执行加法,“-s”选项执行减法,“-m”选项执行乘法,“-d”选项执行除法,后面两个参数为操作数。 2.程序代码#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <Windows.h>#...原创 2018-04-29 16:08:12 · 330 阅读 · 0 评论 -
C 对指针数组、数组指针 和 函数指针、函数指针数组、指向函数指针数组的指针的理解
0.指针和数组的定义与声明(说明指针和数组是不一样的)①//text.cchar arr[] = "abcdef"; //在text.c文件中定义数组//main.certern char *arr; // 调用其他源文件中的参数时要用erternint main(){ printf("%s\n", arr); return 0;}执行后程序崩溃;t...原创 2018-05-07 17:06:18 · 367 阅读 · 0 评论 -
C 冒泡排序(字符串)
1.题目写冒泡排序可以排序多个字符串。 2.程序代码#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <Windows.h>#include <string.h> void bubble_sort(char *str[], int len){ int i ...原创 2018-04-29 19:52:08 · 992 阅读 · 0 评论 -
C 蛇形数组
1.题目例如: 2.程序代码void print_arr(int arr2[N][N])//打印数组{ int i, j; for (i = 0; i < N; i++) { for (j = 0; j < N; j++) { printf("%2d ", arr2[i][j]); ...原创 2018-05-15 22:12:44 · 567 阅读 · 0 评论 -
C 有关结构体的一些知识
结构体类型的创建结构是一些值的集合,这些值称为成员变量,结构的每个成员可以是不同类型的变量。例如描述一个学生: 1.声明类型的同时对结构体变量进行定义struct Stu{ char name[20]; int age; char sex[5]; char id[20];}stu;2.先声明结构体类型,再对变量进行定义struct St...原创 2018-05-26 15:57:41 · 481 阅读 · 0 评论 -
C 打印日历
1.题目给出指定的年和月 打出所对应的日历2.程序代码已知一个基准天,2000.1.1是星期六,总体思路,要先求出所求年份的1.1是星期几,再求出所求月份的1号是星期几,之后再考虑闰年和平年的问题,还有每个月天数的问题,所以创建一个全局的二维数组,分别存放闰年和平年的每个月所对应的天数,为了让1月能与数组中的months[][1]对应起来,所以再前面加上一个元素0;打印日历时,应注意前...原创 2018-05-23 00:13:29 · 726 阅读 · 0 评论 -
C 模拟实现一些常用的函数
1.题目实现memmove2.程序代码memmove用于从ori拷贝count个字节到obj,如果目标区域和源区域有重叠的话,memmove能够保证源串在被覆盖之前将重叠区域的字节拷贝到目标区域中。但复制后ori内容会被更改。但是当目标区域与源区域没有重叠则和memcpy函数功能相同。 若为这种情况obj比ori小,应采取从前向后赋值,若采取从后向前赋值,6和5会把3 4消除,没...原创 2018-05-06 16:57:30 · 357 阅读 · 0 评论 -
C 反转字符串中的字符
1.题目编写一个函数reverse_string(char * string)(递归实现) 实现:将参数字符串中的字符反向排列。 要求:不能使用C函数库中的字符串操作函数。2.程序代码#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <Windows.h>#include &l...原创 2018-04-26 16:40:25 · 685 阅读 · 0 评论 -
C 求字符串长度
1.题目递归和非递归分别实现strlen2.程序代码#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <Windows.h>int my_strlen1(char *string)//非递归方式求字符串长度{ int count = 0; while (*(s...原创 2018-04-26 16:52:41 · 355 阅读 · 0 评论 -
C 求n的阶乘
1.题目递归和非递归分别实现求n的阶乘2.程序代码#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <Windows.h>int factorial1(int num)//非递归方式求n的阶乘{ int i = 0; int count = 1; fo...原创 2018-04-26 17:09:11 · 402 阅读 · 0 评论 -
C 八皇后问题
1.题目八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。 高斯认为有76种方案。1854年在柏林的象棋杂志上不同的作者发表了40种不同的解,后来有人用图论的方法解出92种结果。计算机发明后,有多种计算机语言可以...原创 2018-05-17 23:01:07 · 386 阅读 · 0 评论 -
C 打印一个整数的每一位
1.题目递归方式实现打印一个整数的每一位2.程序代码#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <Windows.h>void print_int(int num)//{ if (num < 10) { printf("%d ", n...原创 2018-04-27 14:22:16 · 376 阅读 · 0 评论 -
C 求函数参数的平均值
1.题目使用可变参数,实现函数,求函数参数的平均值。2.程序代码#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <windows.h>#include <stdarg.h>int average(int n, ...){ va_list arg;//...原创 2018-04-27 15:16:29 · 1539 阅读 · 0 评论 -
C 求函数参数最大值
1.题目使用可变参数,实现函数,求函数参数的最大值2.程序代码#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <Windows.h>#include <stdarg.h>int Max(int n, ...){ va_list arg; int...原创 2018-04-27 16:42:05 · 1362 阅读 · 0 评论 -
C 通讯录
要求通讯录可以用来存储1000个人的信息,每个人的信息包括: 姓名、性别、年龄、电话、住址 提供方法: 1. 添加联系人信息 2. 删除指定联系人信息 3. 查找指定联系人信息 4. 修改指定联系人信息 5. 显示所有联系人信息 6. 清空所有联系人 7. 以名字排序所有联系人 程序代码根据所提出的要求可先创建一个结构体来存放联系人的具体信息,为了构...原创 2018-06-05 20:57:30 · 340 阅读 · 0 评论 -
C 交换数组中的元素
1.题目有一个字符数组的内容为:”student a am i”,请你将数组的内容改为”i am a student”. 要求:不能使用库函数。只能开辟有限个空间(空间个数和字符串的长度无关)。2.程序代码#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <Windows.h>...原创 2018-04-09 17:11:10 · 873 阅读 · 1 评论 -
C 交换两个数值
1.程序代码1)#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>int main(){ int a=10 , b=20 , c; c = a; a = b; b = c; printf("%d,%d\n",a,b); system("pause"); return 0;}2)#define _CRT_SECURE_NO_WARNING...原创 2018-03-17 16:45:18 · 191 阅读 · 0 评论 -
C 输出100-200之间的素数
1.程序代码#include <stdio.h>int main(){ int i, n, count; for (n = 101 ; n <= 200 ; n++) { count = 0; for (i = 2 ; i < n ; i++) { if (n%i == 0) count++; } if (count == 0) printf("%d...原创 2018-03-14 15:15:10 · 414 阅读 · 0 评论 -
C 输出乘法口诀表
1.程序代码#include<stdio.h>int main(){ int i, j; for (i = 1 ; i <= 9 ; i++) { for (j = 1 ; j <= i ; j++) { printf("%d*%d=%d\t", j, i, j*i); } printf("\n"); } system("pause"); return 0;}2...原创 2018-03-14 15:19:20 · 184 阅读 · 0 评论 -
C 输出1000-2000之间的闰年
1.程序代码#include<stdio.h>int main(){ int year; for (year = 1000 ; year <= 2000 ; year++) { if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) printf("%d\t", year); } syste...原创 2018-03-14 15:24:50 · 391 阅读 · 0 评论