C语言程序设计大作业修改版.docx

上传人:b****1 文档编号:1129637 上传时间:2023-04-30 格式:DOCX 页数:37 大小:31.19KB
下载 相关 举报
C语言程序设计大作业修改版.docx_第1页
第1页 / 共37页
C语言程序设计大作业修改版.docx_第2页
第2页 / 共37页
C语言程序设计大作业修改版.docx_第3页
第3页 / 共37页
C语言程序设计大作业修改版.docx_第4页
第4页 / 共37页
C语言程序设计大作业修改版.docx_第5页
第5页 / 共37页
C语言程序设计大作业修改版.docx_第6页
第6页 / 共37页
C语言程序设计大作业修改版.docx_第7页
第7页 / 共37页
C语言程序设计大作业修改版.docx_第8页
第8页 / 共37页
C语言程序设计大作业修改版.docx_第9页
第9页 / 共37页
C语言程序设计大作业修改版.docx_第10页
第10页 / 共37页
C语言程序设计大作业修改版.docx_第11页
第11页 / 共37页
C语言程序设计大作业修改版.docx_第12页
第12页 / 共37页
C语言程序设计大作业修改版.docx_第13页
第13页 / 共37页
C语言程序设计大作业修改版.docx_第14页
第14页 / 共37页
C语言程序设计大作业修改版.docx_第15页
第15页 / 共37页
C语言程序设计大作业修改版.docx_第16页
第16页 / 共37页
C语言程序设计大作业修改版.docx_第17页
第17页 / 共37页
C语言程序设计大作业修改版.docx_第18页
第18页 / 共37页
C语言程序设计大作业修改版.docx_第19页
第19页 / 共37页
C语言程序设计大作业修改版.docx_第20页
第20页 / 共37页
亲,该文档总共37页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言程序设计大作业修改版.docx

《C语言程序设计大作业修改版.docx》由会员分享,可在线阅读,更多相关《C语言程序设计大作业修改版.docx(37页珍藏版)》请在冰点文库上搜索。

C语言程序设计大作业修改版.docx

C语言程序设计大作业修改版

第一篇:

C语言程序设计--大作业

C语言程序设计大作业

编写程序,实现单链表的插入、删除、输出、查找、统计以及销毁功能。

单链表的每个结点存储一名学生的信息,包括:

学号、姓名、性别、年龄、三门课程(高数、英语、C语言)的成绩、三门功课的平均分。

结构体类型声明如下:

typedefstructstudent{

charsno[8];

charname[20];

charsex;

intage;doublescore[3];doubleavg;

structstudent*next;}STUDENT,*PSTUDENT;

要求:

⑴一律使用STUDENT声明学生结构体的变量,一律使用PSTUDENT声明指向学生结构体的指针变量

⑵程序运行过程中要有菜单提示,菜单如下:

****************************************************************

1.Insertastudent

**

2.Deleteastudent

**

3.Displaythelinklist

**

4.Displayexcellentstudents

**

5.Searchastudentbythename

**

6.Displaytheaveragescoreofthreecourses**

0.Exittheprogram

****************************************************************

“Insertastudent”:

插入一个学生记录,要求按平均分从高到低插入“Deleteastudent”:

删除指定学号的学生“Displaythelinklist”:

输出单链表中所有学生的信息“Displayexcellentstudents”:

输出链表中三门功课平均成绩高于85分(含85分)的学生信息“Searchastudentbythename”:

根据输入的姓名,输出链表中相应学生的信息“Displaytheaveragescoreofthreecourses”:

输出链表中所有学生的高数平均分、英语平均分以及C语言平均分“Exittheprogram”:

销毁单链表,结束程序运行

第二篇:

C语言程序设计

《C语言程序设计》主要在计算机软件、计算机网络、计算机应用、通信技术、智能电子、电子信息工程、多媒体以及核工程与核技术等专业中开设,是电子信息类、机械类等工科专业的重要专业基础课。

本校从2001至今,每年都开设《C语言程序设计》课程,由于,我校最开始时的特殊情况,主要把重点放在C语言中的各类重点、难点的语法、语义上,使得学生经过比较复杂和痛苦的过程后,对C语言在使用上很难做到自己编写程序。

而且很多学生产生了畏惧心理。

2004年,学院成立计算机科学与技术系,为了更好学习和掌握C语言,计算机科学与技术专业和计算机维护专业(计算机应用技术前身)除了开设《C语言程序设计》课程外,在后续一学期还开设了《C语言程序设计课程设计》,使得计算机专业学生编程思想和能力得到了极大提高。

