예제 다음 수식을 계산하여 결과 출력
수식을 출력후 결과도 출력
1-(1+2)+(1+2+3)-(1+2+3+4+)+(1+2+3+4+5+).....(1+2+3+...+10)
지금 수식은 출력을 했는데 결과를 어디서 땡겨써서 괄호있는것을 다 계산해야 할 지 모르겠습니다.
손으로 계산해보니까 답이 -30인데 무엇때문인지 잘 모르겠습니다..
도와주세요 ㅠㅠ
위에 문제를 가지고 밑에 프로그래밍을 했는데 문제는 출력을 했는데 결과를 출력을 못하겠습니다..ㅠㅠㅠ
수정 좀 해주세요..밑에 형식 왠만하면 유지해주세요.. 다른 함수 쓰면 제가 이해를 잘못해서..
그리고 밑에 마지막(1+2+3+...+10)뒤에 +가 나오지 말아야 되는데 나오는 이유와 해결 좀 부탁드립니다.
코드 설명도 적어주시면 정말 좋겠습니다.
#include <stdio.h>
void main(void)
//int main()
{
int i,j,total=0,sum;
for(i=2;i<=10;i++)
{
printf("(");
for(j=1;j<=i;j++)
{
sum=sum+j;
total=total+sum;
printf("%d",j);
if(j==i)
break;
printf("+",j);
}
printf(")");
if (j%2==0)
printf("+");
else
printf("-");
}
printf("total=%d",sum);
}
(1)-(1+2)+(1+2+3)-(1+2+3+4)+(1+2+3+4+5)-(1+2+3+4+5+6)+(1+2+3+4+5+6+7)-(1+2+3+4+5
+6+7+8)+(1+2+3+4+5+6+7+8+9)-(1+2+3+4+5+6+7+8+9+10)
total=-13487345계속하려면 아무 키나 누르십시오 . . .
수정된 코드 입니다.~
int i,j,total=0,sum=0; // sum 초기화
for(i=1;i<=10;i++) // i= 1부터
{
printf("(");
sum = 0; // 1+2+3+4 등을 더하는 변수이기 때문에 더하기 전에 초기화
for(j=1;j<=i;j++)
{
sum=sum+j;
// total=total+sum; // 여기서 안한다. + - 출력할 때 해준다.
printf("%d",j);
if(j==i)
break;
printf("+",j);
}
printf(")");
if (j%2==0)
{
if (j <9) printf("+");
total=total-sum; // 여기서 total 계산
}else
{
printf("-");
total=total+sum; // 여기서 total 계산
}
}
printf("\ntotal=%d",total); // sum 이 아닌 total 을 출력
결과
(1)-(1+2)+(1+2+3)-(1+2+3+4)+(1+2+3+4+5)-(1+2+3+4+5+6)+(1+2+3+4+5+6+7)-(1+2+3+4+5
+6+7+8)+(1+2+3+4+5+6+7+8+9)-(1+2+3+4+5+6+7+8+9+10)
total=-30계속하려면 아무 키나 누르십시오 . . .