计算机二级 C语言习题集Word文件下载.docx

上传人:b****1 文档编号:5902014 上传时间:2023-05-05 格式:DOCX 页数:180 大小:60.51KB
下载 相关 举报
计算机二级 C语言习题集Word文件下载.docx_第1页
第1页 / 共180页
计算机二级 C语言习题集Word文件下载.docx_第2页
第2页 / 共180页
计算机二级 C语言习题集Word文件下载.docx_第3页
第3页 / 共180页
计算机二级 C语言习题集Word文件下载.docx_第4页
第4页 / 共180页
计算机二级 C语言习题集Word文件下载.docx_第5页
第5页 / 共180页
计算机二级 C语言习题集Word文件下载.docx_第6页
第6页 / 共180页
计算机二级 C语言习题集Word文件下载.docx_第7页
第7页 / 共180页
计算机二级 C语言习题集Word文件下载.docx_第8页
第8页 / 共180页
计算机二级 C语言习题集Word文件下载.docx_第9页
第9页 / 共180页
计算机二级 C语言习题集Word文件下载.docx_第10页
第10页 / 共180页
计算机二级 C语言习题集Word文件下载.docx_第11页
第11页 / 共180页
计算机二级 C语言习题集Word文件下载.docx_第12页
第12页 / 共180页
计算机二级 C语言习题集Word文件下载.docx_第13页
第13页 / 共180页
计算机二级 C语言习题集Word文件下载.docx_第14页
第14页 / 共180页
计算机二级 C语言习题集Word文件下载.docx_第15页
第15页 / 共180页
计算机二级 C语言习题集Word文件下载.docx_第16页
第16页 / 共180页
计算机二级 C语言习题集Word文件下载.docx_第17页
第17页 / 共180页
计算机二级 C语言习题集Word文件下载.docx_第18页
第18页 / 共180页
计算机二级 C语言习题集Word文件下载.docx_第19页
第19页 / 共180页
计算机二级 C语言习题集Word文件下载.docx_第20页
第20页 / 共180页
亲,该文档总共180页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

计算机二级 C语言习题集Word文件下载.docx

《计算机二级 C语言习题集Word文件下载.docx》由会员分享,可在线阅读,更多相关《计算机二级 C语言习题集Word文件下载.docx(180页珍藏版)》请在冰点文库上搜索。

计算机二级 C语言习题集Word文件下载.docx

100000000):

"

);

scanf("

%ld"

&

n);

