C++程序设计源代码大全

发布时间:2024-11-08

这是清华大学出版社教材C++实践,内容为第2节到第15节所有的源代码。

S2_1

#include<iostream> using namespace std; void main() { float a,b,c; cout<<"input a b c\n"; cin>>a>>b>>c; if((a+b<c)||(b+c<a)||(a+c<b)) cout<<"Not Triangle\n"; else cout<<"Triangle\n"; } S2_2

#include<iostream> using namespace std; void main() { int year; cout<<"Input year: "; cin>>year; if((year%4==0&&year%100!=0)||(year%400==0)) cout<<year<<" is a leap year"<<'\n'; else cout<<year<<" is not a leap year"<<'\n'; } S2_3

#include<iostream> using namespace std; void main() { float a1, a2; char oper; float result; int flag=0;

cout<<"请输入简单的运算式:\n"; cin>>a1>>oper>>a2; switch(oper) { case'+': result=a1+a2; break;

case'-':

result=a1-a2; break; case'*': result=a1*a2; break; default: cout<<"输入错误的运算符!\n"; flag=1; } if(flag==0) cout<<a1<<oper<<a2<<"="<<result<<endl; }

S2_4

#include<iostream> #include<math.h> using namespace std; void main() { float a,b,c,x1,x2; cout<<"请输入方程的3个系数a b c \n"; cin>>a>>b>>c;

x1=(-b+sqrt(b*b-4*a*c))/2*a; x2=(-b-sqrt(b*b-4*a*c))/2*a; if(b*b-4*a*c<0) cout<<"无实根!\n"; else cout<<"x1="<<x1<<endl; cout<<"x2="<<x2<<endl; } S3_1

#include<iostream> using namespace std; void main() { int x,y; for(x=1;x<=30;x++) for(y=1;y<=30;y++) if(x+y==30&&2*x+4*y==90) cout<<"鸡有

这是清华大学出版社教材C++实践,内容为第2节到第15节所有的源代码。

"<<x<<'\n'<<"兔有"<<y<<endl; } S3_2

#include<iostream.h> void main() { int a0,a1,a2; int b; for(a2=1;a2<=9;a2++) for(a1=1;a1<=9;a1++) for(a0=1;a0<=9;a0++) { b=100*a2+10*a1+a0; if(b==a2*a2*a2+a1*a1*a1+a0*a0*a0) cout<<b<<endl; } } S3_3

#include<iostream.h> void main() { int a0,a1,a2; int b; for(b=100;b<=999;b++) { a2=b/100; a1=(b/10)%10; a0=b%10; if(b==a0*a0*a0+a1*a1*a1+a2*a2*a2) cout<<b<<'\t'; } } S3_4

#include<iostream.h> void main() { int a,b,c; for(a=1;a<=36;a++) for(b=1;b<=36;b++) for(c=1;c<=36;c++) if(a+b+c==36&&a*4+b*2+c/2==36&&c

%2==0)

cout<<"男人"<<a<<'\n'<<"女人"<<b<<'\n'<<"小孩"<<c<<endl; }

S3_5_1

#include<iostream.h> void main() { int a; for(a=1;a<=599;a++) { if((a%10==5||(a/10)%10==5||(a/10/10)%10==5)&&(a%3==0)) cout<<a<<endl; } }

S3_5_2

#include<iostream.h> void main() { int a,b,c=0; cout<<"请输入整数:"; cin>>a; while(a) { b=a%10; c=c+b; a=a/10;} cout<<c<<endl; } S4_1

#include<iostream.h> void main() { int a,b; int x,t; cout<<"请输入两个正整数:"; cin>>a>>b; x=a*b; if(a<b) { t=a;a=b;b=t;} while(t=a%b)

这是清华大学出版社教材C++实践,内容为第2节到第15节所有的源代码。

a=b; b=t; } cout<<"最大公约数:"<<b<<endl; cout<<"最小公倍数:"<<x/b<<endl; } S4_2

#include<iostream.h> void main() { int a, b,c; cout<<"Input three number:"; cin>>a>>b>>c; for(int i=a;;i--) if(a%i==0&&b%i==0&&c%i==0) break; cout<<i<<endl; } S4_3

