您的位置:首页 > 其它

第四章-数组

2015-12-12 14:29 417 查看
4.1 hu






[code]//小朋友
#include<stdio.h>  
int main(){  

    int n;  
    int i,j;  
    char arr[999],c;  
    scanf("%d%c",&n,&c);  
    for(i=0;i<n;i++)  
    {  
    gets(arr);  
    for(j=0;j<100;j++)  
    {  
        if(arr[j]=='H') arr[j]='F';  
        if(arr[j]=='h') arr[j]='f';  
    }  
    puts(arr);  
    }  
}


[code]//犇犇
#include<cstdio>  
int n,i,j;  
char k[300],c;  
int main()  
{  
    scanf("%d%c",&n,&c);  
    for (i=1; i<=n; i++)   
    {  
        gets(k);  
        for (j=0;j<100;j++) k[j]=k[j]=='h'?'f':k[j],k[j]=k[j]=='H'?'F':k[j];  
        puts(k);  
        printf("\n");  
    }  

}


4.2 motor



[code]//小朋友
#include<stdio.h>  
nt main(){  
int k;  
char c;  
int i=1;  
int a=0;  
int len=0;  
char arr[100];  
scanf("%d%c",&k,&c);  
while(scanf("%c",&c)!=EOF)  
{  
    if (c=='\n') break;  
    arr[++len]=c;  
    if(len==k)  
    {  
        if(a==0)  
        {  
            for(i=1;i<=len;i++)   
            printf("%c",arr[i]);  
        }  
        else  
        {  
            for(i=1;i<=len;i++)  
            printf("%c",arr[len-i+1]);  
        }  
        a=(a+1)%2;  
        len=0;  
    }  
}  
for(i=1;i<=len;i++)  
printf("%c",arr[i]);  
}


[code]//犇犇
#include<cstdio>  
int n,i,len=0,k=0;  
char c,a[500];  
int main()  
{  
    scanf("%d%c",&n,&c);  
    while (scanf("%c",&c)!=EOF)  
    {  
         if (c=='\n') break;   
        a[++len]=c;  
        if (len==n)  
           {  
                   if (k==0) for (i=1; i<=n; i++)printf("%c",a[i]);  
                   else for (i=n; i>=1; i--) printf("%c",a[i]);  
                   k=(k+1)%2;  
                   len=0;  
           }  
    }  
    if (len) for (i=1; i<=len; i++) printf("%c",a[i]);  
}


4.3 yanghui0



[code]//小朋友
#include<stdio.h>  
    int arr[50][50];  
    int arr2[50][50];//scanf  
int main(){  
    int n;//有n+1行   
    int num;//组数  
    int c;//十分讨厌的空格   
    int a,b;//存行数范围  
    int ans=0;//存结果   
    int i,j;   
    scanf("%d%c%d",&n,&c,&num);  
    for(i=1;i<=num;i++)   
        scanf("%d%c%d",&arr2[i][1],&c,&arr2[i][2]);  

        arr[0][0]=1;  
        for(i=1;i<=n;i++)  
            {  
                arr[i][0]=1;  
                for(j=1;j<=i;j++)  
                    arr[i][j]=arr[i-1][j-1]+arr[i-1][j];  
            }//杨辉三角二维数组   

    for(int k=1;k<=num;k++)  
    {  
        a=arr2[k][1];  
        b=arr2[k][2];  
        for(i=a;i<=b;i++)  
        {  
            for (j=0;j<=i;j++)  
                ans+=arr[i][j];  
        }  
        printf("%d\n",ans);  
        ans=0;  
    }  
}


[code]//犇犇
#include<cstdio>  
int n,m,i,f[200],a,b,j;  
int main()  
{  
    scanf("%d%d",&n,&m);  
    f[0]=1;  
    for (i=1; i<=n; i++) f[i]=f[i-1]*2;  
    for (i=0; i<m; i++)  
    {  
        scanf("%d%d",&a,&b);  
        int ans=0;  
        for (j=a; j<=b; j++)ans+=f[j];  
        printf("%d\n",ans);   
    }  
}


4.4 fresh



[code]//小朋友
 #include<stdio.h>  
