高级语言程序设计第七次作业

这个作业属于哪个课程:https://edu.cnblogs.com/campus/fzu/2024C/

这个作业要求在哪里: https://edu.cnblogs.com/campus/fzu/2024C/homework/13304

学号:092300125

姓名:张天荣

#include<stdio.h>

int main(void) {

    int n,m;
    scanf("%d %d",&n,&m);
    
    int arr[n][m];
    int (*p)[m]=arr;

    int i,j;

    for(i=0;i<n;i++){

        for(j=0;j<m;j++)
            arr[i][j]=i*j;

    }

    for(i=0;i<n;i++){

        for(j=0;j<m;j++)
            printf("%d ",p[i][j]);
        printf("\n");

    }

    return 0;

}


2.

#include<stdio.h>

int main(void) {

    int n;
    scanf("%d",&n);
    
    int arr[n][n];

    int i=0,j=0;
    int num=1;
    int t=0,f0=n-1,f1=n-1,f2=0,f3=1;
    while(num!=n*n+1){
       
        if(t%4==0){
            while(j<=f0)
                arr[i][j++]=num++;
            j--;
            f0--;
            i++;
        }
        else if(t%4==1){
            while(i<=f1)
                arr[i++][j]=num++;
            i--;
            f1--;
            j--;
        }
        else if(t%4==2){
            while(j>=f2)
                arr[i][j--]=num++;
            j++;
            f2++;
            i--;
        }
        else{
            while(i>=f3)
                arr[i--][j]=num++;
            i++;
            f3++;
            j++;
        }

        t++;
        
        
    }
  
    for(i=0;i<n;i++){

        for(j=0;j<n;j++)
            printf("%d ",arr[i][j]);
        printf("\n");

    }

    return 0;
  
}


3.

#include<stdio.h>

void M(int n,int arr[n][8]){
    int i,j,sum;
    for(i=0;i<n;i++){
        sum=0;
        for(j=1;j<8;j++)
            sum+=arr[i][j];
        arr[i][0]=sum;
    }
}

int main(void) {

    int n;
    scanf("%d",&n);   
    int arr[n][8];

    int i,j;
    for(i=0;i<n;i++){
        for(j=1;j<8;j++)
            arr[i][j]=j*j-i;
    }

    M(n,arr);

    for(i=0;i<n;i++)
        printf("%d ",arr[i][0]);

    return 0;

}


4.
a)int a; 定义一个名为 a 的整型变量
b)int a; 定义一个名为 a 的整型指针
c)int **a; 定义一个名为 a 的指向整型指针的指针
d)int a[10]; 定义一个名为 a 的整型数组,包含10个元素
e)int (
a)[10]; 定义一个名为 a 的指针,该指针指向一个包含10个整型元素的数组
5.

#include<stdio.h>

int main(void) {

    int arr1[3][4]={
        {1,2,3,4},
        {5,6,7,8},
        {9,10,11,12}
    };

    int arr2[3][4];

    int (*p)[4]=arr1;
    int (*h)[4]=arr2;

    int i,j;
    for(i=0;i<3;i++){
        for(j=0;j<4;j++)
            h[i][j]=p[i][j];
    }
   
   for(i=0;i<3;i++){
        for(j=0;j<4;j++)
            printf("%d ",arr2[i][j]);
        printf("\n");
    }

    return 0;

}


6.

#include<stdio.h>

int C(char* ch){
    int i=0,sum=0;
    while(ch[i++]!='\0')
        sum++;

    return sum;

}

int main(void) {

    
    
    char ch[100];
    gets(ch);
    
    printf("%d",C(ch));
    

    return 0;

}


7.

#include<stdio.h>

int main(void) {

    
    int a[3][4] = {0};

    printf("%d\n",sizeof(a));//输出整个数组a的大小

    printf("%d\n",sizeof(a[0][0]));//输出数组a中单个元素的大小

    printf("%d\n",sizeof(a[0]));//输出数组a中第一行的大小

    printf("%d\n",sizeof(a[0]+1));//输出指向a[0]中第二个元素的指针的大小

    printf("%d\n",sizeof(*(a[0]+1)));//输出a[0]+1所指向的元素的大小

    printf("%d\n",sizeof(a+1));//输出指向数组a第二行的指针的大小

    printf("%d\n",sizeof(*(a+1)));//输出数组a中第二行的大小

    printf("%d\n",sizeof(&a[0]+1));//输出指向a第二行的指针的大小

    printf("%d\n",sizeof(*(&a[0]+1)));//输出数组a中第二行的大小

    printf("%d\n",sizeof(*a));//输出数组a中第一行的大小

    printf("%d\n",sizeof(a[3]));//输出数组a中第四行的大小
    
    

    return 0;

}


8.

#include<stdio.h>

void C(char* ch1,char* ch2,int m){
    int i=0;
    while(ch1[m]!='\0')
        ch2[i++]=ch1[m++];
    ch2[i]='\0';
    printf("%s",ch2);
}

int main(void) {

    
    char ch1[50],ch2[50];
    gets(ch1);

    int m;
    scanf("%d",&m);
    
    C(ch1,ch2,m-1);

    return 0;

}

posted @ 2024-11-15 16:10  hfdc  阅读(4)  评论(0编辑  收藏  举报