c/c++
acm算法题和算法知识
jor笛声
这个作者很懒,什么都没留下…
展开
-
c语言 讲小写字母转换成大写
#include<iostream>using namespace std;int main(){ char a; //定义char型的变量 scanf("%c",&a); //键盘读入char型的小写字母 a=a-32; //让char型变量 - 数字32 printf("%c",a); //输出新的char型变量就得到大写的字母 return 0;}...原创 2020-08-23 07:39:48 · 13149 阅读 · 0 评论 -
C语言实验——从大到小输出a、b、c
#include <stdio.h>int main(){ int a,b,c,t; //定义中间变量t scanf("%d %d %d",&a,&b,&c); if(b>a){t=b;b=a;a=t;} //让a中的数大于b(b>a,b互换) if(c>a){t=c;c=a;a=t;} //让a中的数是三个中最大的(c>a时,a,c互换) if(b>c)printf("%d %原创 2020-08-24 20:32:45 · 815 阅读 · 0 评论 -
求1到n范围内能被 5 或 6 或 8 整除的数的个数
#include<iostream>using namespace std;int main(){ int n,x,y,z,xy,xz,yz,xyz,end; while(cin>>n) { x=n/5; y=n/6; z=n/8; xy=n/30; xz=n/40; yz=n/24; xyz=n/120; end=x+y+z-xy-xz-yz+xyz; cout<<end<<endl; } return 0原创 2020-08-29 15:12:52 · 1650 阅读 · 1 评论 -
C/C++训练1---最大公约数与最小公倍数
#include<iostream>using namespace std;int main(){ int a,b,c,d; cin>>a>>b; //输入俩个数 c=a;d=b; while(a != b) //while循环为了求出最大公约数 { if(a>b) { a = a - b; } else { b = b - a; } } cout<<a<<end原创 2020-08-30 10:58:47 · 70 阅读 · 0 评论 -
C/C++ 求某个范围内的所有素数
#include<iostream>using namespace std;int main(){ int n,m,j=0; //定义j=0 cin>>n; for(int i=2;i<n;i++) //从2开始直到n-1判断是否为素数{ int judge(int x); //定义判断复数的函数 m=judge(i); if(m>0) {cout<<m<<" ";j++;}原创 2020-09-01 14:16:47 · 3388 阅读 · 1 评论 -
C语言实验——打印菱形
#include<iostream>using namespace std;int main(){ int n; cin>>n; for(int j=1;j<n+1;j++) //每一次循环输出一行 { for(int i=j;i<n;i++) //输出空格,令i=j;i<n保证第一次输出n-1个,第二次输出n-2个。。。。 cout<<" "; for(int k=0;k<j*2-1;k++)原创 2020-09-01 15:42:18 · 303 阅读 · 0 评论 -
数列求和
#include<iostream>#include<cmath>using namespace std;int main(){ int a,n,sum=0,t=0; cin>>a;cin>>n; for(int i=0;i<n;i++) { sum=sum+a*pow(10, i)+t; //一下两行算a+aa+aaa+aaaa+aaaaaa。。。。。。 t=a*pow(10, i)+t; } cout&l原创 2020-09-01 16:10:03 · 119 阅读 · 0 评论 -
求数列的和
数列的定义如下: 数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和。#include<iostream>#include <iomanip>#include<cmath>using namespace std;int main(){ int n,m; double t,b,end; //定义end为最终的前n项和,t,b为中间量 while(cin>>n>>m) { b=n;原创 2020-09-03 18:07:04 · 164 阅读 · 0 评论 -
c/c++汉诺塔
#include<iostream>using namespace std;int main(){ int n; cin>>n; void fact(int n,char a,char b,char c); fact(n,'A','B','C'); return 0; }void fact(int n,char a,char b,char c){ if(n==1) cout<<"Move disk "<<n<<" f原创 2020-09-05 14:38:18 · 92 阅读 · 0 评论 -
矩阵舞蹈(但就是通不过检测)
#include<iostream>using namespace std;int main(){ int i,j,k,T,M,N; int a[101][101]; cin>>T; for(i=1;i<=T;i++) { cin>>M>>N; for(j=0;j<M;j++) for(k=0;k<N;k++) cin>>a[j][k]; cout<<"Case #"<<原创 2020-09-27 08:19:01 · 109 阅读 · 0 评论 -
指针交换两个变量的值
#include<iostream>using namespace std;int main(){ int a,b; cin>>a>>b; void change(int *x,int *y); change(&a,&b); cout<<a<<" "<<b<<endl;}void change(int *x,int *y){ int t; //此处不能定义*p,会变成野指针 t=原创 2020-09-27 09:03:12 · 135 阅读 · 0 评论 -
C语言实验——单词统计
#include<iostream>#include<string.h>using namespace std;int main(){ int len,sum=0; char str[100]; gets(str); for(int i=0;i<strlen(str);) { while(str[i]!=' '&&i<strlen(str)) i++; if(i!=0) sum=sum+1; while(str[i]=原创 2020-09-27 14:27:28 · 191 阅读 · 0 评论 -
关于指针变量初始化的一些思考
首先是指针变量的定义:指针是一种保存变量地址的变量。指针中最容易出现理解错误的地方就是指针为什么一定要先初始化,下面我将递进式的讨论这个问题。一,首先定义指针*p1;此时p1中保存的必须是一个地址,下面这段代码是非法的,因为赋初始值时p1必须指向一段地址。 int a=5; int *p1; p1=a;二,下面这段代码和和上面代码的区别就是让p1=a,而不是p1=a,按照优先级也就是(p1)=a,这里就牵扯到指针最难理解的地方。p1内存放的是一段地址,而*"“的含义则是指向p1内存放的地址中的原创 2020-10-11 11:33:45 · 1380 阅读 · 0 评论