实验四

Task 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));
    
    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;
 } 

 

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

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

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

 Task 4

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

 Task 5

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

 

posted @ 2021-12-02 20:22  谢能骏  阅读(30)  评论(0)    收藏  举报