#include<iostream.h> #include<math.h> void main() { int a; cout<<"请输入一个整数:"; cin>>a; for(int i=2;i<sqrt(a);i++) if(a%i==0) break; if(a%i!=0) cout<<a<<"是素数\n"; else cout<<a<<"不是素数\n"; } S4_4

#include<iostream.h> void main() { int a,b,c,x; cout<<"Input three number:"; cin>>a>>b>>c; for(x=a;;x++) if(x%a==0&&x%b==0&&x%c==0)

cout<<x<<endl; } S4_5

#include<iostream.h> void main() { int a; for(a=100;a<=200;a++) { for(int b=2;b<a;b++) if(a%b==0) break; if(a==b) cout<<a<<endl; } } S4_6

# include <iostream> using namespace std; int main () {

int n,i,sum;

for(n=2;n<1000;n++) {

//p=n/2; sum=0;

for (i=1;i<n;i++) {

if (n%i==0) sum =sum+i; }

if (sum ==n) cout <<n<<endl; }

return 0; } S5_1

#include<iostream.h> void main()

这是清华大学出版社教材C++实践,内容为第2节到第15节所有的源代码。

int a=2,b=1 ,c=0; for(;b<=7;b++) { c+=a; a=a*10+2; } cout<<c<<endl; } S5_2

#include<iostream.h> void main() { int a=2,b=1 ,c=0; for(;b<=7;b++) { c+=a; a=a*10+2; } cout<<c<<endl; } S5_3

#include<iostream.h> #include <math.h> double x; int main() { cout<<"Input x :"; cin>>x;

double y1,y2=x; do{

y1=y2;

y2=2.0/3.0*y1+x/(3.0*y1*y1); }while(fabs(y1-y2)>=1e-5);

cout <<"y="<<y2<<endl; return 0; } S5_4

#include<iostream.h> void main() { float x; cout<<"Input x :"; cin>>x; int n=1;

float g=0; float t=x; do{ g+=t; n++; t=-t*x*x/(2*n-1)/(2*n-2); }while(n<=10); cout<<g<<endl; } S6_1

include<iostream.h> double abc(double x) { double y; y=2*x*x+3*x+5; return y;} void main() { double a,b; a=abc(1); b=abc(1.2); cout<<"a="<<a<<endl; cout<<"b="<<b<<endl; } S6_2

#include<iostream.h> #include<math.h> float f(float x) {float y;

y=x*x+3*x-4; return y;}

float df( float x) {float y; y=2*x+3; return y; }

void main() { float x0,x1; x1=0; do{ x0=x1; x1=x0-f(x0)/df(x0);}

这是清华大学出版社教材C++实践,内容为第2节到第15节所有的源代码。

while(fabs(f(x0))>=1e-5); cout<<"x="<<x1<<endl; } S6_3

#include<iostream.h> #include<cmath> float f(float x)

{return x*x+3*x-4;} void main() { float x1,x2,x0; do{

cout<<"请输入初值x1和x2: "; cin>>x1>>x2;}while(f(x1)*f(x2)>0); do{ x0=(x1+x2)/2; if(f(x0)*f(x1)>0) x1=x0; else x2=x0;}

while(fabs(f(x0))>=1e-5); cout<<"x="<<x0<<endl; } S6_4

#include<iostream.h> #include<cmath> float f(float x)

{return x*x+3*x-4;} void main() { float x1,x2,x0; do{

cout<<"请输入初值x1和x2: "; cin>>x1>>x2;}while(f(x1)*f(x2)>0); do{ x0=(x1*f(x2)-x2*f(x1))/(f(x2)-f(x1)); if(f(x0)*f(x1)>0) x1=x0; else x2=x0;}

while(fabs(f(x0))>=1e-5); cout<<"x="<<x0<<endl; } S7_1

#include<iostream.h> int prime(int x) { for(int i=2;i<x/2;i++) if(x%i==0) return 0; return 1; }

