void mySort(int *b,int size); void f() { int a[]={3,5,7,1,8,4,9}; mySort(a,sizeof(a)/sizeof(a[0]));//int *b=a } //数组是不能直接复制的 //向量参数传递 #include<iostream> #include<vector> #include<fstream> #include<sstream> using namespace std; typedef vector<int> VI;//typedef typedef vector<VI> VVI; void print(const VI&); void input(VVI&); bool findVec(const VVI&,VI&); int main() { VVI matrix; input(matrix); VI vec; if(findVec(matrix,vec)) print(vec); } void print(const VI& v) { for(int i=0;i<v.size();i++) cout<<v[i]<<" "; cout<<"\n"; } void input(VVI& m) { ifstream in("abc.in"); int n,t; in>>n; m.resize(n);//设定内存大小 for(string s;n--&&getline(in,s);)// for(istringstream sin(s);sin>>t;m[m.size()-n-1].push_back(t));// } bool findVec(const VVI& matrix,VI& v) { for(int i=0;i<matrix.size();++i)//matrix.size() for(int j=0;j<matrix[i].size();++j)//matrix[i].size if(matrix[i][j]==-1) {v=matrix[i]; return true; } return false; } //--------------- //函数指针传递 #include<iostream> #include<algorithm> #include<vector> using namespace std; int bitSum(int a); bool lessThanBitSum(int a,int b) { return bitSum(a)<bitSum(b); } int main() { int a[]={33,61,12,19,14,71,78,59}; vector<int>aa(a,a+8); sort(aa.begin(),aa.end(),lessThanBitSum); for(int i=0;i<aa.size();++i) cout<<aa[i]<<" "; cout<<"\n"; } int bitSum(int a) { int sum=0; for(int x=a;x;x/=10)//x是表达式,为真就继续循环,x/=10是每次循环后都会执行,x=x/10 sum+=x%10; return sum; } //---------- #include<iostream> using namespace std; typedef void (*MenuFun)();//函数指针类型MenuFun void f1(){cout<<"good!\n";} void f2(){cout<<"better!\n";} void f3(){cout<<"best!\n";} int main() { MenuFun fun[]={f1,f2,f3}; for(int choice=1;choice;) { cout<<"1-----display good\n" <<"2-----display better\n" <<"3-----display best\n" <<"0-----exit\n" <<"Enter your choice:"; cin>>choice; switch (choice) { case 1:fun[0]();break; case 2:fun[1]();break; case 3:fun[2]();break; case 0:return 0; default: cout<<"you entered a wrong key.\n"; } } } //------------ #include<iostream> #include<vector> using namespace std; typedef void (*MenuFun)();//函数指针类型MenuFun void f1(){cout<<"good!\n";} void f2(){cout<<"better!\n";} void f3(){cout<<"best!\n";} int main() { vector<MenuFun>fun(3); fun[1]=f1,fun[2]=f2,fun[3]=f3; for(int choice=1;choice;) { cout<<"1-----display good\n" <<"2-----display better\n" <<"3-----display best\n" <<"0-----exit\n" <<"Enter your choice:"; cin>>choice; if(choice>0&&choice<4) fun[choice-1](); else if(choice==0) return 0; else cout<<"you entered a wrong key.\n"; } } //-------------- #include<iostream> using namespace std; int main() { for(int a,b;cin>>a>>b;cout<<a+b<<"\n"); } //-------------- #include<iostream> using namespace std; int main(int argc,char**argv) { for(int i=0;i<argc;++i) cout<<argv[i]<<endl; } //-------- #include<iostream> #include<fstream> using namespace std; int main(int argc,char**argv) { if(argc!=3) cout<<"Usage:f0511 infile outfile\n"; else { ifstream in("xyz.txt");//argv[1] ofstream out("abc.txt");//argv[2] if(in && out) out<<in.rdbuf();//in.rdbuf()直接关联到输入流缓冲区,该缓冲区承载一切输入数据和操作,相当于将整个输入和盘托出给输出流 } } //----------- #include<iostream> #include<sstream> using namespace std; int main(int argc,char**argv) { if(argc!=2){ cout<<"usage: f0512 command\n"; return 1; } string s(argv[1]);//string s(srgv[1]);istringstream sin(s);sin>>a>>b>>c; istringstream sin(s); int a,b; char c; sin>>a>>c>>b; switch (c) { case'-':b=-b; case'+':cout<<a+b;break; case'*':cout<<a*b;break; case'/':cout<<a/b;break; default:cout<<"error!"; } } //--------------- #include<iostream> using namespace std; void delay(int a=2);//函数声明 int main()//。。延时效果很好 { cout<<"delay 2 sec..."; delay();//默认 cout<<"ended.\n"; cout<<"delay 5 sec..."; delay(5); cout<<"ended..."; } void delay(int a)//延时函数,多重循环达到延时效果 { int sum=0; for(int i=1;i<=a;++i) for(int j=1;j<3500;++j) for(int k=1;k<100000;++k) sum++; } //----------------- //----------------1 #include<stdio.h> void main() { printf("circle area=%f\n",20*20*3.14); } //--------------------2 #include<stdio.h> void main() { printf("*\n"); printf("***\n"); printf("*****\n"); printf("********\n"); } //---------------------3 #include<stdio.h> void main() { int r; printf("Enter circle r:"); scanf("%d",&r); printf("%f\n",r*r*3.14); } //-----------------------4 #include<stdio.h> void main() { int a,b; printf("Enter two integers:a,b\n"); scanf("%d%d",&a,&b); printf("a+b=%d\n",a+b); } //------------------------5 #include<stdio.h> void main() { int a,b; printf("Enter two integer:a,b"); scanf("%d%d",&a,&b); printf("a+b=%d\n,a-b=%d\n",a+b,a-b); } //--------------