1,分析程序运行结果
#include<iostream> using namespace std; int main() { cout<<"This "<<"is "; cout<<"a "<<"C++ "; cout<<"program."<<endl; return 0; }2,分析下面程序运行结果
#include<iostream> using namespace std; int main() { cout<<"This "<<"is "; cout<<"a "<<"C++ "; cout<<"program."<<endl; return 0; }3,分析下面程序的运行结果
#include<iostream> using namespace std; int main() { int a,b,c; int f(int x,int y,int z); cin>>a>>b>>c; c = f(a,b,c); cout<<c<<endl; return 0; } int f(int x,int y,int z) { int m; if(x<y) m=x; else m=y; if(z<m) m=z; return (m); }5,改正后的程序:
#include<iostream> using namespace std; int main() {int add(int x,int y); int a,b,c; cin>>a>>b; c = add(a,b); cout<<"a+b="<<c<<endl; return 0; } int add(int x,int y) { int z; z = x + y; return z; }6,编译,运行,分析
#include<iostream> using namespace std; int main() {void sort(int x,int y,int z); int x,y,z; cin>>x>>y>>z; sort(x,y,z); return 0; } void sort(int x,int y,int z) { int temp; if(x>y) { temp=x;x=y;y=temp; } if(z<x) cout<<z<<","<<x<<","<<y<<endl; else if(z<y) cout<<x<<','<<z<<','<<y<<endl; else cout<<x<<','<<y<<','<<z<<endl; }7,求2个或3个整数中的最大数,用带有默认参数的函数实现。
#include<iostream> using namespace std; int main() { int max(int a,int b,int c=0); int a,b,c; cin>>a>>b>>c; cout<<"max(a,b,c)="<<max(a,b,c)<<endl; cout<<"max(a,b)="<<max(a,b)<<endl; return 0; } int max(int a,int b,int c) { if(b>a) a=b; if(c>a) a=c; return a; }8,输入两个整数,将他们按由大到小的顺序输出。要求使用变量的引用
#include<iostream> using namespace std; int main() {void change(int &,int &); int a,b; cin>>a>>b; if(a<b) change(a,b); cout<<"max="<<a<<"min="<<b<<endl; return 0; } void change(int &r1,int &r2) { int temp; temp = r1; r1 = r2; r2 = temp; }9,对3个变量按有小到大的顺序排序,要求使用变量的引用
#include<iostream> #include<string> using namespace std; int main() {string s1="week",s2="end"; cout<<"s1="<<s1<<endl; cout<<"s2="<<s2<<endl; s1 = s1 + s2; cout<<"the new string is:"<<s1<<endl; return 0; }11,输入一个字符串,把其中的字符按逆序输出。
#include<iostream> #include<string> using namespace std; int main() {string str; int i,n; char temp; cout<<"please input a string:"; cin>>str; n = str.size(); for(i = 0;i < n / 2;i++) {temp=str[i];str[i]=str[n-i-1];str[n-i-1]=temp;} cout<<str<<endl; return 0; }12,有5个字符串,要求将他们按有小到大的顺序排列,用string方法
#include<iostream> #include<string> using namespace std; int main() { int i; string str[5]={"BASIC","C","FORTRAN","C++","PASCAL"}; void sort(string str[]); sort(str); cout<<"the sorted string:"<<endl; for(i=0;i<5;i++) cout<<str[i]<<" "<<endl; return 0; } void sort(string s[]) { int i,j; string t; for(j=0;j<5;j++) for(i=0;i<5-j;i++) if(s[i]>s[i+1]) {t=s[i];s[i]=s[i+1];s[i+1]=t; } }13,编写一个程序,用同一个函数名对n个数据进行从小到大排序,数据类型可以使整型,单精度型,双精度型。用重载函数实现。 注:书上的代码有误,下面代码已做出修改。能得到正确结果。
#include<iostream> #include<string> using namespace std; int main() { long a[5]={10100,-123567,1198783,-165654,3456}; int b[5]={1,9,0,23,-45}; float c[5]={2.4,7.6,5.5,6.6,-2.3}; void sort(int []); void sort(float []); void sort(long []); sort(a); sort(b); sort(c); return 0; } void sort(long a[]) { int i,j,min; long t; for(i=0;i<4;i++) {min = i; for(j=i+1;j<5;j++) if(a[min]>a[j]) min=j; t=a[i];a[i]=a[min];a[min]=t; } cout<<"the sorted numbers:"<<endl; for(i=0;i<5;i++) cout<<a[i]<<" "; cout<<endl; } void sort(int a[]) { int i,j,t; for(j=0;j<4;j++) for(i=0;i<4-j;i++) if(a[i]>a[i+1]){ t=a[i];a[i]=a[i+1];a[i+1]=t; } cout<<"the sorted numbers:"<<endl; for(i=0;i<5;i++) cout<<a[i]<<" "; cout<<endl<<endl; } void sort(float a[]) { int i,j; float t; for(j=0;j<4;j++) for(i=j+1;i<5;i++) if(a[j]>a[i]) {t=a[j];a[j]=a[i];a[i]=t; } cout<<"the sorted numbers:"<<endl; for(i=0;i<5;i++) cout<<a[i]<<" "; cout<<endl<<endl; }