2005年,为了让我院工科学生更好的掌握C语言编程以及通过四川省计算机二级考试,在《C语言程序设计》课程后设置《C语言程序设计课程设计》,极大地提高了学生的动手机会和能力,过级率显著提高!

2007年,依托我校建设精品课程的契机,我们将C语言中的各个知识点进行重新规整,提出适用于三本院校学生的语言设计学习的方法。

我们提出,先了解C语言,再学习C语言,再用C语言的思想。

即在开始时让学生初步知道C语言,然后引入比较简单的运算符以及基本输入、输出和简单的顺序结构程序设计。

通过这样的方式,我们发现,学生在C语言的学习就不会从开始的时候陷入大量难懂的语法、语义和数据结构中。

有了以上铺垫再层层进入,最终进入复杂的各类数据结构以及指针等学习。

通过以上的内容规整后,教学效果有明显提高。

第三篇:

C语言程序设计

1.ProblemA:

Helloworld!

DescriptionXiao_ming有两个哥哥,大哥叫Da_min,二哥叫Er_min。

三兄弟放学回家,父母分别跟他们打招呼。

Input无

Output请输出:

HelloDa_min,HelloEr_min,HelloXiao_ming!

SampleInputSampleOutputHelloDa_min,HelloEr_min,HelloXiao_ming!

HINT请注意换行符

AppendCode#includeintmain(){

printf("HelloDa_min,\n");

printf("HelloEr_min,\n");

