c言語で最初に入力した人数分の構造体に番号、名前、身⻑、体重を格納し、それらを表示させるプログラムをリスト構造を用いて作成せよ。構造体及び出力部分は以下のようにすること。 と出たのですがどうしてもできないのでどなたか教えてください。
struct Data{
int No;
char Name[20];
double Height;
double Weight;
struct Data *next;
}d[10];//構造体
while(p!=NULL){
printf("No.%d : %s\n
",p->No,p->Name);
printf("%.1f[cm] %.1f[kg]\n",p->Height,p->Weight);
p=p->next;//出力部分
途中経過のソースコードは以下の通りです。
#include<stdio.h>
struct Data{
int No;
char Name[20];
double Height;
double Weight;
struct Data *next;
}d[10];
int main(){
struct Data *p;
int i,a;
p=&d[0];
printf("Please input the number of people:");
scanf("%d",&a);
for(i=0;i<a;i++){
printf("No, %d name : ",i+1);
scanf("%s",d[i].Name);
printf("height : ");
scanf("%d",&d[i].Height);
printf("weight : ");
scanf("%d",&d[i].Weight);
if(i==a-1){
d[i].next = NULL;
}else{d[i].next = &d[i+1];
}
}
printf("No,%d : %s\n",p->No,p->Name);
printf("%.1f[cm] %.1f[kg]\n",p->Height,p->Weight);
p=p->next;
}
最後の表示部分に値が入っていません。
回答1件
あなたの回答
tips
プレビュー