fun(&

printf("

\nTheresultis:

%ld\n"

n);

2.给定程序中,函数fun的功能是将形参给定的字符串、整数、浮点数写到文本文件中,再用字符方式从此文本文

件中逐个读入并显示在终端屏幕上。

voidfun(char*s,inta,doublef)

{

FILE*fp;

charch;

fp=fopen("

file1.txt"

"

w"

fprintf(fp,"

%s%d%f\n"

s,a,f);

fclose(fp);

r"

\nTheresult:

\n\n"

ch=fgetc(fp);

while(!

feof(fp)){

putchar(ch);

putchar('

\n'

{chara[10]="

Hello!

"

;

intb=12345;

doublec=98.76;

fun(a,b,c);

3.程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。

所有学生数据均以二进制方式输出

到文件中。

函数fun的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生

原来的数据,其它学生的数据不变。

#defineN5

typedefstructstudent{

longsno;

charname[10];

floatscore[3];

}STU;

voidfun(char*filename,STUn)

{FILE*fp;

fp=fopen(filename,"

rb+"

fseek(fp,-1L*sizeof(STU),SEEK_END);

fwrite(&

n,sizeof(STU),1,fp);

{STUt[N]={{10001,"

MaChao"

91,92,77},{10002,"

CaoKai"

75,60,88},

{10003,"

LiSi"

85,70,78},{10004,"

FangFang"

90,82,87},

{10005,"

ZhangSan"

95,80,88}};

STUn={10006,"

ZhaoSi"

55,70,68},ss[N];

inti,j;

FILE*fp;

student.dat"

wb"

fwrite(t,sizeof(STU),N,fp);

rb"

fread(ss,sizeof(STU),N,fp);

\nTheoriginaldata:

for(j=0;

j<

N;

j++)

\nNo:

%ldName:

%-8sScores:

ss[j].sno,ss[j].name);

for(i=0;

i<

3;

i++)printf("

%6.2f"

ss[j].score[i]);

\n"

fun("

n);

\nThedataaftermodifing:

4.程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。

函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二

进制方式把排序后的学生数据输出到filename所指的文件中,覆盖原来的文件内容。

voidfun(char*filename)

inti,j;

STUs[N],t;

fread(s,sizeof(STU),N,fp);

N-1;

i++)

for(j=i+1;

if(s[i].sno>

s[j].sno)

{t=s[i];

s[i]=s[j];

s[j]=t;

fwrite(s,sizeof(STU),N,fp);

{STUt[N]={{10005,"

95,80,88},{10003,"

85,70,78},

{10002,"

75,60,88},{10004,"

{10001,"

91,92,77}},ss[N];

fwrite(t,sizeof(STU),5,fp);

\n\nTheoriginaldata:

t[j].sno,t[j].name);

t[j].score[i]);

\n\nThedataaftersorting:

fread(ss,sizeof(STU),5,fp);

5.给定程序中,函数fun的功能是将参数给定的字符串、整数、浮点数写到文本文件中,再用字符串方式从此文

本文件中逐个读入,并调用库函数atoi和atof将字符串转换成相应的整数、浮点数,然后将其显示在屏幕上。

stdlib.h>

charstr[100],str1[100],str2[100];

inta1;

doublef1;

fclose(fp);

fscanf(fp,"

%s%s%s"

str,str1,str2);

a1=atoi(str1);

f1=atof(str2);

\n\n%s%d%f\n"

str,a1,f1);

6.给定程序中,函数fun的功能是根据形参i的值返回某个函数的值,当调用正确时,程序输出:

x1=5.000000,x2=3.000000x1*x1+x1*x2=40.000000

doublef1(doublex)

{returnx*x;

doublef2(doublex,doubley)

{returnx*y;

doublefun(inti,doublex,doubley)

{if(i==1)

returnf1(x);

else

returnf2(x,y);

{doublex1=5,x2=3,r;

r=fun(1,x1,x2);

r+=fun(2,x1,x2);

\nx1=%f,x2=%f,x1*x1+x1*x2=%f\n\n"

x1,x2,r);

7.程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的信息。

函数fun的功能是输出这位学生的信

息。

typedefstruct

{intnum;

charname[9];

charsex;

struct{intyear,month,day;

}birthday;

}STU;

voidshow(STUtt)

{inti;

\n%d%s%c%d-%d-%d"

tt.num,tt.name,tt.sex,

tt.birthday.year,tt.birthday.month,tt.birthday.day);

for(i=0;

%5.1f"

tt.score[i]);

main()

{STUstd={1,"

Zhanghua"

'

M'

1961,10,8,76.5,78.0,82.0};

\nAstudentdata:

show(std);

8.给定程序通过赋初值的方式,利用结构体变量存储了一名学生的学号、姓名和3门课的成绩。

函数fun的功能是

将该学生的各科成绩者乘以一个系数a。

%d%s:

tt.num,tt.name);

tt.score[i]);

voidmodify(STU*ss,floata)

ss->

score[i]*=a;

76.5,78.0,82.0};

floata;

\nTheoriginalnumberandnameandscores:

\nInputanumber:

%f"

a);

modify(&

std,a);

\nAresultofmodifying:

9.给定程序中,涵数fun的功能是将不带头结点的单向链表结点数据域中的数据从小到大排序。

即若原链表结点数

据域从头至尾的数据为:

10、4、2、8、6,排序后链表结点数据域从头至尾为:

2、4、6、8、10。

#defineN6

typedefstructnode{

intdata;

structnode*next;

}NODE;

voidfun(NODE*h)

{NODE*p,*q;

p=h;

while(p){

q=p->

next;

while(q)

{if(p->

data>

q->

data)

{t=p->

data;

p->

data=q->

data=t;

q=q->

next;

p=p->

NODE*creatlist(inta[])

{NODE*h,*p,*q;

inti;

h=NULL;

{q=(NODE*)malloc(sizeof(NODE));

data=a[i];

next=NULL;

if(h==NULL)h=p=q;

else{p->

next=q;

p=q;

returnh;

voidoutlist(NODE*h)

{NODE*p;

p=h;

if(p==NULL)printf("

ThelistisNULL!

\nHead"

do

->

%d"

p->

data);

p=p->

while(p!

=NULL);

End\n"

10.给定程序中,函数fun的功能是:

叛定形参a所指的N×

N(规定N为奇数)的矩阵是否是“幻方”,若是,函数

返回值为1;

不是,函数返回值为0。

“幻方”的叛定条件是:

矩阵每行、每列、主对角线及反对角线上元素之和

都相等。

以下3×

3的矩阵就是一个“幻方”:

492

357

816

#defineN3

intfun(int(*a)[N])

{inti,j,m1,m2,row,colum;

m1=m2=0;

{j=N-i-1;

m1+=a[i][i];

m2+=a[i][j];

if(m1!

=m2)return0;

i++){

row=colum=0;

for(j=0;

{row+=a[i][j];

colum+=a[j][i];

if((row!

=colum)||(row!

=m1))return0;

return1;

{intx[N][N],i,j;

Enternumberforarray:

j++)scanf("

x[i][j]);

Array:

{for(j=0;

j++)printf("

%3d"

x[i][j]);

if(fun(x))printf("

TheArrayisamagicsquare.\n"

elseprintf("

TheArrayisn'

tamagicsquare.\n"

11.给定程序中,函数fun的功能是将带头结点的单向链表逆置。

即若原链表中从头至尾结点数据域依次为:

2、

4、6、8、10,逆置后,从头至尾结点数据域依次为:

10、8、6、4、2。

{NODE*p,*q,*r;

p=h->

if(p==0)return;

{r=q->

next=p;

q=r;

h->

h=(NODE*)malloc(sizeof(NODE));

if(h->

next==NULL)h->

next=p=q;

12.给定程序中,函数fun的功能是将不带头结点的单向链表逆置。

2

、4、6、8、10,逆置后,从头至尾结点数据域依次为:

10、8、6、4、2

NODE*fun(NODE*h)

if(p==NULL)

returnNULL;

{

/*

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

当前位置:首页 > IT计算机 > 电脑基础知识

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

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