2023C語言實(shí)驗(yàn)報(bào)告參考答案_第1頁
2023C語言實(shí)驗(yàn)報(bào)告參考答案_第2頁
2023C語言實(shí)驗(yàn)報(bào)告參考答案_第3頁
2023C語言實(shí)驗(yàn)報(bào)告參考答案_第4頁
2023C語言實(shí)驗(yàn)報(bào)告參考答案_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

2024C語言實(shí)驗(yàn)報(bào)告參考答案2024C語言試驗(yàn)報(bào)告參考答案

長沙理工高校2024C語言試驗(yàn)報(bào)告參考答案

試驗(yàn)一熟識(shí)C語言程序開發(fā)環(huán)境及數(shù)據(jù)描述四、程序清單

1.編寫程序?qū)崿F(xiàn)在屏幕上顯示以下結(jié)果:

Thedressislong

Theshoesarebig

Thetrousersareblack

答案:

#include

main()

{

printf("Thedressislong\n");

printf("Theshoesarebig\n");

printf("Thetrousersareblack\n");

}

2.改錯(cuò)題(將正確程序?qū)懺谥付ㄎ恢茫?/p>

正確的程序?yàn)椋?/p>

#include

main()

{

printf("商品名稱價(jià)格\n");

printf("TCL電視機(jī)¥7600\n");

printf("美的空調(diào)¥2000\n");

printf("SunRose鍵盤¥50.5\n");

}

2.編寫程序:a=150,b=20,c=45,編寫求a/b、a/c(商)和a%b、a%c(余數(shù))的程序。

答案:

#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的余數(shù)=%d\n",x);

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

}

4.設(shè)變量a的值為0,b的值為-10,編寫程序:當(dāng)a>b時(shí),將b賦給c;當(dāng)a

main()

{

inta,b,c;

a=0;

b=-10;

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

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

}

五、調(diào)試和測試結(jié)果

1.編譯、連接無錯(cuò),運(yùn)行后屏幕上顯示以下結(jié)果:Thedressislong

Theshoesarebig

Thetrousersareblack

3、編譯、連接無錯(cuò),運(yùn)行后屏幕上顯示以下結(jié)果:

a/b的商=7

a/c的商=3

a/b的余數(shù)=10

a/c的余數(shù)=15

4.編譯、連接無錯(cuò),運(yùn)行后屏幕上顯示以下結(jié)果:

c=-10

試驗(yàn)二挨次結(jié)構(gòu)程序設(shè)計(jì)

四、程序清單

1.鍵盤輸入與屏幕輸出練習(xí)

問題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)從鍵盤輸入兩個(gè)八進(jìn)制數(shù),計(jì)算兩數(shù)之和并分別用十進(jìn)制和十六進(jìn)制數(shù)形式輸出。

#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)編寫程序:從鍵盤輸入兩個(gè)實(shí)數(shù)a和x,按公式計(jì)算并輸出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.改錯(cuò)題

正確的程序?yàn)椋?/p>

#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*/

}

五、調(diào)試和測試結(jié)果

2(1)輸入:1214

輸出:26

1a

2(2)輸入:10

輸出:2.000000

試驗(yàn)三選擇結(jié)構(gòu)程序設(shè)計(jì)

四、設(shè)計(jì)流程(算法描述)

(請(qǐng)寫出上機(jī)內(nèi)容2(2)題的算法描述)

主要是兩兩比較,然后得出最大的數(shù)

五、程序清單

2(1)輸入整數(shù)x和a,計(jì)算并輸出下列分段函數(shù)f(x)的值(保留2位小數(shù)),請(qǐng)調(diào)用log函數(shù)求

自然對(duì)數(shù),調(diào)用fabs函數(shù)求肯定值。

?????=≠-+=axaxx

axaaxf0ln21)(

程序?yàn)椋?/p>

#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三個(gè)整數(shù),輸出最大數(shù)。

#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項(xiàng)\n",i+1);

else

printf("x最接近第%d項(xiàng)\n",i);

return0;

}

3、源程序如下:

#include

main()

{

charc;

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

for(i=0;i='0'

if(c>'a'

}

printf("字符:%d數(shù)字:%d空

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

}

六、調(diào)試和測試結(jié)果

1、輸入:12345

輸出:54321

2、輸入:110

輸出:x最接近第6項(xiàng)

3、輸入:sd234kj64jkmjk

輸出:字符:9數(shù)字:5空格:1

試驗(yàn)七數(shù)組和函數(shù)綜合程序設(shè)計(jì)

四、程序清單

(請(qǐng)寫出上機(jī)內(nèi)容2、3中源程序)

2、原程序求得的是下三角形,經(jīng)改進(jìn)調(diào)試之后的程序?yàn)椋?/p>

#include

#defineN6

main()

{

inti,j,sum=0;

inta={0};

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

for(i=1;is;

a->ave/=N;

}

3、改錯(cuò)題

正確的程序?yàn)椋?/p>

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);

試驗(yàn)十一共用體、位運(yùn)算和文件

四、程序清單

(請(qǐng)寫出上機(jī)內(nèi)容2中的程序源代碼)

(1)求100以內(nèi)能同時(shí)被3和5整除的自然數(shù),分別將它們輸出到顯示器屏幕和x.txt

文件中。

(2)用程序讀出上述x.txt文件中的數(shù)據(jù),將它們輸出到屏幕,并求它們的和。

#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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論