データ構造 -- 10 進数から 2 進数へ (スタックとポインターを使用)

データ構造コースの宿題を練習し、記録します

コンパイルソフト:Dev-C++

合計 2 つのソースコード (text1.h、text2.c) が作成され、1 つのフォルダーに配置されます。

 

text1.h はヘッダー ファイル、text2.cはメイン関数ファイルで、実行時に text2.c でコンパイルおよび実行されます

予防:

text1.h は保存時に.hファイルとして直接保存されます。

text2.c は保存時に.cファイル として保存されます

実装コード:

text1.h 

#include<stdio.h> 
#include<stdlib.h>
typedef struct linknode{     int data;     構造体リンクノード *next; }ノード; 


typedef struct {     struct linknode *top; }スタック;

void init(stack *k){     k->top=NULL; }

void Push(stack *k,int x){     ノード *s;     s=(ノード *)malloc(サイズオブ(ノード));     s->データ=x;     s->次=k->トップ;     k->トップ=s; }





int Pop(stack *k){     if(k->top!=NULL)     {ノード *q;     q=k->トップ;     int x=q->データ;     k->トップ=q->次;     フリー(q);     x を返します。             } }









void change(int n){     スタック s1,*t;     t=&s1;     int m;     初期化(t);     while(n!=0){         m=n%2;         プッシュ(t,m);         n=n/2;     while     (t->top!=NULL){         printf("%d",pop(t));     } }









    



text2.c

#include<stdio.h>
#include "text1.h"
int main(){     int a;     printf("10 進整数を入力してください\n");     scanf("%d",&a);     change(a);     0を返す;  }





操作結果:

注: 必ず text2.c ファイルでコンパイルと実行を開始してください。

 

Supongo que te gusta

Origin blog.csdn.net/qq_57409899/article/details/124360641
Recomendado
Clasificación