高级语言程序设计第七次作业
这个作业属于哪个课程: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;
}