严浩翔圈外女友

导航

实验四

task1-1

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

 ①是连续存放的。每个元素占用4个内存字节单元

②是连续存放的。每个元素占用1个内存字节单元

task1_2

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

}

 

①是连续存放的。每个元素占用4个内存字节单元

②是连续存放的。每个元素占用1个内存字节单元

task2

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

 

 

 

 

 

 

 

task3

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

}

 

 

 

task4

 

#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,j,m,k = 1,a[100];
    while(x != 0)
    {
        m = x%n;
        a[++k] = m;
        
        x = x/n;
    }
    for(j = k;j>=1;j--)
    {
        if(a[j]<=9)
        printf("%d",a[j]);
        else
        switch(a[j])
        {
            case 10:printf("A");break;
            case 11:printf("B");break;
            case 12:printf("C");break;
            case 13:printf("D");break;
            case 14:printf("E");break;
            case 15:printf("F");break;
         } 
    }
    printf("\n");
}   

 

 

task5

#include<stdio.h>
#define N 100
int main()
{
    int i, j, n;
    int a[N][N];
    

    
    while(printf("Enter n:")&&scanf("%d",&n)!=EOF)
    {
        for(i = 1;i<=n;++i)
            {
                for(j = 1;j<=n;++j)
                {
                    if(i<=j)
                        a[i][j]=i;
                    else
                        a[i][j]=j; 
                }
            }
    
    
    for(i = 1;i<=n;++i)
    {
        for(j = 1;j<=n;++j)
            printf("%d",a[i][j]);
        
        printf("\n");
    }
}
    return 0;
    
        

}

 

posted on 2021-12-06 17:04  严浩翔圈外女友  阅读(28)  评论(0编辑  收藏  举报