选择题
从键盘上顺序输入整数,直到输入的整数小于0时才停止输入,然后反序输出这些整数。请填空。
#include<stdio.h>
#include<malloc.h>
struct data
{
int x;
struct data *link;
} *p;
void input()
{
int num;
struct data *q;
printf("Enter data: ");
scanf("%d",&num);
if(num<0)
return;
q=(struct data *)malloc(sizeof(struct data));
q->x=num;
q->link=p;
p=q;//这个我不知很能理解是什么意思
input();
}
int main()
{
printf("Enter data until data<0: \n");
p=NULL;
input();
printf("Output: \n");
while(p!=NULL)
{
printf("%d ",p->x);
p=p->link;
}
return 0;
}
从终端上输入5个人的年龄、性别和姓名,然后输出
#include <stdio.h>
struct man{
char name[20];
unsigned age;
char sex[7];
};
void data_in(struct man *p,int n);
void data_out(struct man *p,int n);
int main()
{
struct man person[5];
data_in (person,5);
data_out (person,5);
}
void data_in(struct man*p,int n)
{
struct man *q=p+n;
for(;p<q;p++)
{
printf("age:sex:name");
scanf("%u%s",&p->age,p->sex);
gets(p->name);
}
}
void data_out(struct man *p,int n)
{
struct man *q=p+n;
for(;p<q;p++)
printf("%s;%u%s\n",p->name,p->age,p->sex);
}