zoukankan      html  css  js  c++  java
  • 【数组练习】

    1、计算数据的方差

    #include <iostream>
    #include <cstdio>
    #include <cstring>
    #include <algorithm>
    #include <cmath>
    using namespace std;
    
    int n;
    double a[10023],ave,sq;
    
    int main()
    {
        scanf("%d",&n);
        for(int i=1;i<=n;i++)
        {
            scanf("%lf",&a[i]);
            ave+=a[i];
        }
        ave/=n;
        for(int i=1;i<=n;i++)
            sq+=(a[i]-ave)*(a[i]-ave);
        sq/=n;
        printf("%.5lf %.5lf",ave,sq);
        return 0;
    }

    2、年龄与疾病 

    #include <iostream>
    #include <cstdio>
    #include <cstring>
    #include <algorithm>
    #include <cmath>
    using namespace std;
    /*
    1-18: 20.00%
    19-35: 20.00%
    36-60: 20.00%
    Over60: 40.00%
    */
    
    int main()
    {
        int n;
        double a=0,b=0,c=0,d=0;    
        scanf("%d",&n);
        for(int i=1;i<=n;i++)
        {
            int x;
            scanf("%d",&x);
            if(x<=18) a+=1;
            else if(x<=35) b+=1;
            else if(x<=60) c+=1;
            else d+=1;
        }
        a/=n; b/=n; c/=n; d/=n;
        printf("1-18: %.2lf%%
    ",a*100);
        printf("19-35: %.2lf%%
    ",b*100);
        printf("36-60: %.2lf%%
    ",c*100);
        printf("Over60: %.2lf%%",d*100);
        return 0;
    }

    3、人民币支付 

    #include <stdio.h>
    #include <math.h>
    int S;
    
    int main()
    {
        scanf("%d",&S);
        printf("%d
    ",S/100);
        S%=100;
        printf("%d
    ",S/50);
        S%=50;
        printf("%d
    ",S/20);
        S%=20;
        printf("%d
    ",S/10);
        S%=10;
        printf("%d
    ",S/5);
        S%=5;
        printf("%d",S);
        return 0;
    }

    4、二维数组右上左下遍历 

    #include <stdio.h>
    #include <math.h>
    int n,m;
    int a[101][101];
    
    int main()
    {
        int i,j;
        scanf("%d%d",&n,&m);
        for(i=1;i<=n;i++)
            for(j=1;j<=m;j++) scanf("%d",&a[i][j]);
        i=1,j=1;
        int kk=2,fl=0;
        while(1)
        {
            printf("%d
    ",a[i][j]);
            if(i==n && j==m) break;
            if(j==1 || i==n)
            {
                if(kk<=m && !fl)
                {
                    i=1; j=kk;
                    kk++;                
                }
                else if(!fl)
                    kk=2,i=2,j=m,fl=1;
                else
                {
                    kk++; i=kk; 
                    j=m;
                }
            }
            else i++,j--;
        }
        return 0;
    }

    5、二维数组回形遍历 

    #include <stdio.h>
    #include <math.h>
    int n,m;
    int a[101][101],map[300][300];
    int dirx[]={0,0,1,0,-1};
    int diry[]={0,1,0,-1,0};
    
    int main()
    {
    	int i,j;
    	scanf("%d%d",&n,&m);
    	for(i=1;i<=n;i++)
    		for(j=1;j<=m;j++) scanf("%d",&a[i][j]);
    	i=1,j=1;
    	int fl=1,ans=0;
    	while(1)
    	{
    		map[i][j]=1; ans++;
    		printf("%d
    ",a[i][j]);
    		if(ans==n*m) break;
    		i+=dirx[fl],j+=diry[fl];
    		if(map[i][j] || i<1 || i>n || j<1 || j>m)
    		{
    			i-=dirx[fl],j-=diry[fl];
    			fl++; if(fl>4) fl%=4;
    			i+=dirx[fl],j+=diry[fl];
    		}
    	}
    	return 0;
    }

    6、矩阵转置

    #include <stdio.h>
    #include <math.h>
    int n,m;
    int a[101][101],map[300][300];
    
    int main()
    {
        int i,j;
        scanf("%d",&n);
        m=n;
        for(i=1;i<=n;i++)
            for(j=1;j<=m;j++) scanf("%d",&a[i][j]);
        for(j=1;j<=m;j++)
        {
            for(i=1;i<=n;i++)
            {
                printf("%d",a[i][j]);
                if(i!=n) printf("	");            
            }
            printf("
    ");        
        }
        return 0;
    }

    7、矩阵交换行 

    #include <stdio.h>
    #include <math.h>
    int n,m;
    int a[23][23];
    
    int main()
    {
        int i,j;
        for(i=1;i<=5;i++)
            for(j=1;j<=5;j++) scanf("%d",&a[i][j]);
        scanf("%d%d",&n,&m); n++,m++;
        if(n<1 || n>5 || m<1 || m>5)
        {
            printf("error");
            return 0;
        }
        int tmp=0;
        for(j=1;j<=5;j++) tmp=a[n][j],a[n][j]=a[m][j],a[m][j]=tmp;
        for(i=1;i<=5;i++)
        {
            for(j=1;j<=5;j++)
            {
                printf("%d",a[i][j]);
                if(j!=5) printf(" ");            
            }
            printf("
    ");
        }
        return 0;
    }
    

      

  • 相关阅读:
    ThreadStatic特性
    Java实现数据批量导入mysql数据库
    农业银行网上支付平台-商户接口编程-demo调试
    abp学习(四)——根据入门教程(aspnetMVC Web API进一步学习)
    abp学习(三)——文档翻译一
    eclipse快捷键
    js入门(一)
    PHP验证码显示不出来
    php 上传文件
    PHP输出控制函数(ob系列函数)
  • 原文地址:https://www.cnblogs.com/linda-fcj/p/12045839.html
Copyright © 2011-2022 走看看