脑图
作业
1.定义函数实现杨辉三角(使用指针)
#include <stdio.h>
void YanghunTri_P(int line,int (*p)[line]);
int main(int argc, const char *argv[]){
int arr[50][50];
int line;
scanf("%d",&line);
YanghunTri_P(line,arr);
return 0;
}
void YanghunTri_P(int line,int (*p)[50]){
for (int i =0 ; i < line; i++){
for (int k = 0; k < line-i; k++){
printf("%-2s"," ");
}
for (int j = 0; j <= i; j++){
if(j==0||j==i){
*(*(p+i)+j)=1;
}else{
*(*(p+i)+j)=*(*(p+i-1)+j-1)+*(*(p+i-1)+j);
}
printf("%-4d",*(*(p+i)+j));
}
puts(" ");
}
}
2.递归计算各个数字之和、阶乘
/*
* Filename: 10.c
* Author: linus
* Date: 2023-12-11
* Version: 1.0
*
* Description: The purpose of this code.
*/
#include <stdio.h>
int my_sum(int n){
if(n==0)
return 0;
else{
return n+my_sum(n-1);
}
}
int my_factorial(int n){
if(n==0)
return 1;
else{
return n*my_factorial(n-1);
}
}
int main(int argc,const char *argv[]){
int n;
scanf("%d",&n);
printf("sum(%d)=%d\n",n,my_sum(n));
printf("factorial(%d)=%d\n",n,my_factorial(n));
return 0;
}