以前写的C语言的小程序(三)(供学习C语言初期的练习和参考)利用函数调用判断一个整数是否为素数 利用函数调用求分段函数的值 利用函数调用输出星号 求1到20阶乘的和 求二维数组中的鞍点

供初学者练习和参考使用,代码直接可以运行,这里我就不贴出结果截图了,可以自己运行看看。

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;
 } 

你可能感兴趣的:(C语言学习练习的小程序,c语言)