void main() { for(int x=100;x<=200;x++) {if(prime(x)==1) cout<<x<<'\t'; } } S7_2

#include<iostream.h> int prime(int num)

{for(int i=2;i<num/2;i++) if(num%i==0) return 0; return 1; }void main() { int n; cout<<"请输入一个整数n: "; cin>>n; for(int i=2;i<n/2;i++) {if(n%i==0&&prime(i)==1) cout<<i<<'\t'; }

cout<<endl; } S7_3

#include<iostream.h> int prime(int a)

{for(int i=2;i<a/2;i++) if(a%i==0) return 0; return 1; }

void main() {int n;

这是清华大学出版社教材C++实践,内容为第2节到第15节所有的源代码。

do{cout<<"输入一个不小于6的偶数:";

cin>>n;}

while(n%2!=0||n<6); for(int i=2;i<n/2;i++)

{if(prime(i)==1&&prime(n-i)==1) cout<<n<<'='<<i<<'+'<<n-i<<'\n'; }

cout<<endl; } S7_4

#include<iostream.h> int fun(int x) {int a,b=1; while(x) {a=x%10; b=b*a; x=x/10;} return b; }

void main() { int n,mul; cout<<"请输入一个整数(输入0结束): "; cin>>n; while(n) {mul=fun(n); cout<<n<<"的各位数之积为"<<mul<<endl; cout<<"请输入一个整数(输入0结束):"; cin>>n; } } S8_1

#include<iostream.h> void main() { int a[6]={9,8,7,6,5,4}; int i,j,t; int n=6; for(i=0;i<n-1;i++)

for(j=0;j<n-i-1;j++)

{if (a[j]>a[j+1]) {t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } for(i=0;i<n;i++) cout<<a[i]<<'\t'; cout<<endl; } S8_2

#include<iostream.h> void main() { int a[6]={9,8,7,6,5,4}; int i,j,min,t; int n=6; for(j=0;j<n-1;j++) { min=j; for(i=j;i<n;i++) if(a[min]>a[i]) min=i; t=a[min]; a[min]=a[j]; a[j]=t; } for(i=0;i<n;i++) cout<<a[i]<<'\t'; cout<<endl; } S8_3

#include<iostream.h> void main() { int a[10]={2,5,78,4,6,3,89,12,15,34}; int i,max; int n=10; max=0; for(i=0;i<10;i++) { if(a[i]>a[max])

这是清华大学出版社教材C++实践,内容为第2节到第15节所有的源代码。

max=i;} cout<<"max="<<a[max]<<" "<<"maxindex="<<max+1<<endl; } S8_4

#include<iostream.h> void main() { int a[5]={8,16,5,14,1}; int i,j,n=5; for(i=0;i<n/2;i++) { j=a[i]; a[i]=a[n-1-i]; a[n-1-i]=j;} for(i=0;i<n;i++) cout<<a[i]<<'\t'; } S9_1

#include<iostream.h> void main() { int i,j,row=0,colum=0,max; int

a[4][4]={{5,12,23,56},{19,28,37,46},{-12,-34,6,8},{4,6,34,1}}; max=a[0][0]; for(i=0;i<4;i++) for(j=0;j<4;j++) if(a[i][j]>max) {max=a[i][j];row=i; colum=j;

}cout<<"max="<<max<<",row="<<row<<",colum="<<colum<<endl; } S9_2

#include<iostream.h> void main() { int i,j,k; int colum,saddle,max,flag=0; int

a[4][4]={{5,12,23,56},{19,28,37,46},{-12,-34,-6,8},{4,6,34,10}};

for(i=0;i<4;i++) { max=a[i][0]; for(j=0;j<4;j++) if(a[i][j]>max) { max=a[i][j]; colum=j; } for(k=0;k<4;k++) if(a[k][colum]<max) max=a[k][colum]; if(a[k][j]<max) {flag=1; saddle=max; break; } } if(flag=1) cout<<"saddle=" <<saddle<<",row="<<i<<",colum="<<colum<<endl; else cout<<"No Saddle!\n"; }

S9_3_1

#include<iostream.h> void main() { int i,j,k,n=4; int

