文档章节

每日5题之8.10

生命奇迹泉
 生命奇迹泉
发布于 2016/04/20 15:42
字数 759
阅读 3
收藏 0

结构体




/********************************************************************************************************************
题目:编写input()和output()函数输入,输出5个学生的数据记录。(用结构体设计,学生记录中包括学号、姓名、四门课程成绩)
程序源代码:
**********************************************************************************************************************/
#include <stdio.h>
#define N 5


struct student

char num[6];
char name[8];
int score[4];
} stu[N];//定义一个结构体类型student和结构体变量stu。


/*********************************************************************/
void input(struct student stu[]);
void print(struct student stu[]);//声明输入和输出函数
/************************************************************************/


void main()
{


input(stu);
print(stu);
}/********主函数执行输入和输出函数****************************************/




void input(struct student stu[])/*结构体变量为形参*/

int i,j;
for(i=0;i<N;i++)

printf("\nplease 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");
}
}/**********定义输入函数input()***************************************************/






void print(struct student stu[])

int i,j;
printf("\nNo. Name    Score1 Score2 Score3\n");
for(i=0;i<N;i++)

printf("%-3s%-9s",stu[i].num,stu[i].name);//%3s是为了和上面的标题对齐所采用的格式控制办法。
for(j=0;j<3;j++)
printf("%-8d",stu[i].score[j]);
printf("\n");
}
}/******************定义输出函数********************************************************/




/*建立100名学生的信息表,每个学生的数据包括学号、姓名、及一门课的成绩,要求从键盘输入这100名学生的信息,
并按照每一行显示一名学生信息的格式将他们的信息显示出来。*/


#include <stdio.h>
#define N 3
/*************************定义结构体类型,不包含结构体变量***************************************************/ 
struct  student
 {    
int num;
char name[20];
int score;
 };
 
 /****************************************************************************/
 void main()
 {
int  i;
struct student s[N];  /*定义结构体类型数组,长度100,这里为了测试方便设为3,相当于结构体变量*/
 
for(i=0;i<N;i++)
{    
printf("input number:");
scanf("%d",&s[i].num);
printf("input  name:");
scanf("%s",s[i].name);//输入字符串时,字符串变量前边不用添加&符号。使用%s
printf("input score:");
scanf("%d",&s[i].score);
}//结构体赋值采用for循环结构对成员逐个赋值。




printf("Number:  Name:    score:\n");//打印标题
 
for(i=0;i<N;i++)
printf("%-9d%-9s%d\n",s[i].num,s[i].name,s[i].score);//循环打印,注意控制对齐方式
 }


【程序3

题目:创建一个链表。

程序源代码:

/*creat a list*/

#include "stdlib.h"

#include <stdio.h>

 

#define N  3

struct list

int data;

struct list *next;

};

typedef struct list node;

typedef node *link;

void main()

link ptr,head;

int num,i;

int j;

printf("please input numbers==>");

scanf("%d",&j);

ptr=(link)malloc(sizeof(node));

head=ptr;

printf("please enter numbers:");

for(i=0;i<=j-1;i++)

{

scanf("%d",&num);

ptr->data=num;

ptr->next=(link) malloc(sizeof(node));

if(i==j-1) 

ptr->next=NULL;

else

ptr=ptr->next;

}

ptr=head;

while(ptr!=NULL)

printf("The value is ==>%d\n",ptr->data);

ptr=ptr->next;

}

}

==============================================================

【程序4

题目:反向输出一个链表。   

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;

int j;

printf("please input numbers==>");

scanf("%d",&j);

tail=(link)malloc(sizeof(node));

tail->next=NULL;

ptr=tail;

printf("\nplease input data==>");

for(i=0;i<=j-1;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;

}

}


本文转载自:http://blog.csdn.net/shengmingqijiquan/article/details/47405681

共有 人打赏支持
生命奇迹泉
粉丝 1
博文 42
码字总数 0
作品 0
海淀
程序员
私信 提问
【Java每日一题】20161031

20161028问题解析请点击今日问题下方的“【Java每日一题】20161031”查看 今日问题: 请问主程序输出结果是?(点击以下“【Java每日一题】20161031”查看20161028问题解析) 题目原发布于公...

weknow
2016/10/31
6
0
【Java每日一题】20161109

20161108问题解析请点击今日问题下方的“【Java每日一题】20161109”查看 今日问题: 请问主程序能否正常运行?(点击以下“【Java每日一题】20161109”查看20161108问题解析) 题目原发布于...

weknow
2016/11/09
4
0
【Java每日一题】20161107

20161104问题解析请点击今日问题下方的“【Java每日一题】20161107”查看 今日问题: 请问主程序能否正常编译通过?(点击以下“【Java每日一题】20161107”查看20161104问题解析) 题目原发...

weknow
2016/11/07
3
0
【Java每日一题】20161104

20161103问题解析请点击今日问题下方的“【Java每日一题】20161104”查看 今日问题: 注释1和2两处的作用是否一样?(点击以下“【Java每日一题】20161104”查看20161103问题解析) 题目原发...

weknow
2016/11/04
4
0
【Java每日一题】20161102

20161101问题解析请点击今日问题下方的“【Java每日一题】20161102”查看 今日问题: 请问主程序哪种遍历方法效率更高?(点击以下“【Java每日一题】20161102”查看20161101问题解析) 题目...

weknow
2016/11/02
3
0

没有更多内容

加载失败,请刷新页面

加载更多

Java单例模式学习记录

在项目开发中经常能遇见的设计模式就是单例模式了,而实现的方式最常见的有两种:饿汉和饱汉(懒汉)。由于日常接触较多而研究的不够深入,导致面试的时候被询问到后有点没底,这里记录一下学习...

JerryLin123
昨天
3
0
VSCODE 无法调试

VSCODE 无法调试 可以运行 可能的原因: GCC 的参数忘了加 -g

shzwork
昨天
4
0
理解去中心化 稳定币 DAI

随着摩根大通推出JPM Coin 稳定币,可以预见稳定币将成为区块链落地的一大助推器。 坦白来讲,对于一个程序员的我来讲(不懂一点专业经济和金融),理解DAI的机制,真的有一点复杂。耐心看完...

Tiny熊
昨天
4
0
5.线程实现

用于线程实现的Python模块 Python线程有时称为轻量级进程,因为线程比进程占用的内存少得多。 线程允许一次执行多个任务。 在Python中,以下两个模块在一个程序中实现线程 - _thread 模块 th...

Eappo_Geng
昨天
6
0
ServiceLoader

创建一个接口文件在resources资源目录下创建META-INF/services文件夹在services文件夹中创建文件,以接口全名命名创建接口实现类 内容me.zzp.ar.d.PostgreSQLDialectme.zzp.ar.d.Hype...

Cobbage
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部