实验四 数组

#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]);
 
 printf("\n");
 
 return 0;
 
}

 

#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;
 
 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]);
}

 

 

#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;
    for(i = 0;i < n; i++)
    {
        if(x[i]>=x[0])
        {
            x[0]=x[i];
        }
    }
    return x[0];    
}

 

#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 i = 0,j, m;
    int a[32];
    if (n == 2)
    {
        while (x!=0) 
        {
            m = (x%n);
            a[i] = m;
            x = x/n;
            i++;
        }
        for(i--;i>=0;i--)
            printf("%d", a[i]);
            printf("\n");
    }
    if (n == 8)
        printf("%o\n", x);
    if (n == 16)
        printf("%x\n", x);
        
}

 

 

#include<stdio.h>
#define N 50
#define M 50
int a[N][M];
int main()
{
    int n = 1,i,j;
    
    for (i = 0; i < N; i++) 
    {
        for (j = 0; j < M; j++) 
        {
            if (i < j)
                a[i][j] = i + 1;
            else
                a[i][j] = j + 1;
        }
    }
    
    printf("Enter n:");
    while(scanf("%d", &n)!=EOF)
    {
        for (i = 0; i < n; i++) 
        {
            for (j = 0; j < n; j++)
                printf("%d ", a[i][j]);
                printf("\n");
        }
        printf("Enter n:");
    }
}

 

 task1-1  int型数组a,在内存中是连续存放的,每个元素占用4个内存字节单元

               char型数组b,在内存中是连续存放的,每个元素占用1个内存字节单元

task1-2   int型二维数组a,在内存中是连续存放的,每个元素占用4个内存字节单元
               char型二维数组b,在内存中是连续存放的,每个元素占用1个内存字节单元

posted @ 2021-12-03 15:29  z-o-e-y  阅读(29)  评论(0编辑  收藏  举报