a[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}}; for(i=0;i<n;i++) for(j=i;j<n;j++) { k=a[i][j]; a[i][j]=a[j][i]; a[j][i]=k; } for(i=0;i<n;i++) {for(j=0;j<n;j++) {cout<<a[i][j]<<'\t';}

这是清华大学出版社教材C++实践,内容为第2节到第15节所有的源代码。

cout<<endl;} }

S9_3_2

#include<iostream.h> void main() { int a[9][9]; for(int i=1;i<=9;i++) for(int j=1;j<=i;j++) a[i-1][j-1]=i*j; for(int b=0;b<9;b++) { for(int c=0;c<=b;c++) cout<<b+1<<"*"<<c+1<<"="<<a[b][c]<<"\t"; cout<<endl; } } S9_4

#include<iostream.h> void main() {

int i,j,a[10][10]={0};

a[0][0]=a[1][0]=a[1][1]=1; for(i=2;i<=9;i++) {

a[i][0]=1; a[i][i]=1;

for(j=1;j<=9;j++)

a[i][j]=a[i-1][j-1]+a[i-1][j]; }

for(i=0;i<=9;i++) for(j=0;j<=i;j++) {

cout<<a[i][j]<<'\t'; if(j==i) cout<<'\n'; } }

S10_1

#include<iostream.h> int gys(int m,int n) { int r; if(m<n) {r=m;m=n;n=r;} while(r=m%n) {m=n;n=r;} return n;} void main() {int

a[8]={26,1007,956,705,574,371,416,517}; int

b[8]={994,631,772,201,262,763,1000,781};

int c[8];

for(int i=0;i<8;i++) c[i]=gys(a[i],b[i]); for(i=0;i<8;i++) cout<<c[i]<<'\t'; cout<<endl; }

S10_2

#include<iostream.h> int fun(int x) {int sum=0; while(x) {sum+=x%10; x=x/10; } return sum; } void main() { int a[10],b[10]; int sum=0; cout<<"请输入10个整数: \n"; for(int i=0;i<10;i++) cin>>a[i]; for(i=0;i<10;i++) {

这是清华大学出版社教材C++实践,内容为第2节到第15节所有的源代码。

b[i]=fun(a[i]); sum+=a[i]; } cout<<"sum="<<sum<<endl; for(i=0;i<10;i++) cout<<a[i]<<'\t'<<b[i]<<endl; } S10_3

#include<iostream.h> int fun(int x) {

int sum=0; while(x) {

sum+=x%10; x/=10; }

if(sum==10) return 1; else

return 0; }

void main() {

int a[1001],num=0,x;

cout<<"请输入一个大于100小于1000的数:"; cin>>x;

for(int i=100;i<=x;i++) {

a[i]=i;

if(fun(a[i])==1) {

cout<<a[i]<<'\t'; num++; } }

cout<<'\n'<<"共"<<num<<"个"<<'\n'; }

S10_4

#include<iostream.h>

int prime(int num) //函数prime判断参数num是否为素数,若为

素数函数返回1,否则返回0 { for(int i=2;i<num/2;i++) if(num%i==0) return 0; return 1;} void main() {

int num=0; int

a[]={55,154,103,106,151,58,199,10,247,218,39,170,87,122,135}; int n=sizeof(a)/sizeof(a[0]); for(int i=0;i<n;i++) if(prime(a[i])==1) {

cout<<a[i]<<'\t'; num++; }

cout<<'\n'<<"共"<<num<<"个"<<endl; }

S11_1

#include<iostream.h>

int binary(int array[],int n,int number) { int low=0,high=n-1,mid; while(low<=high) { mid=(low+high)/2; if(number<array[mid]) high=mid-1; else if(number>array[mid]) low=mid+1; else return mid; } return -1; }

void main() { int

a[]={2,4,6,8,10,12,14,16,18,20,22,24}; int num; cout<<"请输入要寻找的数: ";

这是清华大学出版社教材C++实践,内容为第2节到第15节所有的源代码。

cin>>num; int

index=binary(a,sizeof(a)/sizeof(a[0]),num); if(index!=-1) }

