1.函数的基本使用
//习题
#include<stdio.h>
void chline(int i,int j,int (*arr)[5])//习题3
{
printf("%d\n",arr[i][j]);
}
//前n!的和
void fun(int n)
{
int i,j,sum=1,sum1=0;
for(i=1;i<=n;i++)
{
sum=1;
for(j=1;j<=i;j++)
{
sum*=j;
}
sum1+=sum;
}
printf("\n前%d!的和:%d\n",n,sum1);
}
//判断一个数是不是素数
int prime(int n)
{
int i;
for(i=2;i<n;i++)
{
if(n%i==0)
{
break;
}
}
if(i==n)
{
return 1;
}else
{
return 0;
}
}
//判断是不是绝对素数
void inv(int n)
{
int a;
if(prime(n)==1)
{
a=n/10+a%10*10;
if(prime(a)==1)
{
printf("%d ",n);
}
}
}
void num()//绝对素数
{
int i;
printf("\n绝对素数有:");
for(i=10;i<=99;i++)
{
inv(i);
}
}
void fun2()//第6题
{
printf("\n\n第6题结果为:");
int i;
for(i=3;i<=100;i++)
{
if(prime(i)==1&&prime(i+2)==1)
{
printf("%d ",i);
}
}
}
//杨辉三角
void fun3(int n)
{
printf("\n\n杨辉三角前%d行为\n",n);
int i,j;
int arr[n][n];
for(i=0;i<n;i++)
{
for(j=0;j<=i;j++)
{
arr[i][j]=1;
if(i>1&&j<i&&j>0)
{
arr[i][j]=arr[i-1][j]+arr[i-1][j-1];
}
printf("%d ",arr[i][j]);
}
printf("\n\n");
}
}
void main()
{
int arr[4][5]={
1,2,5,65,2,
1,54,85,64,7,
4,65,14,65,8,
4,2,5,56,6
};
chline(3,3,arr);
fun(5);
num();
fun2();
fun3(10);
}