Hzu挑战自我


私信TA

用户名:gxhzxyjsj

访问量:98832

签 名:

2024终究会过去,期待2025!

等  级
排  名 8
经  验 27865
参赛次数 67
文章发表 157
年  龄 0
在职情况 教师
学  校 贺州学院
专  业 软件工程

  自我简介:

弱鸡一个,继续努力!

解题思路:分析题目,发现有如下规律:

A1=sin(1)

A2=sin(1-sin(2))

A3=sin(1-sin(2+sin(3)))

S1=A1+1

S2=(A1+2)A2+1

S3=((A1+3)A2+2)A3+1


先在主函数构建S1,S2,S3的输出,然后再编写一个funA函数构建A1,A2,A3等等的输出即可。

参考代码:

#include <stdio.h>
void funA(int n)    //An的输出 
{
	for(int i=1;i<=n;i++)
	{
		printf("sin(%d",i);  //先输出An的第一项sin(1 
		if(i<n)
		{		
			if(i%2==0)
				printf("+",i);   //再输出 + 或者- 
			else
				printf("-",i);
		}
	}		
	for(int i=1;i<=n;i++)  //输出右边的括号数 
		printf(")");
}
int main()
{
	int n;
	scanf("%d",&n);
	for(int i=1;i<n;i++)  //输出最前面的( 
		printf("(");
	for(int i=1;i<=n;i++)
	{
		funA(i);             //实现A1,A2,A3等等的输出 
		printf("+%d",n-i+1); //输出后面的+n,或者+(n-1)等等 
		if(i<n)
			printf(")");     //不是最后一项,都输出) 
	}	
	return 0;
}


 

0.0分

0 人评分

  评论区

  • «
  • »