void main() { int s[1000]; int i=0,n=0;

cout<<"请输入数字(输入0结 cout<<"该数在数组中的序号为: "<<index<<endl; else cout<<"数组中没有该元素\n"; }

S11_2

#include<iostream.h> int del(int array[],int n) { for(int i=0;i<n-1;i++) if(array[i]==array[i+1]) { for(int j=i+2;j<n;j++) array[j-1]=array[j]; n=n-1; i=i-1; } return n; }

void main() { int

a[]={2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10}; int n=del(a,sizeof(a)/sizeof(a[0]) ); for(int i=0;i<n;i++) cout<<a[i]<<'\t'; cout<<endl;} S11_3

#include<iostream.h> int f(int a[],int n) { int c=0;

for(int e=n;e>0;e--) if(a[e-1]>a[e]) {c=a[e-1]; a[e-1]=a[e]; a[e]=c;} return n;

束):"<<endl; cin>>s[0]; while(s[i]!=0) { n=f(s,i); i++; cin>>s[i]; }

for(int d=0;d<i;d++) cout<<s[d]<<'\t'; cout<<endl; }

S11_4

#include<iostream.h> void main() { int a[]={5,26,98,77,1,27,30}; int b[10]={0,0,0,0,0,0,0,0,0,0}; int c, n=sizeof(a)/sizeof(a[0]); for(int i=0;i<n;i++) while(a[i]) { c=a[i]%10; b[c]++; a[i]=a[i]/10; } for(int j=0;j<10;j++) cout<<b[j]<<'\t'; }

S12_1

#include<iostream.h> void main() { char s[1000];

cout<<"请输入一行字符串:\n"; cin.getline(s,200);

这是清华大学出版社教材C++实践,内容为第2节到第15节所有的源代码。

int a=0,b=0,c=0;

for(int i=0;s[i]!='\0';i++) { if(s[i]>='A'&&s[i]<='Z') a++; else if(s[i]>='a'&&s[i]<='z') b++; else if(s[i]>='0'&&s[i]<='9') c++;

}cout<<"大写字母个数:"<<a<<'\t'<<"小写字母个数:"<<b<<'\t'<<"数字字符个数:"<<c<<endl; }

S12_2

#include<iostream.h> #include<string.h> void main() { char str[100]; int flag=0; cout<<"Input a string:\n"; cin.getline(str,100); for(int i=0;str[i]!='\0';i++) { if(str[i]>='a'&&str[i]<='z'&&flag==0) { str[i]=str[i]-32; flag=1; } if(str[i]==' '||str[i]=='\n') flag=0; } cout<<"thr result is:\n"; cout<<str<<endl; }

S12_3

#include<iostream.h> #include<string.h> void main() { char s[1000]; int c=0;

cout<<"Input a string:\n";

cin.getline(s,1000); int flag=0; for(int i=0;s[i]!='\0';i++) { if((flag==0)&&(s[i]>='a'&&s[i]<='z')||(s[i]>='A'&&s[i]<='Z')) { c++; flag=1; } if(s[i]==' '||s[i]=='\n') flag=0; } cout<<c<<endl; }

S12_4

#include<iostream.h> #include<string.h> void main()

{char a[100],b[100]; int k,flag=0,max=0;

cout<<"Input a string:"<<endl; cin.getline(a,100); for(int i=0;a[i]!='\0';i++) {

if((a[i]>='a'&&a[i]<='z')||a[i]>='A'&&(a[i]<<a[i]<='Z')) { if(flag==0) { k=0; b[k]=a[i]; flag=1; } else if(i==strlen(a)-1) { k++; b[k]=a[i]; b[k+1]='\0'; if(k+1>max)

这是清华大学出版社教材C++实践,内容为第2节到第15节所有的源代码。

{ max=k+1; strcpy(a,b); } } else { k++; b[k]=a[i]; } } else if(flag==1) { b[k+1]='\0'; flag=0; if(k+1>max) { max=k+1; strcpy(a,b); } } } cout<<"最长字符长度为:"<<max<<endl; cout<<"最长字符串为:"<<b<<endl; }

