2023C语言实验报告参考答案_第1页
2023C语言实验报告参考答案_第2页
2023C语言实验报告参考答案_第3页
2023C语言实验报告参考答案_第4页
2023C语言实验报告参考答案_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2024C语言实验报告参考答案2024C语言试验报告参考答案

长沙理工高校2024C语言试验报告参考答案

试验一熟识C语言程序开发环境及数据描述四、程序清单

1.编写程序实现在屏幕上显示以下结果:

Thedressislong

Theshoesarebig

Thetrousersareblack

答案:

#include

main()

{

printf("Thedressislong\n");

printf("Theshoesarebig\n");

printf("Thetrousersareblack\n");

}

2.改错题(将正确程序写在指定位置)

正确的程序为:

#include

main()

{

printf("商品名称价格\n");

printf("TCL电视机¥7600\n");

printf("美的空调¥2000\n");

printf("SunRose键盘¥50.5\n");

}

2.编写程序:a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。

答案:

#include

main()

{

inta,b,c,x,y;

a=150;

b=20;

c=45;

x=a/b;

y=a/c;

printf("a/b的商=%d\n",x);

printf("a/c的商=%d\n",y);

x=a%b;

y=a%c;

printf("a/b的余数=%d\n",x);

printf("a/c的余数=%d\n",y);

}

4.设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a

main()

{

inta,b,c;

a=0;

b=-10;

c=(a>b)?b:a;

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

}

五、调试和测试结果

1.编译、连接无错,运行后屏幕上显示以下结果:Thedressislong

Theshoesarebig

Thetrousersareblack

3、编译、连接无错,运行后屏幕上显示以下结果:

a/b的商=7

a/c的商=3

a/b的余数=10

a/c的余数=15

4.编译、连接无错,运行后屏幕上显示以下结果:

c=-10

试验二挨次结构程序设计

四、程序清单

1.键盘输入与屏幕输出练习

问题1D。

问题2改printf("%c,%c,%d\n",a,b,c);这条语

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

