C语言练习代码

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);
}
//--------------
原文地址:https://www.cnblogs.com/herizai/p/3120980.html