C언어 소스코드 좀 봐주세요 ㅠㅠㅠㅠ

super1682의 이미지

#include<stdio.h>
#include<math.h>
 
void haha(int decimal2[],int count){  //2진수를 16진수로 바꾸는 함수, count는.... 이진수가 저장되어 있는... 방+1입니다.
    int k,i,j,hexadecimal[50]={0};  //이 함수에 필요한 변수들
    int g; 
    // g는 hexa배열에 저장되는 방의 개수예요. (그러니깐 100이라고 하면은
    // 이진구 네개씩 자르면 2개로 나누어지죠? 그래서 2개의 방에 저장된다.. 그말인데 무
    // 슨 말인지 아시겠어요??
 
    for(j=0,g=((count-1)/4)+1; j<g; j++){  // hexa 처음 방 
        // 이거는 4개로 자른 이진수의 마지막방에서 4번째까지 hexa [0]에 저장한거예요
        for(i=count-1,k=0;k<4;i--,k++){   
 
            //  pow가 뭐냐면... ㅎㅎ 4자리로 나눠서 그 네자리를 십진수로 바꿔서 더하잖아요??
            // 그래서 pow함수를 써서 함거예요(2의 0,1,2,3 승이요)
            hexadecimal[j] += decimal2[i]*pow(2, k);
        }
        count -=4; // 4개의 숫자를 하고 이제 그 다음 4개를 가지고 더하는 거라서 이렇게 한거예요
    }
    for(i=g-1;i>-1;i--){ //  이건 이 hexa 함수의 값을 출력한거예요
        if(hexadecimal[i]>9) // 해당되는 방에 저장되어 있는 숫자가 10이상이면 문자로 출력하는거예요
            printf("%c",'A'+hexadecimal[i]-10); // A~F 까지 출력
        else
            printf("%d",hexadecimal[i]); // 9이하이면 그냥 숫자로 출력해요
    }
}
 
// 근데 16부토는 어떻게 해요/ㅠㅠ. 모르겠어요 ㅠㅠㅠ
 
 
int main(){
    int num;
    int count=0, i,count1=0,j,num2;
    int decimal[50]={0},decimal2[50]={0};
    int gray[50]={0};
 
    while(1){
        while(1){
            printf("십진수를 입력하세요 : ");
            scanf_s("%d",&num);
            if(num>=100)
                break;
            else
                printf("세자리 이상의 값을 입력해 주세요 >3<\n");
        }
        if(num=='Z')
            break;
 
        num2=num;
        for (i = 0; num2 > 0; i++){
            decimal[i] = num2 % 2;
            num2 = num2 / 2;
            count++;
        }
 
        printf("2진수 표현 : ");
        for (i = count-1; i >= 0; i--){
            printf("%d", decimal[i]);
        }
 
        gray[0] = decimal[count-1];
 
        printf("\n그레이 코드 표현 : ");
        for(i=count-1,j=1;i>=0;i--,j++){
            gray[j] = decimal[i]^decimal[i-1];
            count1++;
        }
        for (i=0; i<count1; i++){
            printf("%d", gray[i]);
        }
        for(i=1;i<count-1;i++){
            decimal2[0]=gray[0];
            decimal2[i]=decimal2[i-1]^gray[i];
        }
        printf("\n");
        printf("16진수 표현 : ");
        haha(decimal2,count);
        printf("\n");
    }
}
김정균의 이미지

코드 정리해 드렸습니다.

super1682의 이미지

어떻게 확인해야 되는 건지 모르겟네요 ㅠ

김정균의 이미지

코드를 답변을 하실 분들이 읽기 좋게 정리를 해 드렸다는 의미입니다. (코드 수정을 했다는 것이 아니라..)

코드를 올려 주실 때는 < code > < / code > block을 이용해서 올려 주시면 indent 들이 제대로 출력이 되니 코드를 올리실때는 code block을 이용해 주세요. (제가 정리해 드렸다는 의미는 올려주신 코드에 code tag를 추가해 줬다는 의미입니다.)

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.