printf("HelloXiao_ming!

\n");}2.ProblemB:

求圆的面积和周长Description从键盘输入圆的半径,求圆的面积和周长,圆周率取3.14。

Input输入一个浮点型数据,有效数字不会超过十进制的6位。

Output输出为两行。

第一行为圆的面积,第二行为圆的周长,格式见sample。

SampleInput3

SampleOutputArea:

28.260000Perimeter:

18.840000

HINT了解浮点类型的输入、输出和算术运算符

AppendCode法一

#includeintmain(){doubler,p,s;scanf("%lf",&r);p=2*3.14*r;s=3.14*r*r;printf("Area:

%lf\n",s);printf("Perimeter:

%lf\n",p);}法二

#include#definepi3.14intmain(){

doubler;

scanf("%d",&r);

printf("Area:

%lf\n",pi*r*r);

printf("Perimeter:

%lf\n",2*pi*r);

}

3.

ProblemC:

平均值Description求3个数的平均值。

Input输入只有一行,为3个较小的整数。

Output输出为这3个整数的平均值,保留3位小数。

SampleInput123SampleOutput2.000

HINT注意除法运算对整型数据和浮点型数据是不一样的。

AppendCode#includeintmain(){inta,b,c;scanf("%d%d%d",&a,&b,&c);printf("%.3lf",(a+b+c)/3.0);}

4.ProblemD:

求字符的值Description从键盘输入3个字符(不含双字节字符),分别输出每个字符的十进制值(ASCII码)、八进制值和十六进制值。

Input输入为3个字符。

Output输出为3行。

每一行为每个字符(对应输入顺序)的十进制、八进制和十六进制值,用空格分隔开。

每个输出的值占3个字符,不足3个字符前面补0。

SampleInput0A

SampleOutput048060030032040020065101041

HINT了解字符值的存储和整型的关系。

AppendCode#includeintmain(){chara,b,c;scanf("%c%c%c",&a,&b,&c);printf("%.3d%.3o%.3x\n",a,a,a);printf("%.3d%.3o%.3x\n",b,b,b);printf("%.3d%.3o%.3x\n",c,c,c);}

5.

ProblemA:

最简单的程序Description输出一行“Helloworld!

”。

Input无

OutputHelloworld!

SampleInputSampleOutputHelloworld!

HINTAppendCode#includeintmain(){

printf("Helloworld!

");}

6.ProblemB:

算术基本运算Description计算两整数x和y(0

Input输入只有一行,格式见sample。

Output输出为多行,按顺序每行输出x,y的和、差、积、商、余数、x的平方和y的三次方,格式见sample

SampleInputx=11,y=3

SampleOutputx+y:

14xy:

%d\n",x-y);

printf("x*y:

%d\n",x*y);

printf("x/yquotient:

%d,remainder:

%d\n",x/y,x%y);

printf("x^2:

%d\n",x*x);

printf("y^3:

%d\n",y*y*y);}7.ProblemC:

自增自减运算DescriptionC语言中有自增运算++、自减运算--,并且可以前置和后置。

编写一个程序:

对输入的一个整数a,输出a++、a--、++a、--a的值。

Input一个整数a,a是很小的整数。

Output输出为5行,第一行为a的值,后面依次为--a、a--、a++、++a的值。

5行输出纵向a要对齐,“:

”对齐,“:

”前后各一个空格,后面的数值不用对齐。

每行行尾都有回车。

SampleInput0

SampleOutputa:

0--a:

-1a--:

0a++:

0++a:

1

HINTAppendCode#includeintmain(){inta,x;scanf("%d\n",&x);a=x;printf("a

:

%d\n",a);printf("--a

:

%d\n",--a);a=x;printf("a--:

%d\n",a--);a=x;printf("a++:

%d\n",a++);a=x;printf("++a

:

%d\n",++a);}

8.ProblemF:

绝对值Description求整型数据和浮点型数据的绝对值。

Input输入两个数,第一个是整数,第二个是浮点数。

Output输出为两行,第一行为整数的绝对值,第二行为浮点数的绝对值,注意浮点数的绝对值不输出无意义的0。

SampleInput-11

SampleOutput11

HINT求绝对值可以用标准库函数来完成,也可以自己判断。

注意浮点数的输出格式。

求绝对值的函数在哪个头文件?

貌似很多人会搞错,包括很多编书的人!

AppendCode#include//#includeintmain(){

intn;

floatm;

scanf("%d%f",&n,&m);

//n=abs(n);

//m=fabs(m);

if(n

{

n=-n;

}

if(m

{

m=-m;

}

printf("%d\n",n);

printf("%g",m);

return0;}

9.ProblemA:

奇数还是偶数?

Description输入一个整数,判读它是奇数还是偶数。

Input输入只有一行,为一个100以内的正整数。

Output输出为一行。

若输入为偶数则输出“even”,奇数输出“odd”。

SampleInput30

SampleOutputeven

HINT用整数运算可以解决,练习“?

:

”表达式。

AppendCode#includeintmain(){

intn;

scanf("%d",&n);

if(n>=0&&n

if(n%2==0)printf("even\n");

elseprintf("odd\n");

}

return0;}

10.ProblemB:

简单的打折计算Description商店规定:

消费满n元,可以打八八折。

设某件商品标价m元,输入购买的件数x,计算出需要支付的金额(单位:

元),精确到分。

Input输入只有一行,三个整数m、n和x,且0

SampleInput953004

SampleOutput334.40

HINT了解浮点型的输出控制,注意整型和浮点型混合运算过程中的数据类型转换。

AppendCode#includeintmain(){

intm,x,n,a;

floatb;

scanf("%d%d%d",&m,&n,&x);

0

x

m

a=m*x;

if(a>n)

b=0.88*a;

else

b=a;

printf("%.2f\n",b);

}

11.ProblemC:

判断闰年Description输入一个正整数的年份,判断是否为闰年。

Input输入只有一行,为一个10000以内的正整数。

Output输出为一行。

若输入为闰年偶数则输出“Yes”,否则输出“No”。

SampleInput2010

SampleOutputNo

HINT了解逻辑运算符和关系运算符。

AppendCode#includeintmain(){

intx;

scanf("%d",&x);

if(x>0&&x

{

if(x%4==0&&x%100!

=0)

printf("Yes\n");

elseif(x%400==0)

printf("Yes\n");

else

printf("No\n");

}

else

printf("error");}

12.ProblemD:

水仙花数Description如果一个三位十进制数等于其各位数字的立方和,则称这个数为水仙花数。

如:

13+53+33=153。

Input一个整数x,100

Outputx是水仙花数,则输出“YES”,否则为“NO”。

SampleInput153

SampleOutputYES

HINTAppendCode#includeintmain(){

inta,b,c,x;

scanf("%d",&x);

a=x/100;

b=x/10%10;

c=x%10;

if(x==a*a*a+b*b*b+c*c*c)

printf("Yes");

else

printf("No");}

13.ProblemE:

三个数比较大小Description从键盘上输入0~100之间的三个数,按从小到大的顺序输出。

Input输入只有一行,为三个整数。

Output按从小到大输出这三个数。

SampleInput151020

SampleOutput101520

HINT用if语句判断各种情况可以解决这个问题。

AppendCode#includeintmain(){

inta,b,c;

scanf("%d%d%d",&a,&b,&c);

if(a>=b)

{

if(b>=c)

printf("%d%d%d\n",c,b,a);

elseif(c>=a)

printf("%d%d%d\n",b,a,c);

else

printf("%d%d%d\n",b,c,a);

}

else

{

if(a>=c)

printf("%d%d%d\n",c,a,b);

elseif(b>=c)

printf("%d%d%d\n",a,c,b);

else

printf("%d%d%d\n",a,b,c);

}}

14.ProblemF:

奇怪的求和之一Description给定3个正整数a、b和c,按照如下规则求和:

如果这个数字是偶数,则累加到和中;

如果这个数字是奇数,则将大于该数的最小偶数累加到和中。

Input三个正整数,均在100以内。

Output一个和。

SampleInput235

SampleOutput12

HINT如果不会使用分支语句,可使用条件运算符判断到底将哪个数累积到和中。

AppendCode#includeintmain(){

inta,b,c;

scanf("%d%d%d",&a,&b,&c);

if(a%2!

=0)a++;

if(b%2!

=0)b++;

if(c%2!

=0)c++;

printf("%d\n",a+b+c);

}

15.ProblemG:

你过线了吗?

Description经过四年的学习,你决定报考我国著名的“285”高校之一的北青大学,经过认真的复习,残酷的考试,终于知晓了自己的考试成绩,也知道了北青大学的录取分数线,请你编程判断,自己过线了吗?

Input输入有2行,第一行有4个正整数,分别表示三门课程的分数线以及总分分数线。

第二行有3个非负整数,分别表示你考的三门课程的成绩。

Output如果你的三门课程成绩都不低于相应课程的分数线,且你的考试总分也不低于北青大学的总分分数线要求,则输出“congratulations”,否则输出“sorry”。

SampleInput708070240808082

SampleOutputcongratulations

HINT如果你不会使用分支语句,同样可以使用条件运算符实现该程序。

AppendCode#includeintmain(){

inta,b,c,d,e,f,g,h;

scanf("%d%d%d%d\n%d%d%d",&a,&b,&c,&d,&e,&f,&g);

h=e+f+g;

if(e>=a&&f>=b&&g>=c&&h>=d)

printf("congratulations");

else

printf("sorry");}16.ProblemI:

A+BProblem(II):

Input/Output

PracticeDescription计算a+b,0

Input输入的第一行是一个整数N,后面有N对整数a和b,每对a和b占一行,a,b用空格分开。

Output每行输出一个a+b的和,顺序与输入对应。

SampleInput2121020

SampleOutput330

HINTN给出了测试样例数,用for循环处理方便。

AppendCode#includeintmain(){

intn,a,b,i;Scanf(“%d”,&n);For(i=0;i

17.

ProblemH:

A+BProblemDescription计算a+b,0

Input输入有多对整数a和b组成,每对a和b占一行,a,b用空格分开。

Output每行输出一个a+b的值,顺序与输入对应。

SampleInput121020

SampleOutput330

HINTOJ系统上测试输入结束符为EOF(EndOfFile),其值为-1。

用scanf()把文件所有内容读完后,会读到EOF,所以可以用来判断输入是否完成,测试时可以用Ctrl+Z产生EOF。

本题解法参看FAQ。

AppendCode#includeintmain(){

inta,b;

while(scanf("%d%d",&a,&b)!

=EOF){

printf("%d\n",a+b);

}

return0;}

18.ProblemA:

判断是否是元音字母Description输入一个英文字母,判断是否是元音字母。

元音字母是:

a,e,i,ou,A,E,I,O,U

Input输入一个英文字母

Output是元音字母,输出“yes”,否则输出“no”,行尾没有回车。

SampleInputA

SampleOutputyes

HINTAppendCode#includevoidmain(){

charch;

scanf("%c",&ch);

if(ch>='A'&&ch

ch=ch+32;

if(ch=='a')

printf("yes");

elseif(ch=='e')

printf("yes");

elseif(ch=='i')

printf("yes");

elseif(ch=='o')

printf("yes");

elseif(ch=='u')

printf("yes");

else

printf("no");

}

19.ProblemB:

按顺序输出三个数Description对于输入的3个整数,按照从小到大的顺序输出。

Input输入3个int类型内的整数,两两之间用一个空格隔开。

Output按照从小到大的顺序输出上述三个数,两两之间用一个空格隔开。

SampleInput213SampleOutput123

HINTAppendCode#includevoidmain(){

inta,b,c,temp;

scanf("%d%d%d",&a,&b,&c);

if(a

{

temp=a;

a=b;

b=temp;

}

if(a

{

temp=a;

a=c;

c=temp;

}

if(b

{

temp=b;

b=c;

c=temp;

}

printf("%d%d%d\n",c,b,a);}

20.ProblemE:

Description判断输入整数的奇偶性。

判断奇偶数Input输入为一个整数。

Output输出只有一行,代表判断结果。

如果输入的整数n是一个偶数,输出:

nisanevennumber.否则输出:

nisanoddnumber.见样例。

SampleInput12

SampleOutput12isanevennumber.

HINTAppendCode#includeintmain(){

inta;

scanf("%d",&a);

if(a%2==0)

printf("%disanevennumber.",a);

else

printf("%disanoddnumber.",a);}

21

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2