C程序开发经典实例之8
文章作者 100test 发表时间 2007:04:06 21:29:44
来源 100Test.Com百考试题网
计算机等级考试训练软件《百宝箱》
【程序71】
题目:编写input()和output()函数输入,输出5个学生的数据记录。
1.程序分析:
2.程序源代码:
#define N 5
struct student
{
char num[6].
char name[8].
int score[4].
}stu[N].
input(stu)
struct student stu[].
{
int i, j.
for(i=0. i
{
printf("\n please input %d of %d\n", i 1, N).
printf("num: ").
scanf("%s", stu[i].num).
printf("name: ").
scanf("%s", stu[i].name).
for(j=0. j<3. j )
{
printf("score %d.", j 1).
scanf("%d", &.stu[i].score[j]).
}
printf("\n").
}
}
print(stu)
struct student stu[].
{
int i, j.
printf("\nNo. Name Sco1 Sco2 Sco3\n").
for(i=0. i {
printf("%-6s%-10s", stu[i].num, stu[i].name).
for(j=0.j<3.j )
printf("%-8d", stu[i].score[j]).
printf("\n").
}
}
main()
{
input().
print().
}
【程序72】
题目:创建一个链表。
1.程序分析:
2.程序源代码:
/* creat a list */
#include "stdlib.h"
#include "stdio.h"
struct list
{
int data.
struct list *next.
}.
/* 欢迎访问 C Builder研究 - www.ccrun.com */
typedef struct list node.
typedef node *link.
void main()
{
link ptr, head.
int num, i.
ptr = (link)malloc(sizeof(node)).
ptr = head.
printf("please input 5 numbers==>\n").
for(i=0. i<=4. i )
{
scanf("%d", &.num).
ptr->data = num.
ptr->next = (link)malloc(sizeof(node)).
if(i==4) ptr->next = NULL.
else ptr = ptr->next.
}
ptr = head.
while(ptr != NULL)
{
printf("The value is ==>%d\n", ptr->data).
tr = ptr->next.
}
}
【程序73】
题目:反向输出一个链表。
1.程序分析:
2.程序源代码:
/*reverse output a list*/
#include "stdlib.h"
#include "stdio.h"
struct list
{
int data.
struct list *next.
}.
typedef struct list node.
typedef node *link.
void main()
{
link ptr, head, tail.
int num, i.
tail = (link)malloc(sizeof(node)).
tail->next = NULL.
ptr = tail.
printf("\nplease input 5 data==>\n").
for(i=0. i<=4. i )
{
scanf("%d", &.num).
ptr->data = num.
head = (link)malloc(sizeof(node)).
head->next = ptr.
ptr = head.
}
ptr = ptr->next.
while(ptr != NULL)
{
printf("The value is ==>%d\n", ptr->data).
ptr = ptr->next.
}
}