- 博客(49)
- 收藏
- 关注
原创 c++设计函数,输出一串字符中单词的个数
#include<iostream>using namespace std;int count(char *s){ int k=0; while(*s!='.'&&*s!='\0') //字符串到.句号,或者到\0结束时,结束 { char c=*s; if((*s>='A'&&*s<='Z')||(*s>='a'&&*s<='z')) //当指.
2021-12-09 23:36:29
1291
原创 c++设计程序实现字符串的复制
#include<iostream>using namespace std;char* copy0(char *s1,char *s2){ while(*s2)*s1++=*s2++; return s1;}int main(){ char s1[50],s2[50]; cout<<"输入两串字符s1,s2,将s2复制到s1。\ns1:"; cin.getline(s1,50); cout<<"s2:"; .
2021-12-09 22:48:08
2318
原创 c++编写程序,输出前N行的杨辉三角
杨辉三角,每行除最左和最右的元素为1外,其他元素等于其左上方与正上方两个数之和,如下所示:11 11 2 11 3 3 11 4 6 4 1......思路:第一行只有1个元素1,第二行只有2个元素1 1分开考虑。从第三行开始,除最左最右两元素之外的元素就为左上方和正上方元素之和。所以从第三行开始循环。输出时的每行输出的数为行数,...
2021-12-09 21:50:15
3576
原创 c++求二维数组各元素的和
#include<iostream>using namespace std;#define N 10//用宏定义来控制数组的大小void print(float p[][5],int n) //输出二维数组的函数{ int i,j; for(i=0;i<n;i++){ for(j=0;j<5;j++) cout<<*(*(p+i)+j)<<'\t'; cout<&l.
2021-12-09 20:58:07
3948
原创 c++编写程序,求输入的N个实数的方差
#include<iostream>#define N 5using namespace std;void show(double *p,int n) //输出数组{ int i=0; for(i=0;i<n;i++){ cout<<p[i]<<'\t'; }}void f(double p[],int n,double &ave){ int i;float s=0; for(i.
2021-12-09 20:23:36
3470
1
原创 c++编写程序找出数组中的最大元素及其下标
思路:先找出数组a中的最大元素。这里通过了max函数来查找。然后创建一个和原来同样大小的数组b用来准备存放最大元素的下标,接着再遍历一遍数组,找出最大元素的下标,存放在新创建的数组之中。#include<iostream>#define N 10 //宏定义确定数组的大小using namespace std;void show(int *p,int n) //输出数组{ int i=0; for(i=0;i<n;i++){ .
2021-12-09 19:19:30
8362
1
原创 c++编写程序,查找大于基数base的n个自反数
自反数:一个整数的各位数字反序排列后得到的整数与原数相等的数,叫做自反数。思路:创建函数来判断所输入的整数是否为自反数。并用循环来实现对大于基数base的自反数的查找。利用计数器k来控制所查找出自反数的个数。核心为自反数的判读,即对一个数的反序排列。代码如下:#include<iostream>using namespace std;bool fun(int n) //判断这个是否为自反数{ int i,r=0,t=n; for(i=0;t
2021-12-06 15:59:56
531
原创 c++设计程序将字符串中的字符按ASCII值升序排列
比较元素ASCII时运用选择排序,参考:c++编写程序实现选择排序https://blog.youkuaiyun.com/Patrickzc/article/details/121730060?spm=1001.2014.3001.5501#include<iostream>#include<cstring>using namespace std;void sort_char(char *str){ int n=strlen(str); //得到字符数
2021-12-05 23:52:53
3901
原创 c++编写程序,输入和输出数组
用宏定义来决定数组大小#include<iostream>#define N 20using namespace std;int main(){ int num[N]; cout<<"请输入"<<N<<"个数,组成数组\n"; for(int i=0;i<N;i++) cin>>num[i]; cout<<"所输入的数组为:\n"; for(int i=0;i&
2021-12-05 23:30:19
5534
1
原创 c++实现成绩排序,输入元素为成绩数组,输出对应学生成绩的名次
#include<iostream>using namespace std;void rank0(float a[],int n,int b[]){ int i,j; float c[n]; for(i=0;i<n;i++)c[i]=a[i]; //将数组a的值赋给数组c for(i=0;i<n-1;i++){ int k=i; //设当前下标i的元素为最大元素,最大元素的下标k为i .
2021-12-05 15:46:18
4449
原创 c++编写程序实现选择排序
选择排序按降序排列:直接选择排序:在数组例如:整型数组 int a[5]={6,5,7,8,1} 中按顺序比较。先a[0]和剩下的9个元素比较,若有比a[0]大的便交换。比如a[0]<a[2] (6<7),便交换成{7,5,6,8,1},接着进行a[0]<a[3](7<8)再交换成{8,5,6,7,1},直至a[0]和数组的其他元素比较完。然后a[1]开始其他元素比较。代码:#include<iostream>using namespace...
2021-12-05 15:38:53
1989
原创 c++设计程序取出二维数组中的奇数存入一维数组中
思路:首先创建和二维数组等大的一维数组,再遍历二维数组,找出二维数组里的奇数。将奇数元素存入所创建的一维数组中。返回奇数的个数,这样可以控制输出一维数组的长度,让其输出的全为二维数组里的奇数。#include<iostream>using namespace std;int search(int (*p1)[5],int n,int *p2) //查找奇数的函数{ int i,j,k=0; for(i=0;i<n;i++) for.
2021-12-05 13:42:35
1037
原创 c++编写程序,将3行4列的二维数组中的每一行的前3个元素依次拼接到第4列
完整代码为:#include<iostream>using namespace std;int f(int n){ //判断所要拼接数的位数,因为是要拼接还要再乘十X10 int i,t=1; for(i=0;n>0;i++,t*=10) { n/=10; } return t;}void fun(int (*p)[4],int n) //拼接函数{ int i,j; for.
2021-12-05 11:28:34
1315
原创 c++编写函数,输出二维数组中元素所对应的位数
位数为各位输出1,十位输出10,百位输出100,以此类推#include<iostream>using namespace std;int f(int n){ int i,t=1; for(i=0;n>0;i++,t*=10) { n/=10; } return t/10; //多乘了一次10,所以除10}void fun(int (*p)[4],int n) //或者p[][4],函数输出各个元.
2021-12-05 11:10:21
301
原创 c++编写函数输出二位数组
输出二维数组需要套两个循环语句#include<iostream>using namespace std;void show(int p[][4],int n) //数组输出函数{ int i,j; for(i=0;i<n;i++){ for(j=0;j<4;j++) cout<<*(*(p+i)+j)<<'\t'; cout<<'\n'; //每行输出
2021-12-05 10:53:02
659
原创 c++编写函数判断整数的位数
定义一个函数f来判断整数的位数,用循环来实现。对一个大于0的int整数除10,每次做除法,计数器就+1,直至整数位为0。计数器t所得到的便是这个整数的位数。#include<iostream>using namespace std;int f(int n){ int t; for(t=0;n>0;t++) { n/=10; } return t;}int main(){ int n; cout<&.
2021-12-05 09:58:34
8349
原创 c++编写函数依次交换字符串中前后对应奇数位置上的元素
#include<iostream>using namespace std;char *fun(char *str){ int t; char *s1=str,*s2=str; while(*s2) //找到这个字符串的最后一位 s2++; s2--; //循环执行结束后,s2指向\0,所以要前移一位,指向元素 while(s1<s2){ t=*(s1+1),*(s1+1)=*s2.
2021-12-05 09:41:03
2035
原创 c++创建大小为n的数组,运用new运算符,可以通过输入来决定数组的大小
#include<iostream>using namespace std;void input(float *p,int n) //给p指向的数组赋值{ for(int j=0;j<n;j++) { cout<<"请输入第"<<j+1<<"个元素:"; cin>>p[j]; }}void output(float *p,int n) //输出数组的值.
2021-12-04 23:51:00
4264
1
原创 c++设计函数查找数组中的最大和最小元素,并计算去除最大和最小后元素的平均值
第一串代码为精简版#include<iostream>using namespace std;#define N 10//用宏定义来控制数组的大小void input(float *p,int n) //给数组num赋值{ for(int i=0;i<n;i++) { cout<<"请输入第"<<i+1<<"个元素:"; cin>>*p; p++;
2021-12-04 23:42:10
4290
原创 c++编写函数找出小于1000的能被11整除且各位之和为13的自然数
#include<iostream>using namespace std;int f1(int n){ if(n%11==0)return 1; return 0;}int f2(int n){ int t=n,s=0; while(t!=0) { s+=t%10; t/=10; } if(s==13)return 1; return 0;}void show(int n=0) .
2021-11-12 15:01:45
3316
原创 c++编写函数用递归和非递归法将输入的整数逆序输出
非递归法:#include<iostream>using namespace std;void rev(int n){ while(n!=0) { cout<<n%10; n/=10; } return;}int main(){ int n; cout<<"请输入一个整数,将逆序输出\n"; cin>>n; rev(n); cout<
2021-11-12 13:30:16
4039
原创 c++编写函数fun,输入的一系列整数对,输出二个数是第一个数的整数倍的整数对
#include<iostream>using namespace std;void fun(int n,int m){ while(n!=0&&m!=0){ cin>>n>>m; if(m%n==0)cout<<n<<","<<m<<"是整数对,请继续输入:\n";} return;}int main(){ int n=1,m=1; .
2021-11-12 13:17:32
1748
原创 c++用递归法和迭代法编写函数求Hermite多项式前n项的值
Hermite的定义为: 第一串代码是利用了递归的方法:#include<iostream>using namespace std;double Hermite(int n,double x){ float k; if(n>1)k=2*x*Hermite(n-1,x)-2*(n-1)*Hermite(n-2,x); if(n==0)k=1; if(n==1)k=2*x;return k;}...
2021-11-11 23:26:45
2159
3
原创 c++编写函数判断一个三位数是否为二位数的平方且升序排列
下段代码是在主函数里面遍历了两个循环,一个循环找三位数,另一个循环找可能的二位数,最终找到所需的值。因为要遍历2个循环,所以在时间上会有所耗时。#include<iostream>using namespace std;int f1(int n,int &t) //f1函数判断所输入的三位数是否为某个二位数的平方{ //&t为函数的引用传递 if(n==t*t)return 1; return.
2021-11-11 09:57:35
935
原创 c++编写函数将十进制整数转为十六进制整数
#include<iostream>using namespace std;void tran(int n)//转制递归函数{ int t; if(n>10)tran(n/16); //将十进制n对16取余并逆序输出,然后将n/16作为参数再次调用递归函数,直到参数小于10 t=n%16; //因为要逆序输出,所以输出语句在递归语句之后 if(t>=10)cout<<char('A'+t-10);//将大于等.
2021-11-10 17:04:36
8007
1
原创 c++用函数来求组合数C(m,r)
#include<iostream>using namespace std;int fact(int n) //阶乘函数{ int i,s=1; for(i=1;i<=n;i++) s*=i; return s;}int comb(int m,int r) //求组合数的函数{ int c; c=fact(m)/(fact(r)*fact(m-r)); //调用了fact阶乘函数 return c;}int m.
2021-11-09 16:06:59
2420
原创 c++运用函数求孪生素数对
孪生素数对是指差为2的一对素数#include<iostream>#include<cmath>using namespace std;int pri(int n) //此函数判断是否为素数{ for(int i=2;i<=sqrt(n);i++) if(n%i==0)return 0; //遍历所有小于等于sqrt(n)的值,能除的通则返回0 return 1; //除不同的则n为素数,返回1进入if的执行.
2021-11-09 15:45:06
6088
2
原创 c++用函数来求100以内的素数
#include<iostream>#include<cmath>using namespace std;int pri(int n){ for(int i=2;i<=sqrt(n);i++)//素数不能被小于或等于本身的平方根的数整除 if(n%i==0)return 0;//此法可以减少枚举的次数 return 1;}int main(){ int n; for(n=2;n<100;n++) {.
2021-11-05 12:52:35
4115
2
原创 c++编写函数用牛顿迭代法求3x³-2x²+5x-7=0在1附近的根
#include<iostream>#include<cmath>using namespace std;double f0(double x){ int y; y=3*x*x*x-2*x*x+5*x-7; return y;}double f1(double x){ int y; y=9*x*x-4*x; return y;}int main(){ double x0,x1; x1=1;x0=0; .
2021-11-01 22:12:36
1935
原创 c++用牛顿迭代法求3x³-2x²-5=0在1附近的根
#include<iostream>#include<cmath>using namespace std;int main(){ float x0,x1,y0,y1; cout<<"利用牛顿迭代法求3x³-2x²-5=0在1附近的根"<<endl; x1=1,x0=0; //选取任意数(这里选了1)作为该方程的初始近似值,先定义x0=0是为了进入循环条件 while(fabs(x1-x0)>1.0e-5).
2021-10-24 15:25:28
5901
1
原创 c++求一个数的因子
#include<iostream>using namespace std;int main(){ int x; cout<<"输入一个正整数,显示其所有的因子"<<endl; cin>>x; cout<<x<<"的因子为:"; for(int i=1;i<=x;i++) { if(x%i==0) cout<<i<<'\.
2021-10-24 10:34:56
11778
原创 c++求100~300的所有平方被6除余数为3的奇数
#include<iostream>using namespace std;int main(){ int n,s; for(n=100;n<=300;n++) { if(n%2==1) //判断是否为奇数 { s=n*n; if(s%6==3) //判断平方是否被6除余3 cout<<n<<endl; .
2021-10-22 14:11:17
673
原创 c++编程求三角形面积
边长为a,b,c得到三角形面积公式为其中*注意:计算三角形的面积之前,需判断所输入的三边之和是否能构成三角形#include<iostream>#include<cmath>using namespace std;int main(){ int a,b,c;float s,area; cout<<"请输入三角形三边边长,将输出三角形的面积"<<'\n'; cin>>a>>b>>c;
2021-10-22 13:28:03
16825
原创 c++求满足如下条件的最大的n12+22+32+…+n2≤1000,运用for和while的循环
用for函数来编写,*注意:累加结果s要赋初始值#include<iostream>using namespace std;int main(){ int i,j,s=0; for(i=1;;i++) { j=10*i+2; s+=j; if(s>1000) //当累加之和超过1000时则退出循环 { i=i-1; //此时的i是超过条件s≤1000,所以值要往前剪一
2021-10-22 12:37:56
4215
3
原创 c++求5~20(包含)所有偶数和
用if函数来判断是否为偶数,再运用循环函数来计算,这里提供了3种循环函数用for循环函数#include<iostream>using namespace std;int main(){ int s; for(int i=5;i<=20;i++) if(i%2==0) //判断此时的i是否为偶数 s+=i; //若是则累加到s cout<<"5~20(包括)所以偶数和为"<
2021-10-19 16:16:13
3007
原创 c++判断输入x值的正负,x为正输出1,为0输出0,为负输出-1
运用简单的if语句判断就行#include<iostream>using namespace std;int main(){ int x,y; cout<<"请输入一个数x,经过判断x>0将输出y为1,x<0将输出y为-1,x=0将y为输出0"<<endl; cout<<"x="; cin>>x; if(x>0)y=1; else if(x==0)y=0; els
2021-10-19 15:46:03
1595
原创 c++输入三位数,输出其各位数字反序后组成的3位数
#include<iostream>using namespace std;int main(){ int a,b,c,d,e; cout<<"请输入一个三位数:"; cin>>a; b=a%10; c=(a%100)/10; d=a/100; e=b*100+c*10+d; cout<<e<<endl; system ("pause"); return 0;.
2021-10-19 15:27:40
2324
原创 c++输入实数,输出整数和小数部分
#include<iostream>using namespace std;int main(){ float a; cout<<"请输入一个数:"; cin>>a; int b=a; cout<<"这个数的整数是:"<<b<<"小数是:"<<a-b<<endl; system("pause"); return 0;}...
2021-10-19 15:25:18
8067
1
原创 c++找出1000以内的完数
完数的定义:如果一个数恰好等于它的真因子(即除了自身以外的约数)之和,则称该数为“完全数”。#include<iostream>using namespace std;int main(){ int s; cout<<"1000以内完数有"<<'\n'; //若一个数等于其因数之和,则为完数 for(int i=1;i<=1000;i++) { s=0; //
2021-10-17 22:31:03
14505
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人