不错又是我,我的C语言老师又布置了一大波好难好难得作业所以来求助大神们,三道题 关于学习C语言

作者&投稿:望敬 (若有异议请与网页底部的电邮联系)
//综合练习 第一题解答

#include<stdio.h>
#include<stdlib.h>
#include<assert.h>

struct student
{
int NO;
struct student* next;
};

struct student* CreateCircleList(int num)
{
if (num<=0)
return NULL;

struct student* pHead = NULL;
struct student* p1    = NULL;
struct student* p2    = NULL;

int counter = 1;

p1 = (struct student*)malloc(sizeof(struct student));
assert(NULL != p1);
p1->NO = counter;
pHead = p1;
p2 = p1;

while (++counter <= num)
{
p1 = (struct student*)malloc(sizeof(struct student));
assert(NULL != p1);

p1->NO = counter;
p2->next = p1;
p2 = p1;
}

p1->next = pHead;

return pHead;
}

void PrintCircleList(struct student* pHead)
{
printf("Student NO: ");
if (!pHead)
{
printf("NULL
");
return ;
}

struct student* pMove = pHead;
do
{
printf("%d ", pMove->NO);
pMove = pMove->next;
} while(pMove != pHead);

printf("
");
}

void Process(struct student* pHead, int delete_NO)
{
if (!pHead || delete_NO <=0)
return ;

struct student* pTarget = pHead;
struct student* pFollow = NULL;

if (1 == delete_NO)
{
pFollow = pHead;
while(pFollow->next != pHead)
pFollow = pFollow->next;
}

while (pFollow != pTarget)
{
for (int i=1; i<=delete_NO-1; ++i)
{
pFollow = pTarget;
pTarget = pTarget->next;
}

struct student* pDelete = pTarget;
printf("delete NO: %d
", pDelete->NO);
pTarget = pTarget->next;
pFollow->next = pTarget;

free(pDelete);
}

printf("the last student's NO is %d
", pTarget->NO);
}

int main()
{
struct student* pHead = NULL;
int num = 0;
int start_delete_position = 0;

printf("how many students in your class? num = ");
scanf("%d", &num);

pHead = CreateCircleList(num);
PrintCircleList(pHead);

printf("start_delete_position = ");
scanf("%d", &start_delete_position);
Process(pHead, start_delete_position);

return 0;
}


专门解决c语言作业的来啦

c语言编程怎样入门~

任何知识的学习没有太多捷径,但有经验、方法及教训
(1)基础教材选择-系统又通俗易懂,最好有该书配套免费视频
建议选择系统正统的大学教材,尽量不要选择“多少天精通C语言”等吸引眼球的教程,相信一点C语言学习没有速成。这里给大家推荐一本不错的入门教程:清华大学出版社-孙海洋-C语言程序设计,讲解很透彻、知识点很全面、例程较多且通俗易懂。优酷“孙海洋课题”还有全书免费教学视频,便于自学。


(2)动起手来--立马安装VC++6.0或VS开发环境
C语言是特别注重动手实操能力的课程!!动起手来,现在开始安装VC++6.0开发环境,从第一个经典程序“Hello,world!”开始,每一个例题及知识点均通过开发环境验证、理解深化。多做每一章小型实验操作(网上多得很)。提升代码调试能力。
(3)有了基础后,一般可以有两个发展方向可供选择
(i)转向项目实战
建议购买一本C语言项目教程,在实践项目中强化理论知识的学习。
(ii)继续深入理论学习
建议购买国外经典深入学习C语言的教程,人民邮电出版社-C Primer Plus(第5版),或者 机械工业出版社-C程序设计语言(第2版.新版)

下定信心,坚持下去!希望对你有所帮助。

下面是转载的 孙海洋 版 C语言程序设计 部分内容截图。
















相对于其他编程语言,C语言还是比较难的。初学者需要注意一下几点:

一是学习顺序

先从熟悉简单的C语言语法开始入门,然后再循序渐进,学习C++语法,WIN32、MFC、QT、网络编程,数据库、数据结构、算法、COM、STL等。构建一个完整的C语言知识体系。这需要一个比较漫长的学习积累的过程。语法入门部分大概2-3个月,其他部分需要学习和工作中慢慢理解和消化了。



二是学习方法

人的知识80%是通过眼睛获取的,但是学习编程有所不同,除了看书、看视频之外,关键是要勤动手,勤动脑。通过做大量的练习、项目实战不断积累代码量。只有代码量足够多了,项目做的多了,才能算是真正学会了。项目能否完成,就是衡量是否学会的唯一标准。后期就是代码的质量和优化问题了,这个只能在项目工作中慢慢积累经验了。


最后强调一点,很多人学不会编程是因为掉坑里了。就是教程或者书上的知识点之间跨越太大,作为一个初学者很难自己摸索出来,前面的知识点没有掌握,接着学习后面的知识,肯定是学不会了。目前绝大多数编程书籍和教程或多或少都有这样的弊端。自学能力比较强的人可以通过各种方法,参考各种网上的资料自己解决。但是大多数自学能力不是很强的人,只能依赖老师、同学、同事或者朋友帮忙指导,或者报名培训机构,老师指导完成了。

学习编程通常需要一些好的学习资料,包括纸质的书籍,视频教程,课件,项目练习,代码。零基础入门的书籍推荐《明解C语言》、《C Primer Plus》,还有一本非常特别的汇编和C语言正向逆向结合的书编程达人内部教材《汇编、C语言基础教程》也非常不错,讲解汇编和C语言的本质非常透彻,非常细致。视频资料也是特别多了,各种视频网站、论坛、自媒体都有,比如网易课堂、腾讯课堂、慕客网这些。还有一些论坛,比如CSDN、编程中国等。最重要的一点就是答疑服务,推荐爱达人的网站也很不错,从零基础入门到应用课程,配套的视频、课件、代码、项目、答疑服务都有,还可以兼职接单,学以致用。

又是C语言的,不知哪里错了,不管我输入的是哪个范围的数都是显示“no...
答:--- a 90~100请按任意键继续. . .--- include <stdio.h> void main(){ char dj;scanf("%c",&dj);switch (dj){ case 'a' :printf("90~100");break;case 'b':printf("80~89");break;case 'c':printf("70~79");break;case 'd':printf("60~69");break;case 'e':printf...

C语言问题,老师布置的作业,上交到网上由电脑改,我构建之后没问题_百 ...
答:printf("%lf\n",b); 应该要换行吧

C语言又遇问题了,我照着教材的选择题程序输入,就想验证一下,结果是错...
答:书上很多程序都是错的 这个题目我看意图应该是这样 你看下 include<stdio.h> struct HAR {int x,y;struct HAR *p;}h[2];main(){h[0].x=1;h[0].y=2;h[1].x=3;h[1].y=4;h[0].p=&h[1];h[1].p=h;printf("%d%d",(h[0].p)->x,(h[1].p)->y);} 这样的话 ...

C语言问题,麻烦各位大神帮我看看,哪儿出错了,为什么交上去就是错的
答:没用过你的long long型,我一般是用double,简单的写了写,你看看吧,你少了个数组,所以格式有误了 include <stdio.h> int main(){ int n,i,j,k;long a;long s=1;long b[50]={0};scanf("%d",&k);for(i=1;i<=k;i++){ scanf("%ld%d",&a,&n);for(j=1;j<=n;j++){...

C语言编程是出现这样的错误:unknown character '0xa3'。是什么意思呢...
答:使用了中文,或者全角符号。找到那一行,关掉中文输入再写一遍。

有大神能帮我解决一个C语言问题吗?
答:因为浮点数据是不能准确表示的。所以浮点运算会产生误差,同时运算速度又比整数要慢上几十倍,所以,可以用整数表示的数据就不要用浮点数表示。并且有一点要注意,一定要比较两个浮点数是否相等时,要用两数之差是否小于一个很小的数。把变量a,n,m都定义为long int型后,在求平方根时,系统会自动...

计算机二级c语言考试时把程序设计题的源代码删啦 监考老师又给我弄...
答:你看他选择题文件存在哪里,存在考生文件夹里,丢了就丢了,如果单独上传服务器就没有丢,哥当年江苏二级C语言上机,一会会写好了,在哪等人,突然就把代码全删了,无法撤销,到只剩下八分钟了,没错,我就用了八分钟编出来了,最后竟然优秀。

麻烦帮我解决个C语言的问题
答:问题补充2:18 、编程实现:给定一个 float 类型的一维数组 a[10], 先输入 10 个数存入 a 中,计算其所有元素的平均值,并输出。19 、从键盘中输入任意一个字符串,统计该字符串中字母,数字,字符以及其他字符各有多少个,并输出。20 、实现字符串的逆置。比如输入字符串 ”helloworld” 存储到 ...

c语言教学教案7篇
答:事后我在想:老师创设了这么优美的环境到底是为了什么?难道只是为了上荷花的活动而布置荷花池,环境仅仅是一个摆设吗?再三考虑后,我觉得环境不仅是摆设,应充分为活动所服务。如果在活动中,我能充分利用环境,让孩子去观察荷花、亲近荷花(荷花开放的不同姿态,如朝左点头的荷花、想像两朵在一起的荷花在干什么等),而不...

大一计算机学生如何学好c语言?
答:在有些工业化的程序设计方面,计算机更是起到了不可忽略的作用。我在大学的时候,大一学习的计算机语言是vb,但是慢慢我发现vb还只是能解决初级的问题,如果想要更高深的还是要学好c语言。于是我是自己学习的c语言,而且在学习过程中虽然有很多的困难,但是只要你能够掌握最基本的核心算法,都能够将它们迎...