实验四

#include<stdio.h>
const int N = 4;
int main()
{
    int a[N]={2,0,2,1};
    char b[N]={'2','0','1','1'};
    int i;
    
    printf("sizeof(int) = %d\n",sizeof(int));
    printf("sizeof(char) = %d\n",sizeof(char));
    printf("\n");
    
    for(i=0;i<N;++i)
        printf("%x:%d\n",&a[i],a[i]);
        
    printf("\n");
    
    for(i=0;i<N;++i)
        printf("%x:%c\n",&b[i],b[i]);
        
    return 0;
 } 

int型连续存放,每个元素占四个字节

char 型连续存放,每个元素占一个字节

#include<stdio.h>

int main()
{
    int a[2][3]={{1,2,3},{4,5,6}};
    char b[2][3]={{'1','2','3'},{'4','5','6'}};
    int i,j;
    
    printf("sizeof(int) = %d\n",sizeof(int));
    printf("sizeof(char) = %d\n",sizeof(char));
    printf("\n");
    
    for(i=0;i<2;++i)
        for(j=0;j<3;j++)
            printf("%x:%d\n",&a[i][j],a[i][j]);
        
    printf("\n");
    
    for(i=0;i<2;++i)
        for(j=0;j<3;j++)
            printf("%x:%c\n",&b[i][j],b[i][j]);
        
    return 0;
 } 

 

int型二维数组连续存放,每个元素占四个字节

char 型二维数组连续存放,每个元素占一个字节

 

#include<stdio.h>
#define N 1000
int fun(int n,int m,int bb[N])
{
    int i,j,k=0,flag;
    
    for(j=n;j<=m;j++)
    {
        flag=1;
        for(i=2;i<j;i++)
        if(j%i==0)
        {
            flag=0;
            break;
        }
        if(flag==1)
        bb[k++]=j;
    }
    return k;
}

int main()
{
    int n=0,m=0,i,k,bb[N];
    
    scanf("%d",&n);
    scanf("%d",&m);
    
    for(i=0;i<m-n;i++)
        bb[i]=0;
        
    k=fun(n,m,bb);
    
    for(i=0;i<k;i++)
       printf("%4d",bb[i]);
       
      return 0; 
 } 

 

#include<stdio.h>
const int N = 5;

int find_max(int x[],int n);
void input(int x[],int n);
void output(int x[],int n);

int main()
{
    int a[N];
    int max;
    
    input(a,N);
    output(a,N);
    max = find_max(a,N);
    
    printf("max = %d\n",max);
    return 0;
}

void input(int x[],int n)
{
    int i;
    for(i=0;i<n;i++)
        scanf("%d",&x[i]);
        
}




void output(int x[],int n)
{
    int i;
    for(i=0;i<n;i++)
        printf("%d ",x[i]);
    printf("\n");
        
}



int find_max(int x[],int n)
{
    int i,max=0;
    for(i=0;i<n;i++)
    {
        if(x[i]>max)
        max=x[i];
     } 
     return max;
}

#include<stdio.h>
void dec2n(int x,int n);

int main()
{
    int x;
    printf("输入一个十进制整数:");
    scanf("%d",&x);
    
    dec2n(x,2);
    dec2n(x,8);
    dec2n(x,16);
    
    return 0;
}


void dec2n(int x,int n)
{
    int N=32,i=0;
    char A,B,C,D,E,F;
    int a[N];

    while(x>0)
    {
        a[i]=x%n;
        i++;
        x=x/n;
    }
    for(;i>0;i--)
    {
        if(a[i-1]<10)
        printf("%d",a[i-1]);
        else if(a[i-1]==10)
        printf("%c",'A');
        else if(a[i-1]=11)
        printf("%c",'B');
        else if(a[i-1]==12)
        printf("%c",'C');
        else if(a[i-1]==13)
        printf("%c",'D');
        else if(a[i-1]==14)
        printf("%c",'E');
        else if(a[i-1]==15)
        printf("%c",'F');
    }
    printf("\n");
}

 

#include<stdio.h>
int main()
{
    int n,i,j,k;
    printf("Enter n:");
    while(scanf("%d",&n)!=EOF&&n>0)
    {
        for(i=1;i<=n;i++)
           {
            for(j=1;j<=n;j++)
            {
                k=i>j?j:i;
                printf("%d ",k);
            }
            printf("\n");
        }
        printf("\n");
           printf("Enter n:");
    }
    return 0;
    
}

 

 

posted @ 2021-12-01 17:04  王金梦  阅读(27)  评论(2编辑  收藏  举报