S13_1

#include<iostream.h> void fun(int *w,int p,int n) { int i,j,t; for(i=0;i<=p;i++) { t=*w; for(j=0;j<n-1;j++) *(w+j)=*(w+j+1); *(w+j)=t; } }

void main() { int

a[]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};

int p; cout<<"Input p: "; cin>>p; int n=sizeof(a)/sizeof(a[0]); fun(a,p,n); for( int i=0;i<n;i++) cout<<a[i]<<'\t'; cout<<endl; }

S13_2

#include<iostream.h> #include<math.h> double f1(double x) { return 1.0/(2+sin(x)); }

double f2(double x) { return 1.0/(2-cos(x)); }

double f3(double x) { return (1+x)/(1+x*x); }

double integral(double (*pf)(double),int n,double a,double b) { double h; h=(b-a)/n; double result; result=(pf(a)+pf(b))/2; for(int i=1;i<n;i++) result=result+pf(a+i*h); result=result*h; return result; }

void main() { cout<<"f1(x)="<<endl; cout<<"n=1000"<<'\t'<<integral(f1,1000,1.0,2.0)<<endl;

这是清华大学出版社教材C++实践,内容为第2节到第15节所有的源代码。

cout<<"f2(x)="<<endl; cout<<"n=2000"<<'\t'<<integral(f2,2000,2.0,3.0)<<endl; cout<<"f3(x)"<<endl; cout<<"n=3000"<<'\t'<<integral(f3,3000,2.0,4.0)<<endl; }

S13_3

#include<iostream.h> #include<math.h> void f1(int *p1) { for(int i=0;i<16;i++) cout<<*(p1+i)<<'\t'; cout<<endl; }

double f2(int *p2) { double t=0;

for(int j=0;j<16;j++) t+=*(p2+j); return t/16; }

double f3(int *p3) {double c=f2(p3);

double max=fabs(c-*p3),m; int b; for(int d=0;d<16;d++) { if(fabs(c-*(p3+d))>max) { max=fabs(c-*(p3+d)); b=d; m=*(p3+d);} } for(int w=b;w<16;w++) *(p3+w)=*(p3+w+1); for(int e=0;e<15;e++) cout<<*(p3+e)<<'\t'; cout<<endl; return m; }

void main() { int a[16]; a[0]=55; for(int g=1;g<16;g++) a[g]=(15*a[g-1]+97)%256; f1(a); cout<<"平均值为:"<<f2(a)<<endl; cout<<"max="<<f3(a)<<endl;} S14_1

#include<iostream.h> #include<string.h> void main() { char str[100]; cout<<"请输入一串数字字符: "; cin.getline(str,100); int i=0,s=0; while(str[i]) { s=s*10+str[i]-'0'; i++; } cout<<s<<endl; }

S14_2

#include<iostream.h> #include<string.h>

void fun1(char *s,int n,int r) { int i=0,t; while(n) { t=n%r; if(t>=10) s[i++]=t-10+'A'; else s[i++]=t+'0'; n=n/r; } s[i]='\0'; }

void fun2(char *s) {

这是清华大学出版社教材C++实践,内容为第2节到第15节所有的源代码。

char ch; int len=strlen(s); for(int i=0;i<len/2;i++) { ch=s[i]; s[i]=s[len-i-1]; s[len-i-1]=ch; } }

void main() { char s[200]; int n,r; cout<<"请输入您想转换的十进制数: "; cin>>n; cout<<"您想将十进制数:"<<n<<"转换为多少进制的数?"; cin>>r; fun1(s,n,r); fun2(s); cout<<"十进制数"<<n<<"转换成"<<r<<"进制的数,结果为"<<s<<endl; }

S14_3

#include <iostream> #include<string.h> using namespace std; int fun(char *b) { int flag=0,digit=0,a[10],i,n=0; for(i=0;i<strlen(b);i++) { while((b[i]>='0')&&(b[i]<='9')) { flag=1; digit=digit*10+b[i]-'0'; i++; } if(flag==1) { a[n++]=digit; digit=0;

