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);
}
//--------------