学习
Mr.Wong-Yuan
这个作者很懒,什么都没留下…
展开
-
快速求幂算法
快速求幂原创 2022-03-24 14:46:55 · 92 阅读 · 0 评论 -
求出0~100000之间的所有“水仙花数”并输出。
求出0~100000之间的所有“水仙花数”并输出。“水仙花数”是指一个n位数,其各位数字的n次方之和确好等于该数本身,如 : 153=1 ^ 3+5 ^ 3+3 ^ 3,则153是一个“水仙花数”。int fun(int m, int n)// 计算m的n次方{ if (n != 0) return m * fun(m, n - 1); else { return 1; }}void main(){ int i = 0; for (i = 1; i<100000; i+原创 2020-08-21 22:22:36 · 676 阅读 · 0 评论 -
在屏幕打印菱形
在屏幕打印菱形上三角:先输出空格,后输出*,每行中空格:从上往下,一行减少一个*:2*i + 1的方式递增下三角:先输出空格,后输出*,每行中空格:从上往下,每行多一个空格*: 从上往下,按照2*(line - 1 - i) - 1的方式减少,其中:line表示总共有多少行int main(){ int line = 0; int i = 0; scanf("%d", &line);//7 //打印上半部分 for (i = 0; i < line; i++)原创 2020-08-21 22:13:59 · 165 阅读 · 0 评论 -
逆序一个字符串
逆序一个字符串方法一:for循环一个一个交换,借助临时变量 void reverse(char *a, int start, int end)//逆序{ int i, j; char tmp; for (i = start, j = end; i < j; i++, j--) { tmp = a[i]; a[i] = a[j]; a[j] = a[i]; }}方法二:使用指针void reverse_string(char *a,int n){ char *tm原创 2020-08-21 22:08:55 · 161 阅读 · 0 评论 -
杨氏矩阵中查找数
杨氏矩阵中查找数介绍:一组数从左向右递增,从上相下递增。方法:在矩阵中以右上角作为起点,则矩阵向左数据变小,向下数据变大,我们只需要控制横纵下标,便可以找到此数,int Find(int a[][3], int x, int y, int n){ int i = 0; int j = y - 1; while (i < x&&j >= 0) { if (n < a[i][j])//矩阵的数大于查找的数,我们向左找 j--;//列数减一 else原创 2020-08-21 21:58:30 · 125 阅读 · 0 评论 -
memmove模拟实现
memmove模拟实现根据以下措施进行实现,不足之处还望指出memmove的处理措施:(1)当源内存的首地址等于目标内存的首地址时,不进行任何拷贝(2)当源内存的首地址大于目标内存的首地址时,实行正向拷贝(3)当源内存的首地址小于目标内存的首地址时,实行反向拷贝void * my_memmove(void * dest, const void * src, size_t count){ char * ret =(char *) dest; char *dest_t = (char *)d原创 2020-08-21 21:45:13 · 106 阅读 · 0 评论 -
模拟实现atoi
模拟实现atoiatoi的规则:跳过不可见字符,碰到负号或者数字开始转换,转换到非数字字符为止。#define INT_MAX 0x7fffffff//int 最大的正数#define INT_MIN 0x80000000//int 最小的负数#include<ctype.h>#include<stdio.h>#include<stdlib.h>enum State//表示字符串是否正常{ invalid,//0, 无效 valid //1,有原创 2020-08-21 21:42:15 · 137 阅读 · 0 评论 -
寻找单身狗数
寻找单身狗数方法一:异或求单身狗原理:相同两数异或为0把所有数全部异或。异或的结果找1出现的位置的,然后将所有这个位置为1的数相异或,就是第一个“单身狗”,其他的相异或则是第二个。void FindDog(int * arr, int n, int * num){ int i = 0; int res = 0; int pos = 0; for (i = 0; i < n; ++i) { res ^= arr[i];//所有数异或 } for (i = 0; i <原创 2020-08-21 21:15:25 · 275 阅读 · 0 评论 -
猜数字游戏
void menu() { printf("******************************\n"); printf("*** 1.play 0.exit ****\n"); printf("******************************\n");}void game(){ int guess = 0; int ret = rand()%100+1; //printf("%d", ret); while (1) { printf("请原创 2020-07-26 16:41:13 · 80 阅读 · 0 评论 -
9*9乘法表
int main(){ int i = 0; for (i = 1; i <= 9; i++) { int j = 0; for (j = 1;j <= i; j++) { printf("%d*%d=%-2d\t", i, j, i*j); } printf("\n"); } return 0;}原创 2020-07-26 16:27:30 · 121 阅读 · 0 评论 -
100-200的素数求解
#include<stdio.h>#include<math.h>int main(){ int i = 101; int count = 0; while (i<= 200) { int j = 2; while (j <= sqrt(i)) { if (i%j == 0) { break; } j++; if (j > sqrt(i)) { printf("%d\n", i);原创 2020-07-24 21:49:13 · 100 阅读 · 0 评论