![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
文章平均质量分 55
流年雪
青,取之于蓝而胜于蓝;
冰,水为之而寒于水。
展开
-
C语言多位数乘法
实现思想:乘法的部分积思想,也就是把手算的过程代码化而已。存储数据:因为PC最多支持64位整型存储,所以结果用数组以字符串形式保存。代码说明:理论上只要定义的数组长度足够大,可以运算任意位的乘法。#include <stdio.h>#define INPUT_BITLEN 50#define OUTPUT_BITLEN INPUT_BITLEN * 2#define ATOI(x) ((x) >= '0') ? ((x) - '0') : (0)#define ITOA.原创 2021-04-25 20:21:33 · 1145 阅读 · 0 评论 -
C语言单链表
/*main.c*/#include "link.h"STU* head = NULL;#include <stdio.h>int main(void){ unsigned char choose = 0; while (1) { printf("*********选择功能*********\n\r\ \r 1:打印信息\n\r 2:添加节点\n\r 3:删除所有\n\r 其他退出\n\r"); char ch = getchar(); switch (c原创 2020-12-26 16:03:03 · 94 阅读 · 0 评论 -
C语言求自守数(不用求平方)
#include <stdio.h>void fun(unsigned int min, unsigned int max){ for (unsigned int i = min; i <= max; i++) { unsigned int bit = 1,result = 0,j = 0,_bit = 0; for (unsigned int _i = i; _i /= 10; bit *= 10); //i=655--->bit=100 for (re原创 2020-11-20 13:57:40 · 526 阅读 · 0 评论 -
C语言求200000以内的自守数
/*自守数是指一个数的平方的尾数等于该数自身的自然数*//*如25*25=625 76*76=5776 9376*9376=87909376*/#include <stdio.h>int main(void){ for (unsigned int i = 1; i < 200000; i++) { unsigned long long square = (unsigned long long)i * i; unsigned int _i = i,cnt = 1;原创 2020-11-19 22:32:49 · 2633 阅读 · 0 评论 -
C++打印电脑实时时间
/*main.cpp*/#include "main.h"#include <time.h> //提供time()函数#include <iostream>#include <iomanip>using namespace std;int main(){ time_t time_get = 0,time_get1 = 0; TIME_S Time { }; //用来存放时间 while (1) { reset(time_get, Time原创 2020-11-19 10:15:28 · 714 阅读 · 0 评论 -
C语言实现分解质因数
#include <stdio.h>int main(void){ unsigned int input = 0, i = 2; printf("请输入要测试的数:\n"); scanf("%d", &input); printf("%d = ", input); while (i < input) { if (!(input % i)) { printf("%d", i); input /= i; printf("*"); c原创 2020-11-15 19:08:07 · 338 阅读 · 0 评论 -
C语言实现布斯乘法
布斯乘法(百度百科):对于 N 位乘数 Y,布斯算法检查其2的补码形式的最后一位和一个隐含的低位,命名为 y[i-1] ,初始值为 0 。对于 y[i], i = 0, 1, ..., N - 1,考察 y[i] 和 y[i - 1 ]。当这两位相同时,存放积的累加器 P 的值保持不变。当 y[i] = 0 且 y[i - 1] = 1 时,被乘数乘以 2^i 加到 P 中。当 y[i]= 1 且 y[i - 1] = 0 时,从 P 中减去被乘数乘以2^i 的值。算法结束后, P 中的数即为乘法原创 2020-11-12 10:39:42 · 514 阅读 · 0 评论 -
C语言实现无符号乘法
本算法采用的思想是部分积法,该算法的思想参照《计算机组成原理(Clements)》,该算法只能实现两个无符号数相乘,若要实现有符号数相乘,参考另一篇文章//两个N位的数相乘,其结果最多有2N位,所以乘数和被乘数用unsigned short int,结果用unsigned int;#include <stdio.h>//#define _CRT_SECURE_NO_WARNINGS scanf函数被VS认为不安全并报错,如果用VS编译请加上这句话//读者也可以使用scanf_s();函原创 2020-11-12 10:21:00 · 1662 阅读 · 0 评论 -
C/C++递归(自调函数)求n的阶乘
C版本#include <stdio.h>long long factorial(unsigned short int para);int main(void){ unsigned short int input = 0; printf("Input a number:\n\r"); scanf("%d", &input); printf("%d的阶乘是:%ld\n\r", factorial(input)); return 0;}long long fa原创 2020-11-10 17:41:30 · 545 阅读 · 0 评论 -
C语言统计整数的二进制中1的个数
C语言计算变量二进制中1的个数方法一#include <stdio.h>unsigned char func(unsigned char para){ int i = 0,num = 0; for(;i < 8;i++) { if(para & 0x80) num++; para <<= 1; } return num;}int main(void){ unsigned char input = 0; printf("请原创 2020-07-07 20:50:28 · 1283 阅读 · 0 评论