本文目录一览:
求一个学习C语言的网站
易码农
这边有大量的案例;fid=43
置顶的那几个帖子都是精华
一个是我的一点学习心得,有一个是入门案例汇总,一个是专业的自学指导,还有经典100例的汇总等上面还有一个交流的学习群。
c语言程序解答(在线等)?
根据题意:
1、项目序号应为唯一值,用自增变量填充。
2、时间使用struct tm结构体(考虑如需时间运算,可使用相关函数)。
3、自定义结构类型SIINFO,分别实现插入链表和打印链表两个功能。
4、由于这个演示程序执行完就结束程序了。所以链表我没有写free释放内存,如你后期扩充代码,自己写释放(除程序结束,malloc申请内存不会自动释放)。
下面是演示代码:
#include stdio.h
#include malloc.h
#include time.h
#define MS 4//最大类型个数
#define MN 20//名称最大字符长度
char stypes[MS][10]={"速度型","力量型","耐力型","对抗型"};//项目类别,自行扩展,对应修改MS常量
typedef struct SportsItemInfo//定义一个体育项目结构类型
{
int id;//项目序号,从数据结构考虑,该项不能重复,应设为自增从0开始(实际开发,这个值由数据库分配)。
char name[MN+1];//项目名称
int stype;//项目类(对应stypes行下标)
int n;//参赛人数
struct tm sDate;//竞赛时间
struct SportsItemInfo *next;
}SIINFO;
SIINFO *insert2List(SIINFO *p_sHead);//插入新数据,首次插入参数传NULL。参数:链表头节点地址(不是首节点)。成功返回头节点,失败返回NULL。
void selectFList(SIINFO *p_sHead);//查询链表
int main()
{
char c;
SIINFO *p_sHead=NULL,*stemp=NULL;
printf("新增体育项目:\n");
while(1)
{
stemp=insert2List(p_sHead);
if(!stemp)
{
printf("ERROR!\n");
return 1;
}
p_sHead=stemp;
printf("是否继续输入(Y/N):");
c=0;
while(c!='Y' c!='N')scanf("%c",c);
if(c=='N') break;
}
selectFList(p_sHead);
return 0;
}
void selectFList(SIINFO *pht)
{
int i=0;
if(pht)
{
printf("\n输出链表信息:\n");
while(pht-next)
{
printf("-----------项目%d---------\n",++i);
printf("项目序号:%d\n",pht-next-id);
printf("项目名称:%s\n",pht-next-name);
printf("项目类别:%s\n",stypes[pht-next-stype]);
printf("参赛人数:%d\n",pht-next-n);
printf("参赛时间:%04d-%02d-%02d %02d:%02d:%02d\n",pht-next-sDate.tm_year+1900,pht-next-sDate.tm_mon+1,pht-next-sDate.tm_mday,pht-next-sDate.tm_hour,pht-next-sDate.tm_min,pht-next-sDate.tm_sec);
printf("--------------------------\n");
pht=pht-next;
}
}
}
SIINFO *insert2List(SIINFO *p_sHead)
{
static int x=0;
static SIINFO *p_sTail=NULL;
int i;
SIINFO *p_new=NULL;
if(!p_sHead){
p_sHead=(SIINFO*)malloc(sizeof(SIINFO));
if(!p_sHead)
return NULL;
p_sHead-next=NULL;
p_sTail=NULL;
}
p_new=(SIINFO*)malloc(sizeof(SIINFO));
if(!p_new)
return NULL;
p_new-next=NULL;
p_new-id=x++;
printf("--------------------------\n");
printf("项目名称:"),scanf("%s",p_new-name);
for(i=0,printf("项目类(");iMS-1;printf("%d、%s,",i,stypes[i]),i++);
printf("%d、%s):",i,stypes[i]);
p_new-stype=-1;
while(p_new-stype0 || p_new-stypeMS-1)scanf("%d",p_new-stype);
printf("参赛人数:"),scanf("%d",p_new-n);
printf("参赛时间(输入格式:年-月-日 时:分:秒):");
scanf("%d-%d-%d %d:%d:%d",p_new-sDate.tm_year,p_new-sDate.tm_mon,p_new-sDate.tm_mday,p_new-sDate.tm_hour,p_new-sDate.tm_min,p_new-sDate.tm_sec);
p_new-sDate.tm_mon--;//tm结构的月份是从0开始对应1月
p_new-sDate.tm_year=p_new-sDate.tm_year-1900;//tm结构的年份是实际年份-1900
if(!p_sHead-next)
p_sHead-next=p_new;
else
p_sTail-next=p_new;
p_sTail=p_new;
printf("--------------------------\n");
return p_sHead;
}
最大的C语言提问题,回答问题的中文网站是什么网?
我经常在网上搜索C方面的知识,想说一下我的体会。。
感觉CSDN里面提问或者是回答,都很专业。里面有很多程序员,不少高手,好多牛X的人。。而且回答的人数很多,回答的都很好,一般看到一些CSDN的回答,我都需要消化一些时间才行。。
百度知道里面感觉提问题的都是学生?提的问题都是一些很基础的,不够深入,专业点的,很少有人去回答,不知为什么?不过知道里面也有不少高手。。
呵呵,我只是一个初学者,现在只在知道回答下问题,CSDN里我只提问,很少参与回答,只有看的份。。
以上只是个人见解,如果有不好的地方请见谅。。
我想自学c语言,大家推荐个网站吧
在快动网自学c语言方法步骤
1、工欲善其事,必先利其器
自学计算机编程最好自己能有一台电脑,配置不需要太高能上网能运行编程环境就行,还需要一个优盘就可以了,如果没有自己的电脑就去网吧办一张上网卡吧。
2、自学最重要的是什么?
在大学几年就是要大家学会自学的能力今后在工作中才会永远能跟上知识更新的步伐。
自学最重要的就是要有自觉学习的精神,首先要给自己制定一个适合自己的合理的学习计划,不要受外界干扰一步一个脚印的按照计划进行(切记不要激进哦)。
3、先把要考试大纲中的知识点学会再说
快动网设计开发的视频教程都是以考试大纲为基础,还包括了考试大纲没有要求的但是是整个知识体系不可缺少的知识点,所以大家可以以视频教程为主线进行自学,并参考
快动网老师编写的视频教程配套电子教材。如果在学习中对视频教程有什么意见要及时反馈哦。
4、要边学边练哦
看着视频教程不要只是看只是听一定还要做,就是按照视频教程上的程序,步骤在编程工具上去编写程序去运行、调试程序。通常建议大家学完一个小节或一个小阶段(几个小节)就要去练习。
充分利用快动网计算机等级考试自学平台的功能进行练习。
5、历年考试卷都是分啊
把视频教程学完了就去看看历年的考试卷吧,不要害怕哦要勇敢去面对,因为可能你开始做几道题发现都不会,这是很正常的!不要气馁!快动网的老师将历年的考试题目都写了完整的解析,大家先
做,不会了再去看解析一定要遵循这样的过程哦。切记对于应用类型的题目要去掌握不要去死背!!!就这样至少要做5套试卷才可以基本上覆盖到考试的题型。
6、最后该上机考试了
从快动网下载上机题库进行练习,题库是word文档格式上面有参考答案,大家在练习时把答案删除再去做,上机题型视频教程已经发布大家可以去听听。
7、一定要多问勤问
遇到问题立即去“交流提问版块”发帖子提问,快动网的老师和版主会及时解答的,相信只要我们共同努力一切问题都会解答!
最后祝你自学成才!!!