1.利用函数调用判断一个整数是否为素数
#include
int isprimer(int n)
{
int i,count=0;
for(i=2;i<n;i++)
{
if(n%i!=0)
count++;
}
if(count==n-2)
return 1;
else
return 0;
}
int main()
{
int x;
printf("请输入一个整数:");
scanf("%d",&x);
if(isprimer(x)==1)
printf("%d是素数",x);
else
printf("%d不是素数",x);
return 0;
}
2.利用函数调用求分段函数的值
#include
#include
const double x1=0.3, x2=0.8;
double f(double);
int main( )
{
double x;
printf("请输入x的值:");
scanf("%lf",&x);
printf("解得:f(%lf)=%lf\n",x,f(x));
return 0;
}
double f(double x)
{
double y;
if(x<x1)
y=0;
else if(x>=x1&&x<=x2)
y=(x-x1)/(x2-x1);
else
y=1;
return y;
}
3.利用函数调用输出星号
#include
void printstars(int m)
{
int j;
for(j=1;j<=m;j++)
printf("*");
printf("\n");
}
int main()
{
int n,i;
printf("请输入行数:");
scanf("%d",&n);
for(i=1;i<=n;i++)
printstars(2*i-1);
return 0;
}
4.求1到20阶乘的和
#include
int main()
{
int a,b,c,sum;
sum=0;
for(a=1;a<=20;a++)
{
for(b=1,c=1;b<=a;b++)
c=c*b;
sum=sum+c;
}
printf("sum=%d\n",sum);
return 0;
}
5.求1000以内所有的完数
#include
int main()
{
int a,b,sum;
for(a=1;a<=1000;a++)
{
sum=0;
for(b=1;b<a;b++)
{
if(a%b==0)
sum=sum+b;
}
if(sum==a)
{
printf("%d,its factors are: ",a);
for(b=1;b<a;b++)
{
if(a%b==0)
printf("%d,",b);
}
printf("\b");
printf("\n");
}
}
return 0;
}
6.求1000以内所有偶数的和
#include
int main()
{
int i,sum;
i=2;
sum=0;
while(i<=1000)
{
sum=sum+i;
i=i+2;
}
printf("sum=%d\n",sum);
return 0;
}
7.求m到n之间的素数
#include
int main()
{
int m,n,i,x,a;
int count;
a=0;
printf("请输入m的值:");
scanf("%d",&m);
printf("请输入n的值:");
scanf("%d",&n);
for(x=m;x<=n;x++)
{
count=0;
for(i=2;i<=x-1;i++)
{
if(x%i!=0)
count++;
}
if(count==x-2)
{
printf("%d是一个素数 ",x);
a++;
if(a%5==0)
printf("\n");
}
}
printf("一共有素数%d个\n",a);
return 0;
}
8.求二维数组中的鞍点
#include
int main()
{
int a[3][3]={
{
1,2,3},{
4,5,3},{
7,8,9}};
int i,j,t,m,n,max,min;
for(i=0;i<3;i++)
{
for(j=1;j<3;j++)
{
max=a[i][0];
if(max<a[i][j]);
{
max=a[i][j];
t=j;
}
}
min=a[i][t];
for(m=1;m<3;m++)
{
if(min>a[m][t])
{
min=a[m][t];
n=m;
}
}
if(max==min&&n==i)
printf("有鞍点:a[%d][%d]=%d\n",n,t,a[n][t]);
else;
}
return 0;
}