flag=0;

} }

for(int j=0;j<n;j++) cout<<a[j]<<'\t'; cout<<endl; return n; }

void main() { cout<<"请输入字符串:"<<endl; char a[1000]; cin.getline(a,1000); cout<<"字符串中整数个数是:"<<fun(a)<<endl; }

S14_4

#include<iostream.h> #include<string.h>

int fun(char *str, char *substr) {

int count = 0; char *p0=str;

char *p2 = substr;

while (*p0!= '\0') {

if (*p0 == *p2) {

while (*p2 != '\0') {

if (*p2++ == *p0++) continue; else

break; }

if (*p2 == '\0') count++; p2 = substr; } else

这是清华大学出版社教材C++实践,内容为第2节到第15节所有的源代码。

p0++; } }

return count; }

void main() { char str[100],substr[100]; cout<<"input str :"; cin.getline(str,100); cin.clear();//连续两次用getline函数; cout<<"Input substr:"; cin.getline(substr,100);

cout<<fun(str,substr)<<endl; } S15_1

#include<iostream.h> #include<math.h> class Tri { double a,b,c; public: Tri(double x,double y,double z) {a=x;b=y;c=z;} double Peri() {return (a+b+c);} double Area() { double s=Peri()/2; double

area=sqrt(s*(s-a)*(s-b)*(s-c)); return area; } void Show() { cout<<"三角形边长:"<<a<<'\t'<<b<<'\t'<<c<<endl; cout<<"三角形周长:"<<Peri()<<endl; cout<<"三角形面

} };

void main() { Tri tri1(3,4,5),tri2(5,6,7); tri1.Show(); tri2.Show(); }

S15_2

#include<iostream.h> class NUM {

private: int n; int *p; public: NUM(int n1) { n=n1; p=new int[n]; } int yes(int x) { for(int i=2;i<=x/2;i++) if(x%i==0) return 1; return 0; } void fun(void) { int j; for(int i=3;1;i++) { j=0; while(yes(i)&&j<n) { p[j]=i; j++; i++; } if(j==n) break; }

这是清华大学出版社教材C++实践,内容为第2节到第15节所有的源代码。

void print(void) { for(int i=0;i<n;i++) cout<<p[i]<<'\t'; cout<<endl; } ~NUM() { if(p) delete[]p;} };

void main(void) { NUM num(10); num.fun(); num.print(); }

S15_3

#include<string.h> #include<iostream.h> class STR{ char *s1; char *s2; public:

STR( char *str); void delsame(); void show(); ~STR() ; };

STR :: STR( char *str) {

s1=new char[strlen(str)+1]; strcpy(s1,str);

s2=new char[strlen(str)+1]; }

void STR :: show()

{ cout<<"s1="<<s1<<'\n'<<"s2="<<s2<<endl; }

STR :: ~STR() { if(s1)delete[ ]s1; if(s2)delete[ ]s2; }

void STR :: delsame() {char *p1,*p2,*p3;

if(s1) strcpy(s2,s1);//把从s1地址开始

s2开始的地址空间 . p1=s2; while(*p1) { p2=p1+1; while(*p2) {if(*p1==*p2) { p3=p2;

while(*p3){ *p3=*(p3+1);p3++;} } else p2++; }

p1++; } }

void main()

{ STR test("concoon"); test.delsame(); test.show(); }

S15_4

#include <iostream> #include <ctime> using namespace std; class Circle {

public: Circle();

// 圆盘类的主要操作, 寻找符合条件(和为最或最小)的连续的4个数 void Find_Max();

// 输出圆盘类的整个数列,最大、最小的四个数及其和值 void Show(void); private:

int num[20];//: 存放生成的20个随机数int Max[4];//: 存放20个随机数中连续4个数之和中最大的那4个连续的数 int Min[4];//: 存放20个随机数中连续4个数之和中最小的那4个连续的数 int sum_max;//: 存放20个随机数中连续4个数之和中最大的和

int sum_min;//: 存放20个随机数中连续4个数之和中最小的和 };

C++程序设计源代码大全.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219