![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言基本操作
a千里快哉风
这个作者很懒,什么都没留下…
展开
-
快速排序
#include<iostream>using namespace std;void swap(int &a,int &b){ int temp=a; a=b; b=temp;}void QuickSort(int a[],int s,int e){ if(s>=e) return ; int k=a[s]; int i=s,j=e; w...原创 2020-02-13 20:58:01 · 91 阅读 · 0 评论 -
归并排序
#include<iostream>using namespace std;void Merge(int a[],int s,int m,int e,int temp[]){ int pb=0; int p1=s,p2=m+1; while(p1<=m&&p2<=e){ if(a[p1]<a[p2]){ temp[pb++]=a[p...原创 2020-02-13 20:24:50 · 109 阅读 · 0 评论 -
高精度除以低精度
#include<iostream>#include<cstring>#include<cstdio>using namespace std;int main(){ char a1[100]; int a[100],c[100],lena,x=0,lenc,b; memset(a,0,sizeof(a)); memset(c,0,sizeof(c...原创 2020-01-05 22:16:24 · 509 阅读 · 0 评论 -
高精度乘法
#include<iostream>#include<cstring>#include<cstdio>using namespace std;int main(){ char a1[101],b1[101]; int a[101],b[101],c[101],lena,lenb,lenc; memset(a,0,sizeof(a)); memse...原创 2020-01-05 21:39:48 · 138 阅读 · 0 评论 -
高精度减法
#include<iostream>#include<cstring>#include<cstdio>using namespace std;int main(){ int a[233],b[233],c[233],lena,lenb,lenc; char a1[233],b1[233]; memset(a,0,sizeof(a)); memse...原创 2020-01-05 21:29:51 · 196 阅读 · 0 评论 -
高精度加法
#include<iostream>#include<cstdio>#include<cstring>using namespace std;int main(){ char a1[100],b1[100]; int a[100],b[100],c[100],lena,lenb,lenc,x=0; memset(a,0,sizeof(a)); m...原创 2020-01-05 21:09:35 · 108 阅读 · 0 评论 -
高精度计算
高精度计算(1)数据接收和存储方法可采用字符串方式输入。(2)进位,借位处理加法进位:c[i]=a[i]+b[i];if(c[i]>=10){ c[i]%=10; ++c[i+1];}减法借位:if(a[i]<b[i]){ --a[i+1]; a[i]+=10;}c[i]=a[i]-b[i];乘法进位:c[i+j-1]=a[i]*b[j]+x+c[...原创 2020-01-05 20:55:20 · 320 阅读 · 0 评论 -
编程输出1000到2000间的所有素数(质数)。一个大于1的自然数,除了1和它本身外,不能被其他自然数整除。 输出格式要求:按从小到大顺序输出,每个输出数据占据一行。 输出样例: 1009 (注
编程输出1000到2000间的所有素数(质数)。一个大于1的自然数,除了1和它本身外,不能被其他自然数整除。输出格式要求:按从小到大顺序输出,每个输出数据占据一行。输出样例:1009 (注:运行时的输出)1013 ...原创 2020-01-04 14:30:07 · 7044 阅读 · 0 评论 -
第一天悟空吃掉桃子总数一半多一个,第二天又将剩下的桃子吃掉一半多一个,以后每天吃掉前一天剩下的一半多一个,到第n天准备吃的时候只剩下一个桃子。问:他第一天开始吃的时候桃子一共有多少个?(递归:倒序关系
第一天悟空吃掉桃子总数一半多一个,第二天又将剩下的桃子吃掉一半多一个,以后每天吃掉前一天剩下的一半多一个,到第n天准备吃的时候只剩下一个桃子。问:他第一天开始吃的时候桃子一共有多少个?(递归:倒序关系:f(n)= 2*f(n-1)+2)输入输出样例:3 (注:运行时的输入)10 (注:运行时的输出)#include <stdio.h>int f(int m){ if(m...原创 2020-01-04 14:29:29 · 1732 阅读 · 0 评论 -
最大公约数
#include<iostream>using namespace std;int gcd(int ,int );int main(){ int m,n; cin>>m>>n; cout<<"gcd="<<gcd(m,n)<<endl; return 0;}int gcd(int m,int n){ ret...原创 2020-01-04 14:28:53 · 134 阅读 · 0 评论 -
单链表操作
1.建立链表 #include<iostream>using namespace std;struct Node{ int date; Node *next;}; Node *head,*p,*r;int x;int main{ cin>>x; head=new Node; r=head; while(x!=-1){ p=new Node;...原创 2020-01-04 14:28:19 · 171 阅读 · 0 评论 -
进制转化 10进制转化为2进制,8进制,16进制
#include<iostream>#include<cstdlib>using namespace std;void turndate(int ,int );char ch[6]={'A','B','C','D','E','F'};int main(){ int n; cin>>n; turndate(n,2); turndate(n,8);...原创 2020-01-05 22:02:25 · 136 阅读 · 0 评论 -
冒泡排序 函数调用
#include<iostream>#include<ctime>#include<cstdlib>using namespace std;int main(){ void bubble(int[],int n); int a[100]; int n; cin>>n; srand((unsigned)time(NULL)); fo...原创 2020-01-03 22:09:45 · 3079 阅读 · 0 评论 -
字符串判等
#include<iostream>#include<cstdio>#include<cstring>using namespace std;const int N=256;char s1[N],s2[N],a[N],b[N];int l1,l2;int main(){ gets(s1); gets(s2); strlwr(s1); st...原创 2020-01-03 21:52:43 · 1262 阅读 · 0 评论 -
按字典序输出国家名
#include<iostream>#include<cstring>#include<cstdio>using namespace std;int main(){ char t[21]; char cname[11][21]; int n; cin>>n; for(int i=0;i<n;i++){ gets(cname...原创 2020-01-03 21:40:49 · 857 阅读 · 0 评论 -
过滤空格
#include<cstdio>#include<iostream>using namespace std;char s[20];int main(){ while(scanf("%s",s)==1){ printf("%s ",s); } return 0;}原创 2020-01-03 21:30:19 · 157 阅读 · 0 评论 -
约瑟夫环报数
#include<iostream>#include<cstring>#include<iomanip>using namespace std;int main(){ int a[100]; memset(a,0,sizeof(a)); int n,m; cin>>n>>m; int out=0,cnt1=0,cnt=0...原创 2020-01-03 21:22:56 · 139 阅读 · 0 评论 -
蛇形填数
#include<iostream>#include<cstring>#include<iomanip>using namespace std;int main(){ int a[101][101]; memset(a,0,sizeof(a)); int tot=1; int n; cin>>n; a[1][n]=tot; in...原创 2020-01-03 21:07:01 · 72 阅读 · 0 评论 -
判断是否回文数
#include<iostream>using namespace std;int main(){ char ch,letter[101]; int i=0,j=1; cin>>ch; while(ch!='.'){ i++; letter[i]=ch; cin>>ch; } while((j<i)&&(lett...原创 2020-01-03 19:47:14 · 127 阅读 · 0 评论 -
打印杨辉三角
#include<iostream>#include<iomanip>using namespace std;int main(){ int n; cin>>n; int a[101][101]={0}; a[1][1]=1; for(int i=2;i<=n;i++){ a[i][1]=1; a[i][i]=1; for(in...原创 2020-01-03 19:40:41 · 104 阅读 · 0 评论 -
筛法求100内素数
#include<iostream>#include<cmath>#include<cstring>#include<iomanip>using namespace std;const int n=100;bool prime[n+1];int main(){ memset(prime,1,sizeof(prime)); prime...原创 2020-01-03 19:29:53 · 141 阅读 · 0 评论 -
冒泡排序
#include<iostream>#include<ctime>#include<cstdlib>using namespace std;int main(){ int a[1000]={0}; int n; cin>>n; srand((unsigned)time(NULL)); for(int i=0;i<n;i++){...原创 2020-01-03 19:14:38 · 74 阅读 · 0 评论 -
把合数分解成质因数乘机形式
#include<iostream>using namespace std;int main(){ int n; cin>>n; int i=2; do{ while(n%i==0){ cout<<i; n/=i; if(n!=1) cout<<"*"; } i++; }while(n!=1); ...原创 2020-01-03 18:36:46 · 520 阅读 · 0 评论 -
Hanoi 问题
Hanoi 问题递推式a[n]=2*a[n-1]+1;原创 2019-12-31 02:13:30 · 162 阅读 · 0 评论 -
在所有的N位数中,有多少个数中有偶数个数字3(说明,0是偶数)?
在所有的N位数中,有多少个数中有偶数个数字3(说明,0是偶数)?【输入格式】 读入一个数N【输出格式】 输出有多少个数中有偶数个数字3。【输入样例】 2【输出样例】 73(由于 位数 比较大的情况下,导致输出数据可能越界,因此,输出个数 % 12345 的结果)【数据规模】 1<=N<=1000分析任何位的数中,根据3的个数不同,分为两类或者偶数位的3,或者包含 奇数位...原创 2019-12-31 02:05:05 · 9099 阅读 · 9 评论 -
昆虫繁殖科学家在热带森林中发现了一种特殊的昆虫,这种昆虫的繁殖能力很强。 每对成虫过x个月产y对卵,每对卵要过两个月长成成虫。 假设每个成虫不死,第一个月只有一对成虫,且卵长成成虫后的第一个月不产卵(
科学家在热带森林中发现了一种特殊的昆虫,这种昆虫的繁殖能力很强。每对成虫过x个月产y对卵,每对卵要过两个月长成成虫。假设每个成虫不死,第一个月只有一对成虫,且卵长成成虫后的第一个月不产卵(过X个月产卵).问过Z个月以后,共有成虫多少对?0=<X<=20,1<=Y<=20,X=<Z<=50【输入格式】 x,y,z的数值【输出格式】 过Z个月以后,共有成虫...原创 2019-12-31 01:53:33 · 6474 阅读 · 1 评论 -
有 2*n 的一个长方形方格,用一个1*2 的骨牌铺满方格 编写一个程序,试对给出的任意一个n(n>0), 输出铺法总数。
有 2n 的一个长方形方格,用一个12 的骨牌铺满方格编写一个程序,试对给出的任意一个n(n>0), 输出铺法总数。【算法分析】 (1)当n=1时,只能是一种铺法,铺法总数有示为x1=1。 (2)当n=2时:骨牌可以两个并列竖排,也可以并列横排,再无其他方法,如下左图所示,因此,铺法总数表示为x2=2;(3)n=34)推出一般规律:对一般的n,要求xn可以这样来考虑,若...原创 2019-12-31 01:37:47 · 3989 阅读 · 0 评论 -
斐波那契数列递推算法
斐波那契数列递推算法直接上代码#include<iostream>using namespace std;int main(){ int f0=1,f1=1,f2=1; int n; cin>>n; for(int i=3;i<=n;i++){ f2=f0+f1; f0=f1; f1=f2; } cout<<f2<&l...原创 2019-12-31 01:27:35 · 1814 阅读 · 0 评论 -
数塔,从顶部出发在每一个节点都只能走到相邻的节点,也就是只能向左或者向右走,一直走到底层,要求找出一条路径,使得路径上的数字之和最大。
如上图(图片来自网络)是一个数塔,从顶部出发在每一个节点都只能走到相邻的节点,也就是只能向左或者向右走,一直走到底层,要求找出一条路径,使得路径上的数字之和最大。【算法分析】此题的解法有多种,从递归的思想出发,设想,当从顶层沿沿着某条道路从第i层向第i+1层前进时,我们的选择一定是沿其下两条可行路径中最大数字的方向前进,为此,我们可以采用倒推的手法,设a[i][j] 存放从i,j出发到达n层的...原创 2019-12-31 01:23:05 · 4032 阅读 · 0 评论 -
近似计算pi的值
#include<iostream>using namespace std;int main(){ double sum=0; for(int i=0;;i++){ double term=1.0/(2*i+1); if(i%2==0) sum+=term; else sum-=term; if(term<1e-10) break; ...原创 2019-12-27 03:10:17 · 932 阅读 · 0 评论 -
打印杨辉三角
#include<iostream>#include<iomanip>using namespace std;int main(){ int a[11][11]; a[1][1]=1; for(int i=2;i<=10;i++){ a[i][1]=1; a[i][i]=1; for(int j=2;j<=i-1;j++){ a[i...原创 2019-12-27 02:39:29 · 83 阅读 · 0 评论 -
筛选100内素数
#include<iostream>#include<cmath>#include<cstring>#include<iomanip>using namespace std;const int n=100;bool prime[n+1];int main(){ memset(prime,1,sizeof(prime)); prime...原创 2019-12-27 02:30:23 · 170 阅读 · 0 评论 -
字符串函数
在编写程序的时候,经常需要对字符和字符串进行操作,如转换字符的大小写、求字符串长度等等,这些都可以使用字符函数和字符串函数来处理。C语言标准函数库为其提供了一系列处理函数。在编写函数的过程中,合理、有效地使用这些字符串函数,可以提高编程效率,同时也可以提高程序性能。这里介绍一些常用的字符串处理函数。一:strcpy()字符串复制函数。语法格式:strcpy(目的字符数组名,源字符数组名) ...原创 2019-12-12 19:42:10 · 718 阅读 · 0 评论 -
匹配字符串
题目内容:题目说起来很简单,你会读到两个字符串,每个字符串占据一行,每个字符串的长度均小于10000字符,而且第一个字符串的长度小于第二个字符串的。你的程序要找出第一个字符串在第二个字符串中出现的位置,输出这些位置`注意,第一个字符的位置是0。注意,第一个字符串在第二个字符串中的位置可能不止一处。注意,字符串中可能含有空格。注意,两个字符串的长度一定大于0。输入格式:两个字符串,一行...原创 2019-12-12 14:54:42 · 140 阅读 · 0 评论