int main(){  
    int k;//金币总数   
    int n;//学长数   
    int arr[10086];//存需要金币数   
    int i,j;  
    int c;//存空格   
    scanf("%d%c%d",&k,&c,&n);   
    for(i=0;i<n;i++) scanf("%d",&arr[i]);  
    //存完数组开始排序  
    for(i=0;i<n;i++)//粗暴冒泡排序   
     {  
        for(j=i+1;j<n;j++)  
            if(arr[i]>=arr[j]){  
                int temp=arr[i];  
                arr[i]=arr[j];  
                arr[j]=temp;  
            }  
        k-=arr[i];  
        if(k<1) break;  
     }  
     printf("%d",i);  
}


[code]//犇犇
 #include<cstdio>  
#include<algorithm>  
using namespace std;  
int m,n,i,a[100];  
int main()  
{  
    scanf("%d%d",&m,&n);  
    for (i=0; i<n; i++) scanf("%d",a+i);  
    sort(a,a+n);  
    int l=0;  
    for (m--; m>=0 && l<n; m-=a[l++]);  
    l= m>=0? l:l-1;  
    printf("%d",l);  
}


4.5 dormitory



[code]//小朋友
#include<stdio.h>  
int arr[101][101];  

int main(){  

    int row,cal;  
    int n,l,j;  
    char k;//  
    char c;   
    int num;  
    int an;  
    int ans=0;  
    scanf("%d%d%d",&row,&cal,&n);  
    for(int i=0;i<n;i++)  
    {  
        scanf("%c%c%d",&k,&c,&num);  
        if(c=='R')  
        {  
            for(an=1;an*num<=row;an++)  
                for(l=1;l<=cal;l++) 
                    arr[an*num][l]=(arr[an*num][l]+1)%2; 
        }  
        else   
        {   
            for(an=1;an*num<=cal;an++)  
                for(j=1;j<=row;j++)  
                {
                    if(arr[j][an*num]==0) arr[j][an*num]=1;  
                    else arr[j][an*num]=0;  
                }  
        }  
    }  

        for(int p=1;p<=row;p++)  
            for(int q=1;q<=cal;q++)  
                if(arr[p][q]==1) ans++;  
        printf("%d",ans);  

}


[code]//犇犇
 #include<cstdio>  
int n,m,k,x;  
int i,j,l,ans;  
char c;  
int a[200][200];  
int main()  
{  
    scanf("%d%d%d",&n,&m,&k);  
    for (l=1; l<=k; l++)  
    {  
        scanf("%c%c%d",&c,&c,&x);  
        if (c=='R')   
        {      
             for (j=x; j<=n; j+=x)     
             for (i=1; i<=m; i++) a[j][i]=(a[j][i]+1)%2;  
        }  
        else   
        {  
             for (j=x; j<=m; j+=x)  
             for (i=1; i<=n; i++) a[i][j]=(a[i][j]+1)%2;  
        }  

    }  
    for (i=1; i<=n; i++) for (j=1; j<=m; j++) if (a[i][j]==1) ans++;  
    printf("%d\n",ans);  
  /*  for (i=1; i<=n; i++) { 
        for (j=1; j<=m; j++) printf("%d ",a[i][j]); 
        printf("\n"); 
        }    */  
}


4.6 climbing



[code]//小朋友
#include<stdio.h>  
int arr1[200];  
int arr2[200];  
char c;  
char en;  
int time;  
int x,y;  
int ans1,ans2;  
int main(){  
    int n=0;  
    int i,j;  
    scanf("%d",&n);  
    for(i=1;i<=n;i++)  
        {  
            scanf("%c%c",&en,&c);   
            if(c=='M') scanf("%d",&time),arr1[i]=1,arr2[i]=time;  
            else arr1[i]=0,arr2[i]=0;  
        }  
    scanf("%d%d",&x,&y);  
    for(i=x;i<=y;i++)   
    {  
        ans1+=arr1[i];  
        ans2+=arr2[i];  
     }   
     printf("%d %d\n",ans1,ans2);  
}


[code]//犇犇
 #include<cstdio>  
int n,x,y,a[120],b[120];  
char c;  
int i;  
int main()  
{  
    scanf("%d%c",&n,&c);  
    for (i=1; i<=n; i++)   
    {  
        scanf("%c",&c);  
        if (c=='M')  
        {scanf("%d",&x);  
        a[i]++; b[i]+=x;}  
        scanf("%c",&c);  
    }  
  //  for (i=1; i<=n; i++) printf("%d %d\n",a[i],b[i]);  
    scanf("%d%d",&x,&y);  
    int ans1=0,ans2=0;  
    for (i=x; i<=y; i++)  ans1+=a[i],ans2+=b[i];  
    printf("%d %d",ans1,ans2);      

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: