c/c++
c基础
何处望天明CS
这个作者很懒,什么都没留下…
展开
-
用筛选法求100以内的的素数
用筛选法求100以内的的素数1.算法介绍 筛选法是指埃拉托色尼(Eratosthenes)筛选,埃拉托色尼是古希腊的著名数学家。他采取的方法是,先写下1到1000的全部整数,然后逐个判断它们是否素数,找出一个非素数,就把它挖掉,最后剩下的就是素数。2.算法流程 1.先挖掉1; 2.用下一个未被挖掉的数p除p后面各数,把p的倍数挖掉; 3.检查p是否小于根号n的整数部分(如果n=100...原创 2020-02-20 11:42:59 · 2907 阅读 · 0 评论 -
用选择法实现10个整数排序(c语言编程)
用选择法实现10个整数从大到小排序,采取函数调用方式,从小到大排序只需稍加修改。1.c语言源代码#include<stdio.h>int main(){ void sort(int x[],int n); //sort函数声明 int i,*p,a[10]; //定义数组,...原创 2020-01-05 14:16:40 · 13127 阅读 · 0 评论 -
C++中的rand函数与srand函数
rand函数函数原型:int rand(void);所需头文件:cstdlib功能和返回值:求出并返回一个伪随机数srand函数函数原型:void srand(unsigned int seed);参数:seed产生随机数的种子所需头文件:cstdlib功能:为使rand()产生一序列伪随机整数而设置起始点。使用1作为seed参数,可以重新初化rand()。举例:投骰子的随机游戏每个骰子有六面,点数分别为1、2、3、4、5、6。游戏者在程序开始时输入一个无符号整数,作为产生随机数的种子。原创 2020-06-03 13:33:14 · 1124 阅读 · 0 评论 -
连续存储数组的部分算法(c语言)
构建一个动态数组,对数组进行元素的插入,删除,排序等操作。#include <stdio.h>#include <malloc.h>#include <stdlib.h> //包含exit函数 #include <stdbool.h> struct Arr{ int * pBase; //存储的是数组第一个元素的地址 i...原创 2020-03-22 11:03:20 · 200 阅读 · 0 评论 -
一个简单的学生管理系统(C语言)
功能:手动输入学生个数,然后录入各项数据后,排序后按分数由小到大输出数据。#include <stdio.h>#include <malloc.h>struct Student{ char name[20]; int num; float score;};int main(void){ void input(struct Student *p, i...原创 2020-03-15 16:32:47 · 682 阅读 · 0 评论 -
动态数组构建与动态内存分配
一、静态数组的缺点1.静态数组的长度必须事先指定,且数组长度只能是长整数,不能是变量。2.给静态数组分配的内存无法手动释放,直到程序运行完毕,数组占用的内存空间才会被系统释放。3.数组长度一旦固定,其长度就不能再更改。4.静态数组不能跨函数调用二、动态内存分配为什么需要动态内存分配?因为通过动态内存分配构建动态数组很好的解决了静态数组的4个缺点。对内存的动态内存分配主要是通过系统提...原创 2020-03-11 17:23:31 · 675 阅读 · 0 评论 -
“冒泡法排序”
冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上...原创 2020-03-03 16:01:59 · 199 阅读 · 0 评论 -
判断一个数是不是“素数”
方法一#include <stdio.h>#include <math.h>int main(){ int n, i, k, flag = 0; printf("please input a integer: "); scanf("%d", &n); k = sqrt(n);// k = n/2; for (i = 2; i <= k...原创 2020-02-29 21:08:24 · 123 阅读 · 0 评论 -
枚举类型
所谓枚举,就是把可能的值一一列出来口袋中有五种颜色的球若干,每次从口袋先后取出3个,问得到3种不同颜色的球的可能取法,输出每种排列情况#include <stdio.h>int main(){ enum Color {red,yellow,blue,white,black}; //声明枚举类型enum Color enum Color i, j, k, pri; ...原创 2020-02-27 18:42:25 · 127 阅读 · 0 评论 -
建立动态链表
写一个函数建立一个有3名学生数据的单向动态链表,输出第一个成员值。#include <stdio.h>#include <stdlib.h>#define LEN sizeof(struct Student) //LEN代表结构体类型的长度,用sizeof求出 struct Student ...原创 2020-02-26 22:12:14 · 631 阅读 · 0 评论 -
最大公约数和最小公倍数
方法1#include <stdio.h>int main(){ int gcd(int, int); int mcm(int, int, int); int u, v, h, l; printf("please input two numbers: "); scanf("%d,%d", &u, &v); h = gcd(u, v); pr...原创 2020-02-25 15:56:17 · 158 阅读 · 0 评论 -
杨辉三角
1.什么是杨辉三角 杨辉三角,是二项式系数在三角形中的一种几何排列,中国南宋数学家杨辉1261年所著的《详解九章算法》一书中出现。在欧洲,帕斯卡(1623----1662)在1654年发现这一规律,所以这个表又叫做帕斯卡三角形。帕斯卡的发现比杨辉要迟393年,比贾宪迟600年。 杨辉三角是(a+b)^n^展开后各项的系数。2.代码(c语言)#include <stdio.h>...原创 2020-02-23 11:58:55 · 328 阅读 · 0 评论 -
水仙花数
定义所谓“水仙花数”,是指一个3位数,其各数字立方和等于该数本身。例如: 153=13+53+33代码#include <stdio.h>int main(){ int n, i, j, k,a; printf("parcissus number are:\n"); for (n = 100; n < 1000; n++) { i = n / 100...原创 2020-02-21 10:36:35 · 235 阅读 · 0 评论 -
“完数”
1.完数的定义一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如: 6 = 1 + 2 + 3, 6是“完数”。2.方法一#include <stdio.h>int main(){ int m, s, i; for (m = 2; m < 1000; m++) { s = 0; for (i = 1; i < m; i++) { ...原创 2020-02-21 10:17:11 · 11403 阅读 · 1 评论 -
数组插入一个数后保持顺序
数组插入一个数后保持排序不变2.代码(C语言)#include <stdio.h>int main(){ int a[11] = {1,4,6,9,13,16,19,28,40,100}; //定义一个排好序的数组,值为a[0]到a[9] int temp1, temp2, number, end, i, j; printf("array ...原创 2020-02-21 09:35:50 · 1551 阅读 · 0 评论