データ構造コースの宿題を練習し、記録します
コンパイルソフト: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 ファイルでコンパイルと実行を開始してください。