实验4

1_1

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

int main(){
    int a[N]={2,0,2,1};
    char b[N]={'2','0','2','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

 

1_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]);

  return 0; }

是,4

是,1

 

2

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

 3

#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); // 调用input完成数组输入
    output(a, N); // 调用output输出数组元素值
    max = find_max(a, N); // 调用find_max查找数组a的最大值
    printf("max = %d\n", max);
    return 0;
}
// 函数定义
// 功能:为数组x的n个元素输入数值
void input(int x[], int n)
{
    int i;
    for (i = 0; i < n; ++i)
        scanf("%d", &x[i]);
}
// 函数定义
// 功能:输出数组x中的n个元素
void output(int x[], int n)
{
    int i;
    for (i = 0; i < n; ++i)
        printf("%d ", x[i]);
    printf("\n");
}
// 函数定义

// 功能: 找出数组x的n个元素中的最大值,并返回
int find_max(int x[], int n)
{
    int i,t;
    t=x[0];
    for(i=0;i<n-1;i++)
        if(x[i]<x[i+1])
            t=x[i+1];
    
    return t;        
}

 4

#include <stdio.h>
void dec2n(int x, int n); // 函数声明
int main()
{
    int x;
    printf("输入一个十进制整数: ");
    scanf("%d", &x);
    dec2n(x, 2); // 函数调用: 把x转换成二进制输出
    dec2n(x, 8); // 函数调用: 把x转换成八进制输出
    dec2n(x, 16); // 函数调用: 把x转换成十六进制输出
    return 0;
}
// 函数定义
// 功能: 把十进制数x转换成n进制,打印输出
// 补足函数实现
void dec2n(int x, int n)
{
    int a[100]={0},i=0;
    switch (n){
        case 2:
            while(x!=0){
                a[i++]=x%2;
                x=x/2;
            }
            for(i=i-1;i>=0;i--)
                printf("%d",a[i]);
            printf("\n");
            break;    
            
        case 8:
            while(x!=0){
                a[i++]=x%8;
                x=x/8;
            }
            for(i=i-1;i>=0;i--)
                printf("%d",a[i]);
            printf("\n");
            break;
            
        case 16:
            while(x!=0){
                a[i++]=x%16;
                x=x/16;
            }
            for(i=i-1;i>=0;i--){
                if(a[i]<10)
                    printf("%d",a[i]);
                else
                    switch (a[i]){
                        case 10:printf("%c",'A');break;
                        case 11:printf("%c",'B');break;
                        case 12:printf("%c",'C');break;
                        case 13:printf("%c",'D');break;
                        case 14:printf("%c",'E');break;
                        case 15:printf("%c",'F');break;    
                    }    
            }
            printf("\n");
            break;
    }
}

 5

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

 

posted @ 2021-12-01 11:33  方振宇  阅读(20)  评论(1编辑  收藏  举报