예를들어 1 2 3 4가 입력되면
1+7 을 10으로 나누고 나머지인 8
2+7 을 10으로 나누고 나머지인 9
3+7 을 10으로 나누고 나머지인 0
4+7 을 10으로 나누고 나머지인 1
에서 1번째 수와 3번째 수를 바꾸고
2번째 수와 4번째 수를 바꾸면
0 1 8 9 가 출력되도록 하게 코딩을 하는겁니다.
#include <stdio.h>
int main ( void )
{
int a;
int b;
int c;
int d;
printf(" Enter four digits : ");
scanf(" %d%d%d%d", &a, &b, &c, &d );
a = ( a + 7 ) % 10;
b = ( b + 7 ) % 10;
c = ( c + 7 ) % 10;
d = ( d + 7 ) % 10;
a = c + 0;
b = d + 0;
c = a + 0;
d = b + 0;
printf ( "It is %d%d%d%d", a, b, c, d );
return 0;
}
근데 이렇게 코딩하면 0 1 0 1 이 출력되는데.. 어디가 문제일까요.. ㅠㅠ
a = c + 0 이건 뭐냐
니 뇌가 문제입니다.
+0은 왜해준거지;;
근데 scanf()안에서 서식문자 사이 띄워줘야하지않나
그리고 숫자 맞바꿀때도
a=c; c=a; 이딴식으로하면 a=c가 먼저실행되서 둘다 걍 c로 통일되
temp 만들어서 temp = a; a=c; c=temp; 이런식으로 하나변수 더만들어서 중간에서 값을저장해주는애가 필요해
근데 이정도를 해결못할정도면 여기에 질문할바에는 책을 한번 더보는게 나을듯;;
+0은 왜함 ㄷㄷ?
걍 temp 쓰삼
int a,b,c,d;scanf("%d%d%d%d",&a,&b,&c,&d);a+=7;b+=7;c+=7;d+=7;printf("%d%d%d%d",c%10,d%10,a%10,b%10);
지존 과제갤