编号1-10

 1. 用π/4≈1-1/3+1/5-1/7+…公式求π的近似值,直到某一项的绝对值小于10-6为止
void undergraduate_1(){	
	int flag = -1;
	float i=1.0;
	float pi=0,num=1.0;	
	while(fabs(num) > 1e-6)
	{			 
		pi +=  num;
		i += 2;
		num = 1/i;
		num = flag * num;
		flag = -flag;
	}
	pi = 4 * pi;
	printf("%f",pi);

} 
 

2.求Fibonacci数列前40个数0、1、1、2、3、5、8、13、2

void undergraduate_2(){
	
	int i=0;
	long f1=0,f2=1;
	while(i<20)
	{
		
		printf("%12d%12d",f1,f2);
		f1 = f1 + f2;
		f2 = f1 + f2;
		i++;
		if(i%2 == 0) printf("\n");
	}
}

3 删除字符串中的数字字符,以‘#’作为字符串的结束标志

 
void undergraduate_3(){ 
  	char str[200];
  	char ch;
  	int i=0,index=0;
  	gets(str);	 
  	
  	while(str[i] !='#')	
  	{
  		if(str[i] < '0' || str[i] > '9') 				 
  			str[index ++] = str[i];		 
  		i++;
  	}
  	str[i] = '\0';
  	puts(str); 
  }
 4.输出10000—20000之间个位数是7的素数个数,并将其中最大的素数返回。
void undergraduate_4(){
 
	int i = 10001,max_shushu=0,shushu_no=0;
	while(i < 20000)
	{
		if(i%10 == 7)
		{
			for(int j=2;j<sqrt(i);j++)
			{
				if(i%j == 0)
				{
					i += 2;
					continue;
				} 
			}
			shushu_no++;
			max_shushu = i;
		}	
		i +=  2;
	}
	printf("max_shushu = %d, shushu_no = %d",max_shushu,shushu_no);
}

5.统计输入英文字母的个数

void undergraduate_5(){
 

	char str[200];
	int len = 0,english_no = 0;
	gets(str);
	len = strlen(str);
	for(int i=0;i<len;i++)
	{
		if((str[i] > 'a' -1 && str[i] < 'z' -1 ) || (str[i] > 'A' -1  && str[i] < 'Z' - 1) )
		{
			english_no ++;
		}
	}
	printf("%4d",english_no);
}

6.矩阵主对角线元素平方之和

int undergraduate_6(int temp[3][3]){
 
	int sum = 0;
	for(int i=0;i<3;i++)
	{
		for(int j=0;j<=i;j++)
		{
			if(i == j)
			{
				sum += temp[i][j] * temp[i][j];
			}
		}
	}
	return sum;
}
                                                    
int main()
{
	 
	int a[3][3];
	for(int i=0;i<3;i++)
	{
		for(int j=0;j<3;j++)
		{
			scanf("%d",&a[i][j]);
		}
	}

	printf("%4d",undergraduate_6(a));
	return 0;
}

7.字符串倒序

void  undergraduate_7(){
 
	char str[200],temp;
	int len;
	gets(str);
	len = strlen(str);
	for(int i=0;i<len/2;i++){
		temp = str[i];
		str[i] = str[len-i-1];
		str[len-i-1] = temp;
	}
	str[len] = '\0';
	puts(str);
 
}

8.将字符串中的字母变成其后的字母,其中z变成a , Z变成A

void  undergraduate_8(){
 
	char str[200],temp;
	int len;
	gets(str);
	len = strlen(str);
	for(int i=0;i<len;i++)
	{		
		if((str[i] > 'a' -1 && str[i] < 'z') || (str[i] > 'A'-1 && str[i] < 'Z') )
		{
			str[i] += 1;
		}
		if(str[i] == 'z' || str[i] == 'Z')
		{
			str[i] -= 25;
		}
	}
	str[len] = '\0';
	puts(str);
 
}

9.非零整数的最大公约数

void  undergraduate_9(){
 

	int a,b,c;
	scanf("%d %d",&a,&b);
	c=a<b?a:b;	 	 	
	for(int i=c;i>1;i--)
	{
		if(a%i==0 && b%i == 0) break;
	}
	printf("%d",i);
}

10. 根据以下公式求π(要求满足精度0.0005)的近似值:π/2=1+1/3+(1*2)/(3*5)+(1*2*3)/(3*5*7)+……+(1*2*3*4*……*n)/(3*5*7*……*(2n+1))

void  undergraduate_10(){
 
	float chushu=1.0,bchushu=1.0,pi=1.0,temp;
	
	int n=1;
	while(true)
	{
		bchushu *= n;
		chushu *= (2*n + 1);
	 
		temp = bchushu/chushu;
		if(temp < 0.0006) break;
		pi += temp;
		n++;
	}
	pi *= 2;
	printf("%d",pi);
	 
}







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值