问题3改scanf("%c%c%d",这条语句

改为:scanf("%c,%c,%d",问题4改printf("%c,%c,%d\n",a,b,c);这条语句

改成:printf("\’%c\’\’%c\’%d\n",a,b,c);2(1)从键盘输入两个八进制数,计算两数之和并分别用十进制和十六进制数形式输出。

#include

intmain()

{

inta,b,c;

printf("Enteraandb:");

scanf("%o%o",

c=a+b;

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

printf("x:%x\n",c);

return0;

2(2)编写程序:从键盘输入两个实数a和x,按公式计算并输出y的值:

5

ax

+

=)

+

)

ln(

sin(

x

e

+

a

ax

y+

a

#include

#include

intmain()

{

floata,x,y;

scanf("%f%f",

y=pow(a,5)+sin(a*x)+exp(a*x)+log(a+x);

printf("y=%f\n",y);

return0;

}

3.改错题

正确的程序为:

#include

main()

{

inta,b,c,s;

scanf("%d%d%d",

s=a+b+c;

printf("%d=%d+%d+%d\n",s,a,b,c);/*输出s=a+b+c*/

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

/*输出a+b+c=s*/

}

五、调试和测试结果

2(1)输入:1214

输出:26

1a

2(2)输入:10

输出:2.000000

试验三选择结构程序设计

四、设计流程(算法描述)

(请写出上机内容2(2)题的算法描述)

主要是两两比较,然后得出最大的数

五、程序清单

2(1)输入整数x和a,计算并输出下列分段函数f(x)的值(保留2位小数),请调用log函数求

自然对数,调用fabs函数求肯定值。

?????=≠-+=axaxx

axaaxf0ln21)(

程序为:

#include

#include

main()

{

intx,a;

doubley;

printf("Enteraandx:");

scanf("%d%d",

if(fabs(x)!=a)

y=log(fabs((a+x)/(a-x)))/(2*a);

else

y=0;

printf("a=%d,f(%d)=%.2f\n",a,x,y);

}

(2)输入a、b、c三个整数,输出最大数。

#include

main()

{

inta,b,c,x;

scanf("%d%d%d",

if(a>=b)

x=a;

else

x=b;

if(x

main()

{

doublen;

printf("Entern:");

scanf("%lf",

if(n=eps;i++)

{item=fact(i)/multi(2*i+1);

sum=sum+item;

}

printf(“PI=%0.5lf\n”,sum*2);return0;

}

intfact(intn)

{inti;

intres=1;

for(i=0;ik2)

printf("x最接近第%d项\n",i+1);

else

printf("x最接近第%d项\n",i);

return0;

}

3、源程序如下:

#include

main()

{

charc;

inti,word=0,num=0,space=0;

for(i=0;i='0'

if(c>'a'

}

printf("字符:%d数字:%d空

格:%d\n",word,num,space);

}

六、调试和测试结果

1、输入:12345

输出:54321

2、输入:110

输出:x最接近第6项

3、输入:sd234kj64jkmjk

输出:字符:9数字:5空格:1

试验七数组和函数综合程序设计

四、程序清单

(请写出上机内容2、3中源程序)

2、原程序求得的是下三角形,经改进调试之后的程序为:

#include

#defineN6

main()

{

inti,j,sum=0;

inta={0};

printf("input5×5data:\n");

for(i=1;is;

a->ave/=N;

}

3、改错题

正确的程序为:

printf("%5d%-20s%2c%4d\n",*p.num,*,p.sex,p.age);

改为:printf("%5d%-20s%2c%4d\n",p->.num,p->name,p->sex,p->age);

试验十一共用体、位运算和文件

四、程序清单

(请写出上机内容2中的程序源代码)

(1)求100以内能同时被3和5整除的自然数,分别将它们输出到显示器屏幕和x.txt

文件中。

(2)用程序读出上述x.txt文件中的数据,将它们输出到屏幕,并求它们的和。

#include

#include

#include

intmain(void)

{

inti,sum;

FILE*fd;

chars,*p,ch;

if((fd=fopen("D:\\shi.txt","wt"))==NULL)

{

printf("creatthefilefailed\n");

exit(0);

}

else

{

for(i=1;ino,11);

if(info->no=='0')break;/*whenthefirstnumberis0,break*/

inputs("entername:(score>100||info->scorescore>100||info->scorescore;

}

info->sum=s;

info->order=0;

info->next=h;

h=info;

}

return(h);

}

inputs(char*prompt,char*s,intcount){

charp;

do{

printf(prompt);

scanf("%s",p);

if(strlen(p)>count)printf("\ntoolong!\n");}while(strlen(p)>count);

strcpy(s,p);

}

/*Printinfor*/

voidprint(STUDENT*h)

{

inti=0;

STUDENT*p;

clrscr();

p=h;

printf("\n\n\n*******************************STUDENT**********************\n");

printf("|rec|NO.|name|maths|program|sum|order|\n");

printf("|---|----------|---------------|-------|---------|------|-----|\n");

while(p!=NULL)

{

i++;

printf("|%3d|%-10s|%-15s|%7d|%9d|%4.2f|%3d

|\n",i,p->no,p->name,p->score,p->score,p->sum,p->order);

p=p->next;

}

printf("**********************************end***************************\n");

}

STUDENT*delete(STUDENT*h)

{

STUDENT*p,*q;

chars;

clrscr();

printf("pleaseenterthenumberyouwanttodelete\n");

scanf("%s",s);

q=p=h;

while(strcmp(p->no,s)

p=p->next;

}

if(p==NULL)

printf("\nlistno%sstudent\n",s);

else

{

printf("\n\n\n******************************STUDENT**********************\n");

printf("|NO.|name|maths|program|sum

|order|\n");

printf("|----------|---------------|-------|---------|------|-----|\n");

printf("|%-10s|%-15s|%7d|%9d|%4.2f|%3d|\n",p->no,p->name,p->score,p->score,p->sum,p->order);

printf("********************************end*****************************\n");

getch();

if(p==h)

h=p->next;

else

q->next=p->next;

free(p);

printf("\nhavedeletedNo%sstudent\n",s);}

return(h);

}

STUDENT*searchno(STUDENT*h)

{

STUDENT*p,*q;

chars;

clrscr();

printf("pleaseenterthenumberyouwanttosearch\n");

scanf("%s",s);

q=p=h;

while(strcmp(p->no,s)

p=p->next;

}

if(p==NULL)

printf("\n%sNoFound!\n",s);

else

{

printf("\n%sFound!\n",s);

printf("\n\n\n****************************STUDENT************************\n");

printf("|NO.|name|maths|program|sum|order|\n");

printf("|----------|---------------|-------|---------|------|

-----|\n");

printf("|%-10s|%-15s|%7d|%9d|%4.2f|%3d|\n",p->no,p->name,p->score,p->score,p->sum,p->order);

printf("********************************end*****************************\n");

getch();

}

return(h);

}

voidsearch(STUDENT*h)

{

STUDENT*p;

chars;

clrscr();

printf("pleaseenternameforsearch\n");scanf("%s",s);

p=h;

while(strcmp(p->name,s)

if(p==NULL)

printf("\n%sNoFound!\n",s);

else

{

printf("\n%sFound!\n",s);

printf("\n\n\n****************************STUDENT**********************\n");

printf("|NO.|name|maths|program|sum|order|\n");

printf("|----------|---------------|-------|---------|------|-----|\n");

printf("|%-10s|%-15s|%7d|%9d|%4.2f|%3d|\n",p->no,p->name,p->score,p->score,p->sum,p->order);

printf("********************************end*****************************\n");

}

}

STUDENT*insert(STUDENT*h)

{

STUDENT*p,*q,*info;

chars;

ints1,i;

printf("pleaseentertheNo.whichthisrecordwillbelocatedbefore\n");

scanf("%s",s);

printf("\npleasenewrecord\n");

info=(STUDENT

*)malloc(sizeof(STUDENT));

if(!info)

{

printf("\noutofmemory");

returnNULL;

}

inputs("enterno:(10digitals)",info->no,11);inputs("entername:(name,15);

printf("pleaseinputscores\n");

s1=0;

for(i=0;iscore>100||info->scorescore>100||info->scorescore;

}

info->sum=s1;

info->order=0;

info->next=NULL;

p=h;

q=h;

while(strcmp(p->no,s)

p=p->next;

}

if(p==NULL)

if(p==h)

h=info;

else

q->next=info;

else

if(p==h)

{

info->next=p;

h=info;

}

else

{

info->next=p;

q->next=info;

}

printf("\n----haveinserted%sstudent----\n",info->name);

return(h);

}

/*SAVE*/

voidsave(STUDENT*h)

{

FILE*fp;

STUDENT*p;

charoutfile;

printf("Enteroutfilename,forexamplec:\\c\\student.txt:\n");

scanf("%s",outfile);

if((fp=fopen(outfile,"wb"))==NULL)

{

printf("cannotopenfile\n");

exit(1);

}

printf("\nSavingfile......\n");

p=h;

while(p!=NULL)

{

fwrite(p,sizeof(STUDENT),1,fp);

p=p->next;

}

fclose(fp);

printf("-----savesuccess!!-----\n");

}

STUDENT*load()

{

STUDENT*p,*q,*h=NULL;

FILE*fp;

charinfile;

printf("Enterinfilename,forexamplec:\\c\\student.txt:\n");scanf("%s",infile);

if((fp=fopen(infile,"rb"))==NULL)

{

printf("cannotopenfile\n");

exit(1);

}

printf("\n-----Loadingfile!-----\n");

p=(STUDENT*)malloc(sizeof(STUDENT));

if(!p)

{

printf("outofmemory!\n");

returnh;

}

h=p;

while(!feof(fp))

{

if(1!=fread(p,sizeof(STUDENT),1,fp))break;

p->next=(STUDENT

*)ma

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论