第六章-指针(事实上全程压根没用指针hhhh_(:зゝ∠)_

来源:互联网 发布:改变字体大小的软件 编辑:程序博客网 时间:2024/04/29 05:16

6.1Time_List
这里写图片描述

//小朋友#include<stdio.h>int main(){    int i;    int n;//人数    int arr[100086]={0};//用时    scanf("%d",&n);    for(i=1;i<=n;i++)        scanf("%d",&arr[i]);    //读完数据    int min=arr[1];    int minnum=1;    int max=arr[1];    int maxnum=1;    for(i=1;i<=n;i++)    {        if(min>arr[i])//由于没有=的情况所以输出i即最小        {            min=arr[i];            minnum=i;        }        if(max<arr[i])        {            max=arr[i];            maxnum=i;        }    }    printf("%d %d",minnum,maxnum);    return 0; }
//犇犇 #include<iostream>  using namespace std;  struct dd{         int a;         int b;         };  dd maxx,minn;  int main()  {      int n;      cin>>n;      minn.a=99999999;      for (int i=1; i<=n; i++)      {          int x;          cin>>x;          if (x<minn.a){                       minn.a=x;                       minn.b=i;                       }          if (x>maxx.a){                     maxx.a=x;                      maxx.b=i;                      }      }      cout<<minn.b<<' '<<maxx.b<<endl;  }  

6.2 Poster
这里写图片描述

//小朋友#include<stdio.h>int main(){    int i;    char arr[10086]={0};    for(i=0;arr[i]!='\n';i++) scanf("%c",&arr[i]);//处理未知长度的字符串 记录字符串长度    for(i=0;;i++)    {        if(arr[i]==0) break;        else if(arr[i]>=120) arr[i]-=23;        else arr[i]+=3;    }    for(i=0;;i++)     {        if(arr[i]==0) break;        else printf("%c",arr[i]);    }    return 0;}
//犇犇#include<iostream>  #include<string>  using namespace std;  string a;  int main()  {      cin>>a;      int n=a.length();      for (int i=0; i<a.length(); i++) {       a[i]+=3;       if (a[i]>'z') a[i]-=26;  //比楼上查了Ascii码的好    }      cout<<a;  }  

6.3 Palindrome_String
这里写图片描述

//小朋友#include<stdio.h>int main(){    int i=-1,j=0;    int p=0;    bool check=true;    char arr[100086];    scanf("%s",arr);    //读入未知长度字符串    while (arr[i+1]!='\0') i++; //i为从-1开始的累加器,计算字符串长度//  printf("%d\n",i);       for(j=0;j<=i;j++)         if(arr[j]!=arr[i-j]){check=false; break;}    if(check) printf("Yes");    else printf("No");    return 0;}
//犇犇#include<iostream>  #include<string>  using namespace std;  string a;  bool go=true;  int main()  {      cin>>a;      int n=a.length();      for (int i=0; i<a.length()/2; i++) {          if (a[i]!=a[a.length()-i-1]) go=false;      }      if (go)      cout<<"Yes"<<endl;      else cout<<"No"<<endl;  }  

6.4 Score
这里写图片描述

//小朋友#include<stdio.h>int main(){    int n;//学生人数     int score[100086]={0};    int k;//操作数     char func;    char cc;    char ccc;    int a,b;//同学a 成绩b    int i,j;    scanf("%d",&n);    for(i=1;i<=n;i++) scanf("%d",&score[i]);    scanf("%d",&k);    for(i=1;i<=k;i++)    {        scanf("%c%c%c",&cc,&func,&ccc);        if(func=='U')        {            scanf("%d %d",&a,&b);            score[a]=b;            printf("Finish\n");        }        else         {            scanf("%d",&a);            printf("%d\n",score[a]);        }    }    return 0;  }
//犇犇 #include<iostream>  using namespace std;  int a[100080],i;  int main()  {      int n,k;      cin>>n;      for ( i=1; i<=n; i++) cin>>a[i];      cin>>k;      for ( i=0; i<k; i++)      {          char c;          int x,y;          cin>>c>>x;          if (c=='U')           {                      cin>>y;                      a[x]=y;                      cout<<"Finish"<<endl;          }          else cout<<a[x]<<endl;      }  }  

6.5 Copy
这里写图片描述

//小朋友#include<iostream>#include<stdio.h>#include<string>using namespace std;int main(){    string s;    int n;    cin>>n;    cin>>s;    for(int i=0;i<n;i++)        for(int j=i;j<s.length();j+=n) cout<<s[j];//显然抄自犇犇_(:зゝ∠)_    return 0;       }
//犇犇 #include<iostream>  #include<string>  using namespace std;  string s;  int n,i,j;  int main()  {     cin>>n;     cin>>s;     for (i=0; i<n;i++)     {         for (j=i; j<s.size(); j+=n) cout<<s[j];     }  }  

6.6 Killing_Game
这里写图片描述

//小朋友#include<stdio.h>bool check[2001];int main(){    int n,k;//n个平民 数k个    int i,j;    int p=0;    scanf("%d%d",&n,&k);    for(i=1;i<n;i++)    {        for(j=1;j<=k;j++){                      while(check[p%n+1]) p=p%n+1;//下一位被杀则先移一位            p=p%n+1;        }        check[p]=true;//第p位被杀    }    for(i=1;i<=n;i++)         if(!check[i]) {printf("%d",i); break;}  }
//犇犇#include<iostream>    #include<algorithm>    #include<string>    using namespace std;    string s;    int n,i,j,k,o;  bool a[2005];    int main()    {       cin>>n>>k;       int i,j;        o=0;       for (i=1; i<n; i++)       {           for (j=0; j<k; j++)         {          while (a[o%n+1]) o=o%n+1; o=o%n+1;           }         a[o]=true;     }       for (i=1; i<=n; i++) if (!a[i]) cout<<i;    }   

6.7 Change
这里写图片描述

//小朋友#include<stdio.h>#include<string>#include<iostream>#include<algorithm>using namespace std;string arr[55];int main(){    int n,m; //n个名字 m次交换    int s,e;     int i,j;    string *a;    string *b;//想用指针用不来_(:зゝ∠)_    cin>>n;    for(i=1;i<=n;i++)        cin>>arr[i];    cin>>m;    for(j=1;j<=m;j++)    {    cin>>s>>e;    swap(arr[e],arr[s]);    }    for(i=1;i<=n;i++)        cout<<arr[i]<<endl;}
//犇犇#include<iostream>    #include<algorithm>    #include<string>    using namespace std;    string s[55];    int n,i,j,k,o;  bool a[2005];    int main()    {       cin>>n;     for (i=1; i<=n; i++) cin>>s[i];     int m;     cin>>m;     int x,y;     for (i=0; i<m; i++)      {         cin>>x>>y;         swap(s[x],s[y]);     }        for (i=1; i<=n; i++) cout<<s[i]<<endl;  }    
0 0