今日练习:
34、通过指向结构体变量的指针变量变量输出结构体变量中的信息。
35、建立一个简单链表,它由3个学生数据的结点组成,要求输出各结点中的数据。36、从键盘输入一些字符,逐个把他们送到磁盘上去,直到用户输入一个"#"为止。37、输入连个正整数 n 和 m ,求其最大公约数和最小公倍数
通过指向结构体变量的指针变量变量输出结构体变量中的信息。
运行代码
int main()
{
struct student
{
int num;//学号
char name[20];//姓名
char sex;//性别
float score;//成绩
};
struct student s_1;
struct student* p;
p = &s_1;
s_1.num = 10010;
strcpy(s_1.name, "yan");
s_1.sex = 'M';
s_1.score = 100;
printf("学号:%d\n 名字:%s\n 性别:%c\n 成绩:%f\n",s_1.num,s_1.name,s_1.sex,s_1.score);
return 0;
}
运行结果
建立一个简单链表,它由3个学生数据的结点组成,要求输出各结点中的数据。36、从键盘输入一些字符,逐个把他们送到磁盘上去,直到用户输入一个"#"为止。37、输入连个正整数 n 和 m ,求其最大公约数和最小公倍数
运行代码
struct student
{
int num;
float score;
struct student* next;
};
int main()
{
struct student str1, str2, str3;
struct student* head, * point;
str1.num = 1;
str1.score = 90.8;
str2.num = 2;
str2.score = 90.0;
str3.num = 3;
str3.score = 85.0;
head = &str1;
str1.next= &str2;
str2.next = &str3;
str3.next = NULL;
point = head;
do
{
printf("%d %3.1f\n", point->num, point->score);
point = point->next;
} while (point != NULL);
return 0;
}
运行结果
从键盘输入一些字符,逐个把他们送到磁盘上去,直到用户输入一个"#"为止。
运行代码
int main()
{
FILE *fp;
char ch = '0';
char filename[10] ;
printf("请输入所用的文件名:");
scanf("%s", filename);
if ((fp = fopen(filename, "w")) == NULL)//w是指只允许写内容
{
printf("无法打开此文件\n");
exit(0);
}
ch = getchar();
printf("请输入一个准备存储到磁盘的字符串(以#结束):");
ch = getchar();
while (ch != '#')
{
fputc(ch, fp);
putchar(ch);
ch = getchar();
}
fclose(fp);
putchar(10);
return 0;
}