질문한개만 할께요!!!!!!! 결과값이 이상하네요!!! 간단함 고수님들 도움좀
by풀잎
#include stdio.hint check_digit(int a[]);
#define N 12
int main(void)
{
int check;
int a[N];
int i;
printf(12개의 digit들을 입력하세요:);
for(i=0; iN; ++i)
scanf(%d,&a[i]); check=check_digit(a);
if(check != 0)
check=10-check;
if(check==a[11])
printf(Validated);
else
printf(error in barcode \n);return 0;
}int check_digit(int a[]){
int k=0;
int m=1;
int sum;
int sum_1=0;
int sum_2=0;
while(k12)
{
sum_1=sum_1+a[k];
k = k+ 2;
}
sum_1=3*sum_1; while(m12)
{
sum_2 = sum_2+a[m];
m=m+2;
}
sum=sum_1+sum_2;
return sum%10;}프로그램 간단히 설명해보면 12개의 숫자를 입력받으면 11번째 숫자까지의 홀수항의 합 곱하기 3에다가 짝수항의 숫자의 합을 더한값의 일의자리숫자를 10에서 뺀 숫자가(0일경우에는 빼지않고 그대로 0)맨마지막 12번째 숫자와 같으면 Valid출력, 다르면 error출력 하는 프로그램인데요 여기에 0 7 9 4 0 0 8 0 4 5 0 1을 입력하면 Valid가 나와야하는데 왜 error가 나올까요? 그 이유를 알고싶어요 ㅠㅠ 고수님들 도와주셈!!
-
으뜸
우와!!!!!!!진짜정말로 감사드립니다!!!!!!!! ㅜㅜㅜㅜㅜㅜㅜㅜ우와오아ㅗ아ㅗ아ㅗ아!!드디어됀다
-
푸르나
while(m12){
sum_2 = sum_2+a[m];
m=m+2;
}
를
while(m11){
sum_2 = sum_2+a[m];
m=m+2;
}
로 고쳐주시면 될 것 같습니다.
그리고 조건을 m 12로 하시는 것 보다 m N - 1로 하시는게 더 나을것 같네요
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2676564 | 출력이... 안뜨네요 ^^ | 예그리나 | 2024-11-28 |
2676534 | 포인터 배열 질문이요~ | 회사원 | 2024-11-27 |
2676506 | 미분값 구하기 | 가시 | 2024-11-27 |
2676474 | 함수 수행시간 측정에 대해서 질문 할께요 | 핑크빛애교 | 2024-11-27 |
2676443 | 이상해요!! (2) | 다온 | 2024-11-27 |
2676415 | scanf 함수 | Creator | 2024-11-26 |
2676357 | 질문있어요..ㅜㅜ (1) | 일진누나 | 2024-11-26 |
2676326 | exit문으로 프로그램 종료가 되지 않습니다. (4) | 달달한캔디 | 2024-11-26 |
2676298 | 코드 해석좀 부탁 드려요 | 남 | 2024-11-25 |
2676182 | 숫자 순서대로 배열하는법 | 권뉴 | 2024-11-24 |
2676152 | 기본적인거 하나 질문드립니다. | 개미 | 2024-11-24 |
2676124 | 함수선언관련 질문이에요~...털썩..수정완료 (2) | 가지 | 2024-11-24 |
2676092 | C언어 책 (2) | 아서 | 2024-11-24 |
2676065 | 웹사이트 또는 메신저 등에서 원하는 텍스트를 검사하는방법?? (1) | 모든 | 2024-11-23 |
2676033 | 배열 기초연습중 발생하는 에러 ㅠㅜ... | Creative | 2024-11-23 |
2676005 | keybd_event 게임 제어 | 영글 | 2024-11-23 |
2675900 | 진짜기본적인질문 | 글길 | 2024-11-22 |
2675845 | 수정좀해주세요ㅠㅠㅠ | 해골 | 2024-11-21 |
2675797 | 병합 정렬 소스 코드 질문입니다. (2) | 도래솔 | 2024-11-21 |
2675771 | 큐의 활용이 정확히 어떻게 되죠?? | 해긴 | 2024-11-21 |