欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      語言_課程設(shè)計1五篇范文

      時間:2019-05-12 17:57:21下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《語言_課程設(shè)計1》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《語言_課程設(shè)計1》。

      第一篇:語言_課程設(shè)計1

      匯編語言課程實驗報告

      實驗名稱

      課程設(shè)計1 實驗環(huán)境

      硬件平臺:Intel Core i5-3210M 操作系統(tǒng):DOSBox 0.74 in Windows 8.1 軟件工具:Turbo C 2.0, Debug, MASM 實驗內(nèi)容

      將實驗7中的Power idea公司的數(shù)據(jù)按照下圖所示的格式在屏幕上顯示出來。

      實驗步驟

      1.要完成這個實驗,首先我們需要編寫三個子程序。第一個子程序是可以顯示字符串到屏幕的程序,其匯編代碼如下:;名稱:show_str;功能:在屏幕的指定位置,用指定顏色,顯示一個用0結(jié)尾的字符串;參數(shù):(dh)=行號,(dl)=列號(取值范圍0~80),(cl)=顏色,ds:si:該字符串的首地址;返回:顯示在屏幕上 show_str:

      push ax

      push cx

      push dx

      push es

      push si

      push di

      mov ax,0b800h

      mov es,ax

      mov al,160

      mul dh

      add dl,dl

      mov dh,0

      add ax,dx

      mov di,ax

      mov ah,cl

      show_str_x:

      mov cl,ds:[si]

      mov ch,0

      jcxz show_str_f

      mov al,cl

      mov es:[di],ax

      inc si

      inc di

      inc di

      jmp show_str_x

      show_str_f:

      pop di

      pop si

      pop es

      pop dx

      pop cx

      pop ax

      ret 2.第二個程序是將word型數(shù)據(jù)轉(zhuǎn)換為字符串,這樣我們才能調(diào)用第一個程序?qū)⑵浯蛴〕鰜怼5诙€程序匯編代碼如下:;名稱:dtoc_word;功能:將一個word型數(shù)轉(zhuǎn)化為字符串;參數(shù):(ax)=word型的數(shù)據(jù),ds:si指向字符串的首地址;返回:ds:[si]放此字符串,以0結(jié)尾 dtoc_word:

      push ax

      push bx

      push cx

      push dx

      push si

      mov bx,0

      dtoc_word_x:

      mov dx,0

      mov cx,10

      div cx

      mov cx,ax

      add dx,'0'

      push dx

      inc bx

      jcxz dtoc_word_f

      jmp dtoc_word_x

      dtoc_word_f:

      mov cx,bx

      dtoc_word_x1:

      pop ds:[si]

      inc si

      loop dtoc_word_x1

      pop si

      pop dx

      pop cx

      pop bx

      pop ax

      ret 3.除了以上兩個程序,我們還需要考慮一個問題,即有些數(shù)據(jù)已經(jīng)大于65535,應(yīng)該編寫一個新的程序,將一個double word型數(shù)轉(zhuǎn)化為字符串。匯編代碼如下:;名稱:dtoc_dword;功能:將一個double word型數(shù)轉(zhuǎn)化為字符串;參數(shù):(dx)=數(shù)的高八位,(ax)=數(shù)的低八位;返回:ds:[si]放此字符串,以0結(jié)尾;備注:會用到divdw函數(shù) dtoc_dword:

      push ax

      push bx

      push cx

      push dx

      push si

      mov bx,0

      dtoc_dword_x:

      mov cx,10

      call divdw

      push cx

      inc bx

      cmp ax,0

      jne dtoc_dword_x

      cmp dx,0

      jne dtoc_dword_x

      mov cx,bx

      dtoc_dword_x1:

      pop ds:[si]

      add byte ptr ds:[si],'0'

      inc si

      loop dtoc_dword_x1

      pop si

      pop dx

      pop cx

      pop bx

      pop ax

      ret 4.考慮到div指令除法溢出的問題,我們還需要寫一個程序,進行不會產(chǎn)生溢出的除法運算,如下:;名稱:divdw;功能:除法,被除數(shù)32位,除數(shù)16位,商32位,余數(shù)16位,不會溢出;參數(shù):(dx)=被除數(shù)高16位,(ax)=被除數(shù)低16位,(cx)=除數(shù);返回:(dx)=商高16位,(ax)=商低16位,(cx)=余數(shù) divdw:

      push bx

      push ax

      mov ax,dx

      mov dx,0

      div cx

      mov bx,ax

      pop ax

      div cx

      mov cx,dx

      mov dx,bx

      pop bx

      ret 5.將這四個子程序整合起來,并編寫主程序。主程序代碼如下:

      assume cs:code

      ;Ps:函數(shù)中的標(biāo)號為防止沖突,都加了本函數(shù)名為前綴

      data segment

      db '1975','1976','1977','1978','1979','1980','1981','1982','1983'

      db '1984','1985','1986','1987','1988','1989','1990','1991','1992'

      db '1993','1994','1995'

      ;以上是表示21年的21個字符串

      dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514

      dd 345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000

      ;以上是表示21年公司總收的21個dword型數(shù)據(jù)

      dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226

      dw 11542,14430,45257,17800

      ;以上是表示21年公司雇員人數(shù)的21個word型數(shù)據(jù) data ends

      agency segment

      db 8 dup(0)agency ends

      code segment

      start: mov ax,0b800h

      mov es,ax

      mov di,0

      mov cx,80*24

      x: mov byte ptr es:[di],' ';將屏幕清空

      mov byte ptr es:[di+1],0

      inc di

      inc di

      loop x

      mov ax,data

      mov es,ax

      mov di,0

      mov bx,0

      mov ax,agency

      mov ds,ax

      mov si,0

      mov dh,2

      mov cx,21

      x1: push cx

      mov ax,es:[di]

      mov ds:[si],ax

      mov ax,es:[di+2]

      mov ds:[si+2],ax

      mov byte ptr ds:[si+4],0;顯示年份

      mov dl,0

      mov cl,7

      call show_str

      mov ax,es:[84+di]

      push dx

      mov dx,es:[84+di+2]

      call dtoc_dword

      ;顯示收入

      pop dx

      mov dl,20

      mov cl,7

      call show_str

      mov ax,es:[84+84+bx]

      call dtoc_word

      mov dl,40

      ;顯示雇員數(shù)

      mov cl,7

      call show_str

      mov ax,es:[84+di]

      push dx

      mov dx,es:[84+di+2]

      div word ptr es:[84+84+bx];計算人均收入并顯示

      call dtoc_word

      pop dx

      mov dl,60

      mov cl,7

      call show_str

      add di,4

      add bx,2

      add dh,1

      pop cx

      loop x1

      mov ah,0

      int 16h;加上按任意鍵繼續(xù)功能,可以直接雙擊運行

      mov ax,4c00h

      int 21h 編譯鏈接程序,其運行效果如下:

      實驗總結(jié)

      這個題目實際是前幾個題目代碼的整合,難點還是在于如何計算顯示的行和列,如果錯位了1個字節(jié),顯示的時候就可能出現(xiàn)重疊之類的情況。還有要再寫個dword型數(shù)據(jù)轉(zhuǎn)ASCII字符的程序,不過有之前的經(jīng)驗,應(yīng)該也不難。通過此次的程序設(shè)計訓(xùn)練,基本上對之前所學(xué)的所有知識都有了一個系統(tǒng)性的掌握。

      第二篇:C語言課程設(shè)計

      C語言課程設(shè)計

      飛機空戰(zhàn)小游戲

      一、實驗環(huán)境

      運行系統(tǒng) WINDOWSXP 編程工具C++6.0 地點 程序設(shè)計與仿真實驗室

      桌號19電腦IP地址221.12.10.218

      二、實驗?zāi)康暮鸵?實驗?zāi)康模?/p>

      (1)使學(xué)生進一步理解和掌握課堂上所學(xué)各種基本抽象數(shù)據(jù)類型的邏輯結(jié)構(gòu)、存儲結(jié)構(gòu)和操作算法。

      (2)使學(xué)生進一步掌握程序設(shè)計、編寫、調(diào)試能力。(3)使學(xué)生了解軟件開發(fā)的基本步驟和內(nèi)容。

      實驗要求::飛機空戰(zhàn)小游戲。功能要求:

      1)有主菜單界面,能讓用戶選擇開始、退出、難度等級、查看用戶積分功能;

      2)飛機能通過A、S、D、W或上下左右鍵控制移動方向,使用空格鍵發(fā)射子彈;

      3)屏幕隨機出現(xiàn)從上到下的敵方子彈; 4)當(dāng)打中敵方子彈時,積分加1;

      5)當(dāng)敵方子彈打正飛機時,游戲結(jié)束,并提示用戶是否保存記錄(記錄包括用戶名及積分值),保存后退回到主菜單;

      6)當(dāng)選擇主菜單中的“查看用戶積分”選項時,進入第二級菜單,用戶可查看全部用戶積分記錄,也可僅查看積分最高者,也可根據(jù)用戶輸入的用戶名查看;(此處要求使用到鏈表,用于臨時存儲用戶積分數(shù)據(jù));(對鏈表的查找操作)

      7)所有用戶積分信息使用文件進行永久性保存; 8)用戶選擇“難度等級”,可設(shè)定游戲不同難度,難度越高,出現(xiàn)敵方子彈數(shù)目及間隔將增加。

      三、實驗內(nèi)容和結(jié)果

      系統(tǒng)總體設(shè)計:編寫出c語言代碼,運行程序,并調(diào)試程序,最終實現(xiàn)游戲的功能。本程序主要包含游戲控制函數(shù)、設(shè)置是否繼續(xù)游戲函數(shù)、輸出函數(shù)、子彈移動函數(shù)、敵機移動函數(shù)、設(shè)置函數(shù)、菜單函數(shù)等7個主要函數(shù),包含了不同的功能,對原來的程序作出了很大的改進,用到的主要語句有if語句,for語句、while語句、printf語句、switch語句等等,添加了顏色函數(shù)。

      系統(tǒng)模塊設(shè)計:包含游戲控制函數(shù)、設(shè)置是否繼續(xù)游戲函數(shù)、輸出函數(shù)、子彈移動函數(shù)、敵機移動函數(shù)、設(shè)置函數(shù)、菜單函數(shù)等7個主要函數(shù),其中是否繼續(xù)游戲函數(shù),菜單函數(shù)主要運用了SWITCH語句和If語句,子彈移動函數(shù),敵機移動函數(shù)通過數(shù)組內(nèi)各數(shù)值的變化來完成,設(shè)置函數(shù)主要用PRINTF和SCANF語句進行各項數(shù)值的設(shè)置,游戲控制函數(shù)使用if函數(shù),kbhit()函數(shù),switch函數(shù)組合控制數(shù)組中飛機進行的移動和圖案的變換。最后用打印數(shù)組的方式打印出數(shù)組變換。最后運用SWITCH函數(shù)進行各項菜單內(nèi)容的操作。

      實驗的測試和結(jié)果:

      四、實驗中的問題及心得

      通過本次試驗,使我對c語言有了更深一層次的了解,對for語句、while語句、printf語句、switch語句、顏色函數(shù)等等的了解及使用更加詳細了一些,明白了這些語句的用法,明確了c語言的使用環(huán)境,功能。同時我了解到了一些方法來實現(xiàn)一些C語言作為一個基礎(chǔ)性編程語言是我們在以后編程中不可或缺的語言,使用率肯定會進一步增高。掌握了c語言就相當(dāng)于掌握了一門技術(shù),同時c語言相對而言簡單一些,更容易理解。自己雖然對這個小游戲進行一部分的改造,但是我也感覺這只是其中的很很小的一部分,肯定會有更加強大的功能等待著我們?nèi)ジ纳啤?/p>

      同時,我也發(fā)現(xiàn)了自己很多的不足,需要進一步加強這一方面的學(xué)習(xí),在數(shù)據(jù)結(jié)構(gòu)鏈表的使用上還很欠缺,無法使用鏈表進行數(shù)據(jù)的讀取和輸入,還有在兩個程序的連接上還有困難,對于頭文件的理解不到位,鏈表的結(jié)構(gòu),定義,使用指針的方式??這些都需要提高。這些技能的欠缺導(dǎo)致了在 這個小游戲中無法順利完成有關(guān)用戶名和記錄的一些要求。??

      附錄:程序清單

      #include #include #include #include #define N 50 void run();//游戲控制函數(shù) void continuegame();//設(shè)置是否繼續(xù)游戲函數(shù) void print(int [][N]);//輸出函數(shù)

      void movebul(int [][N]);//子彈移動函數(shù) void movepla(int [][N]);//敵機移動函數(shù) void setting(void);//設(shè)置函數(shù) void menu();//菜單 int scr[50][N]={0},pl=9,width=15,speed=16,density=40,score=0,death=0,length=18,y=0,x=5,z=15,life=1,max=0;//全局變量:界面、我機初始位、界面寬度、敵機速度、敵機密度、得分、死亡,子彈,飛機,敵機初始圖案,生命

      char name[N];char first[N];void main(){ menu();getch();}

      void print(int a[][N])//輸出函數(shù) { int i,j;system(“cls”);for(i=0;i

      a[i][width-1]=4;

      for(j=0;j

      {

      if(a[i][j]==0)printf(“ ”);

      if((a[i][j]==1)&&(x<15))printf(“%c”,x);//輸出我機的符號

      if((a[i][j]==2)&&(z<35))printf(“%c”,z);//子彈

      if((a[i][j]==3)&&(y<4))printf(“%c”,y+1);//輸出敵機符號

      if(i==1&&j==width-1)printf(“總積分:%d”,score);//顯示得分

      if(i==2&&j==width-1)printf(“已經(jīng)死亡了%d 次,剩余 %d 條命”,death,life-death);//右上角顯示死亡次數(shù)

      if(i==3&&j==width-1)printf(“普通按鍵:AD控制左右飛行”);

      if(i==4&&j==width-1)printf(“ W 發(fā)射子彈”);if(i==5&&j==width-1)printf(“特殊按鍵:+-號加減敵機速度”);if(i==6&&j==width-1)printf(“ /*號單列敵機密度減小增大(均有限制)”);

      if(i==7&&j==width-1)printf(“VIP按鍵:X鍵變化飛機圖案,Y鍵變化敵機圖案”);

      if(i==8&&j==width-1)printf(“tZ鍵變化子彈圖案,P鍵增加生命(均有限制)”);

      if(i==9&&j==width-1)printf(“注意:向下移動后按其他方向鍵飛機顯現(xiàn)”);

      } printf(“n”);} }

      void movebul(int a[][N]){

      int i,j;for(i=0;i

      {

      if(i==0&&a[i][j]==2)

      a[i][j]=0;

      if(a[i][j]==2)

      {

      if(a[i-1][j]==3)//加分

      {

      score+=1;

      printf(“7”);

      }

      a[i][j]=0,a[i-1][j]=2;

      }

      } } void movepla(int a[][N]){ int i,j;for(i=length-1;i>=0;i--)//從最后一行往上是為了避免把敵機直接沖出數(shù)組。

      for(j=0;j

      if(i==length-1&&a[i][j]==3)

      a[i][j]=0;//消除敵機,在最低層

      if(a[i][j]==3)a[i][j]=0,a[i+1][j]=3;//敵機移動

      }

      if(a[length-2][pl]==3&&a[length-1][pl]==1)death++;//死亡 }

      void continuegame()//繼續(xù)游戲

      { printf(“用戶%s”,name);printf(“你的得分是%dn”,score);if(score==0)printf(“tttt 恭喜你刷新了最低記錄na”,score);if((score>0)&&(score<20))

      printf(“tttt 回家再練 練吧na”,score);if(score>19)

      printf(“tttt 你真厲害 na”,score);printf(“游戲結(jié)束n”);printf(“按y鍵繼續(xù)游戲,空格鍵退出游戲(y/n)?n”);printf(“ttt”);switch(getch())//是否要繼續(xù)游戲

      { case 'y': case 'Y':system(“cls”),death=0,score=0,life=1,x=5,y=0,z=15;menu();break;} }

      void setting(void)//設(shè)置函數(shù) { system(“cls”);//清屏

      printf(“n 輸入游戲界面的大?。J3):1-10 ”);scanf(“%d”,&width);width=(width+1)*5;printf(“n 請輸入敵機密度大?。J3):1-5 ”);scanf(“%d”,&density);density=(7-density)*10;printf(“n 輸入敵機的飛行速度大?。J3):1-10 ”);scanf(“%d”,&speed);speed=(11-speed)*2;printf(“n 輸入我機的生命(默認1):1-100 ”);scanf(“%d”,&life);printf(“n 輸入飛機的圖案(默認1):1-2 ”);scanf(“%d”,&x);x=x+4;printf(“n 輸入子彈的圖案(默認1):1-10 ”);scanf(“%d”,&z);z=z+14;printf(“n 輸入敵機的圖案(默認1):1-3 ”);scanf(“%d”,&y);y=y-1;} void run(){ int i=0,j=0,k=0,b=0;printf(“請輸入用戶名:”);scanf(“%s”,name);printf(“您的用戶名是:%s”,name);if(getch()==27)setting();printf(“游戲說明:按AWSD控制我機左右飛行,空格鍵發(fā)射子彈n特殊按鍵:-號敵機減速,+號敵機加速n特殊按鍵:/號單列敵機密度減小,*號單列敵機密度增大n”);printf(“VIP按鍵:X鍵變化飛機圖案,Y鍵變化敵機圖案ntZ鍵變化子彈圖案,P鍵增加生命n”);printf(“任意鍵開始游戲,esc鍵進入游戲設(shè)置n”);printf(“游戲時也可更改游戲設(shè)置任意鍵開始nn”);system(“color a”);//設(shè)置背景顏色

      if(getch()==27)setting();scr[length-1][pl]=1;//我方飛機初始位置

      scr[0][5]=3;while(death

      { if(kbhit())

      switch(getch())//控制設(shè)置按鍵 {

      case 'a':

      case 'A':if(pl>0)

      scr[length-1][pl]=0,scr[length-1][--pl]=1;break;

      case 'd':

      case 'D':if(pl

      scr[length-1][pl]=0,scr[length-1][++pl]=1;break;case 'W':

      case 'w':if(length>10)

      {

      scr[length-1][pl]=0,scr[length-2][pl]=1;

      length=length-1;

      };break;

      case '+':if(speed>2)

      {

      speed=speed-2;

      };break;

      case '-':speed=speed+1;break;case '*':if(density>5)

      {

      density=density-5;

      };break;

      case '/':density=density+10;break;

      case 'l':if(width<40)

      {

      width=width+2;

      };break;

      case 's':if(length<30)

      {

      scr[length-1][pl]=0;

      length=length+1;

      scr[length-1][pl]='5';

      };break;

      case ' ':scr[length-2][pl]=2;break;

      case 'y':y=(y+1)%4;break;

      case 'x':x=(x)%2+5;break;

      case 'z':if(z<25)

      {

      z=z+1;

      }

      else z=15;break;

      case 'p':life=life+1;break;} if(++j%density==0)//控制生產(chǎn)敵機的速度

      {

      j=0;

      srand(time(NULL));//產(chǎn)生隨機數(shù)

      scr[0][rand()%width]=3;

      scr[rand()%3][rand()%(width+2)]=3;

      scr[rand()%2][rand()%(width+1)]=3;

      scr[rand()%4][rand()%(width+4)]=3;//生成隨機敵方飛機

      } if(++i%speed==0)//控制敵機移動速度,相對于子彈移動速度

      movepla(scr);//飛機移動

      movebul(scr);//子彈移動

      print(scr);//繪制游戲畫面

      } if(score>=max){

      max=score;

      for(i=0;i

      {

      name[i]=first[i];

      } } if(score

      score=score;} continuegame();getch();}

      void menu(){ printf(“n1:游戲設(shè)置n2:游戲說明n3:開始游戲n4:查看用戶信息n5:退出游戲n”);

      switch(getch()){

      case '1': setting();menu();break;

      case '2':printf(“游戲說明:按AWSD控制我機左右飛行,空格鍵發(fā)射子彈n特殊按鍵:-號敵機減速,+號敵機加速n特殊按鍵:/號單列敵機密度減小,*號單列敵機密度增大n”);printf(“VIP按鍵:X鍵變化飛機圖案,Y鍵變化敵機圖案ntZ鍵變化子彈圖案,P鍵增加生命n”);printf(“ 任意鍵開始游戲,esc鍵進入游戲設(shè)置n”);printf(“ 游戲時也可更改游戲設(shè)置”);menu();break;

      case '3':run();menu();break;

      case '4':seerecord();menu();break;

      case '5':exit(0);break;default:menu();break;}

      } seerecord(){ printf(“最高紀錄為%s,%d”,first[N],max);}

      第三篇:C語言課程設(shè)計范文

      C語言程序設(shè)計課程設(shè)計

      設(shè)計題目:專業(yè):計算機科學(xué)與技術(shù)班級:2010級計算機二班組長姓名:馬得才【P101712944】成員姓名:孫麗欣【P101712927】

      趙廣峰【P101712926】

      遲成凱【P101712928】

      冶成意【P101712930】

      2010年5月20日

      題目:

      指導(dǎo)教師:普措才仁

      一、案例需求

      二、案例分析

      三、案例設(shè)計

      四、案例實現(xiàn)

      五、參考文獻

      第四篇:C語言課程設(shè)計

      #include #include int N1,N2,kk1,kk2,kk3;struct couse * head1,*head2,*emp1;struct student * head3,*head4,*emp2;struct couse//課程信息結(jié)構(gòu)體 {

      int num1;

      char name1[20];

      int score;

      int nelepeo;//課程已選人數(shù)

      int Melepeo;//課程人數(shù)上限

      struct couse * next;};

      int student();

      //學(xué)生登陸 int teacher();

      //教師登陸 struct student//學(xué)生信息結(jié)構(gòu)體 {

      int num2;

      char name2[20];

      int nelenum[50];//已選課程編號

      int nelen;//已選課程數(shù)量

      struct student * next;};

      void Ms(){

      for(kk1=0;kk1<1100;kk1++)

      for(kk2=0;kk2<1200;kk2++)

      for(kk3=0;kk3<1200;kk3++);} void keyboardc()//錄入課程子函數(shù)(從鍵盤錄入){ void intoc();struct couse *p1,*p2;N1=0;p1=p2=(struct couse*)malloc(sizeof(struct couse));printf(“n課程編號:”);fflush(stdin);scanf(“%d”,&p1->num1);printf(“n課程名稱:”);scanf(“%s”,p1->name1);printf(“n學(xué)分:”);scanf(“%d”,&p1->score);printf(“n課程人數(shù)上限:”);scanf(“%d” ,&p1->Melepeo);printf(“ntttt輸入成功!”);p1->nelepeo=0;head1=NULL;while(p1->num1!=0){

      N1=N1+1;

      if(N1==1)head1=p1;

      else p2->next=p1;

      p2=p1;

      p1=(struct couse *)malloc(sizeof(struct couse));

      printf(“n-----------------------------”);

      printf(“n課程編號:(輸入0結(jié)束)”);scanf(“%d”,&p1->num1);printf(“n課程名稱:”);scanf(“%s”,p1->name1);printf(“n學(xué)分:”);scanf(“%d”,&p1->score);printf(“n課程人數(shù)上限:”);scanf(“%d” ,&p1->Melepeo);

      p1->nelepeo=0;

      printf(“ntttt輸入成功!”);} p2->next=NULL;intoc();}

      void filec()//錄入鍵盤子函數(shù)(從文件錄入){ void intoc();

      FILE * fp;

      char filepath[20];

      struct couse *p1,*p2;

      N1=0;

      printf(“輸入要讀入的文件路徑:”);

      getchar();

      gets(filepath);

      if((fp=fopen(filepath,“r”))==NULL)

      {

      printf(“找不到%s文件!n”,filepath);

      exit(0);

      }

      p1=p2=(struct couse*)malloc(sizeof(struct couse));

      fscanf(fp,“%d%s%d%d%d”,&p1->num1,p1->name1,&p1->score,&p1->nelepeo,&p1->Melepeo);

      head1=NULL;

      while(!feof(fp))

      {

      N1=N1+1;

      if(N1==1)head1=p1;

      else p2->next=p1;

      p2=p1;

      p1=(struct couse *)malloc(sizeof(struct couse));

      fscanf(fp,“%d%s%d%d%d”,&p1->num1,p1->name1,&p1->score,&p1->nelepeo,&p1->Melepeo);

      }

      p2->next=NULL;

      intoc();}

      void inputc()//錄入課程主函數(shù) {

      int i;

      printf(“ttt錄入課程信息n”);

      printf(“n1.從鍵盤錄入n”);

      printf(“2.從文件錄入n”);

      printf(“3.返回主菜單n”);

      printf(“請選擇(1~3):n”);

      scanf(“%d”,&i);

      switch(i)

      {

      case(1):keyboardc();break;

      case(2):filec();break;

      case(3):system(“cls”);return;break;

      //return

      } }

      void insertc(struct couse *incouse)//課程管理子函數(shù)(增加課程){ void intoc();

      struct couse *p0,*p1,*p2;

      p1=head1;

      p0=incouse;

      if(head1==NULL)

      {

      head1=p0;

      p0->next=NULL;

      }

      else

      {

      while((p0->num1 > p1->num1)&&(p1->next!=NULL))

      {

      p2=p1;

      p1=p1->next;

      }

      if(p0->num1 <= p1->num1)

      {

      if(head1==p1)head1=p0;

      else p2->next=p0;

      p0->next=p1;

      }

      else

      {

      p1->next=p0;

      p0->next=NULL;

      }

      }

      N1=N1+1;

      intoc();}

      void delc(int num1)//課程管理子函數(shù)(刪除課程){ void intoc();

      struct couse *p1,*p2;

      if(head1==NULL)

      {

      printf(“n沒有課程,無法刪除!n”);

      goto end;

      }

      p1=head1;

      while(num1!=p1->num1 && p1->next!=NULL)

      {

      p2=p1;

      p1=p1->next;

      }

      if(num1==p1->num1)

      {

      if(p1==head1)head1=p1->next;

      else p2->next=p1->next;

      printf(“已刪除該編號課程!n”);

      N1=N1-1;

      }

      else printf(“無該編號的課程!n”);

      end:;

      intoc();}

      void managementc()//課程管理主函數(shù) {

      struct couse * incouse;

      struct couse *p1;

      int i,num1;

      printf(“ttt課程管理n”);

      printf(“1.新增課程n”);

      printf(“2.刪除課程n”);

      printf(“3.返回主菜單n”);

      printf(“請選擇(1~3):n”);

      scanf(“%d”,&i);

      switch(i)

      {

      case(1):

      {

      incouse=(struct couse *)malloc(sizeof(struct couse));

      printf(“n課程編號:”);

      fflush(stdin);

      scanf(“%d”,&p1->num1);

      printf(“n課程名稱:”);

      scanf(“%s”,p1->name1);

      printf(“n學(xué)分:”);

      scanf(“%d”,&p1->score);

      printf(“n課程人數(shù)上限:”);

      scanf(“%d” ,&p1->Melepeo);

      printf(“ntttt輸入成功!”);

      incouse->nelepeo=0;

      insertc(incouse);

      break;

      }

      case(2):

      {

      printf(“請輸入要刪除課程的編號:n”);

      scanf(“%d”,&num1);

      delc(num1);

      break;

      }

      case(3):system(“cls”);return;break;

      } }

      void keyboards()//錄入學(xué)生信息子函數(shù)(從鍵盤錄入){

      void intos();

      int i;

      struct student *p1,*p2;

      N2=0;

      p1=p2=(struct student *)malloc(sizeof(struct student));

      printf(“n學(xué)生學(xué)號:”);

      scanf(“%d”,&p1->num2);

      printf(“n學(xué)生姓名:”);

      scanf(“%s”,p1->name2);

      p1->nelen=0;

      for(i=0;i<50;i++)p1->nelenum[i]=0;

      head3=NULL;

      while(p1->num2!=0)

      {

      N2=N2+1;

      if(N2==1)head3=p1;

      else p2->next=p1;

      p2=p1;

      p1=(struct student *)malloc(sizeof(struct student));

      //return

      printf(“n學(xué)生學(xué)號:(輸入0結(jié)束?。?;

      scanf(“%d”,&p1->num2);

      printf(“n學(xué)生姓名:”);

      scanf(“%s”,p1->name2);

      p1->nelen=0;

      for(i=0;i<50;i++)p1->nelenum[i]=0;

      }

      p2->next=NULL;

      intos();return;} void files()//錄入學(xué)生信息子函數(shù)(從文件錄入){

      int i=0;

      FILE * fp;

      char filepath[20];

      struct student *p1,*p2;

      N2=0;

      printf(“輸入要讀入的文件路徑:”);

      getchar();

      gets(filepath);

      if((fp=fopen(filepath,“r”))==NULL)

      {

      printf(“找不到%s文件!n”,filepath);

      exit(0);

      }

      p1=p2=(struct student*)malloc(sizeof(struct student));

      fread(p1,sizeof(struct student),1,fp);

      head3=NULL;

      while(!feof(fp))

      {

      i=0;

      N2=N2+1;

      if(N2==1)head3=p1;

      else p2->next=p1;

      p2=p1;

      p1=(struct student *)malloc(sizeof(struct student));

      fread(p1,sizeof(struct student),1,fp);

      }

      p2->next=NULL;}

      void inputs()//錄入學(xué)生信息主函數(shù) {

      int i;

      printf(“nttt錄入學(xué)生信息n”);

      printf(“n1.從鍵盤錄入n”);

      printf(“2.從文件錄入n”);

      printf(“3.返回主菜單n”);

      printf(“請選擇(1~3):n”);

      scanf(“%d”,&i);

      switch(i)

      {

      case(1):keyboards();break;

      case(2):files();break;

      case(3):system(“cls”);return;break;

      }

      return 0;}

      void inserts(struct student * incouse)//學(xué)生信息管理子函數(shù)(填加學(xué)生信息){ void intos();

      struct student *p0,*p1,*p2;

      p1=head3;

      p0=incouse;

      if(head3==NULL)

      {

      head3=p0;

      p0->next=NULL;

      }

      else

      {

      while((p0->num2 > p1->num2)&&(p1->next!=NULL))

      {

      p2=p1;

      p1=p1->next;

      }

      if(p0->num2 <= p1->num2)

      {

      if(head3==p1)head3=p0;

      else p2->next=p0;

      p0->next=p1;

      }

      else

      {

      //return

      p1->next=p0;

      p0->next=NULL;

      }

      }

      N2=N2+1;

      intos();}

      void dels(int num2)//學(xué)生信息管理子函數(shù)(刪除學(xué)生信息){ void intos();

      struct student *p1,*p2;

      if(head3==NULL)

      {

      printf(“n沒有該學(xué)生信息,無法刪除!n”);

      goto end;

      }

      p1=head3;

      while(num2!=p1->num2 && p1->next!=NULL)

      {

      p2=p1;

      p1=p1->next;

      }

      if(num2==p1->num2)

      {

      if(p1==head3)head3=p1->next;

      else p2->next=p1->next;

      printf(“已刪除該學(xué)生信息!n”);

      N2=N2-1;

      }

      else printf(“無該學(xué)號的學(xué)生!n”);

      intos();

      end:;}

      void managements()//學(xué)生信息管理主函數(shù) {

      struct student * incouse;

      int i,num2;

      printf(“ttt學(xué)生信息管理n”);

      printf(“1.新增學(xué)生信息n”);

      printf(“2.刪除學(xué)生信息n”);

      printf(“3.返回主菜單n”);

      printf(“請選擇(1~3):n”);

      scanf(“%d”,&i);

      switch(i)

      {

      case(1):

      {

      incouse=(struct student *)malloc(sizeof(struct student));

      incouse->nelen=0;

      incouse->nelenum[0]=0;

      printf(“學(xué)生學(xué)號t學(xué)生姓名n”);

      scanf(“%d%s”,&incouse->num2,incouse->name2);

      inserts(incouse);

      break;

      }

      case(2):

      {

      printf(“請輸入要刪除學(xué)生的學(xué)號:n”);

      scanf(“%d”,&num2);

      dels(num2);

      break;

      }

      case(3):system(“cls”);return;break;

      //return

      } }

      void elect(struct student * s)//選課 {

      void intos();

      struct couse * p;

      int num1,i;

      printf(“請輸入要選課的編號:n”);

      scanf(“%d”,&num1);

      for(i=0;s->nelenum[i]!=0;i++);

      s->nelenum[i]=num1;

      (s->nelen)++;

      p=head1;

      while(p->num1!=num1)p=p->next;

      (p->nelepeo)++;

      intos();} void cheak()//學(xué)生選課子函數(shù)(查詢可選課程){

      char e;

      struct couse * c;

      struct student * s;

      int num2,i,j=0,t=0;

      printf(“請輸入你的學(xué)號:”);

      scanf(“%d”,&num2);

      s=head3;

      while((s->num2!=num2)&&(s->next!=NULL))s=s->next;

      if(s->num2!=num2)

      {

      printf(“不存在你的信息,請進入主菜單錄入你的信息!n”);

      goto end;

      }

      c=head1;

      printf(“你的可選課程編號:n”);

      while(c!=NULL)

      {

      for(t=0,i=0;s->nelenum[i]!=0;i++)

      {

      if(c->num1==s->nelenum[i])t=1;

      }

      if(t==0 &&(c->nelepeo!=c->Melepeo))

      {

      printf(“%dn”,c->num1);

      j++;

      }

      c=c->next;

      }

      if(j==0)

      {

      printf(“你已選完所有課程,無法再多選!n”);

      goto end;

      }

      printf(“選課(y/n)?:n”);

      getchar();

      e=getchar();

      i=0;

      while((e=='y')||(e=='Y'))

      {

      elect(s);

      printf(“繼續(xù)選課(y/n)?:n”);

      getchar();

      e=getchar();

      }

      end:;} void back(struct student * p)//退課 {

      void intos();

      struct couse * p1;

      int num1,i,j;

      printf(“請輸入你要退掉的課程編號:n”);

      scanf(“%d”,&num1);

      p1=head1;

      while(p1->num1!=num1)p1=p1->next;

      for(i=0;p->nelenum[i]!=num1;i++);

      for(j=i;p->nelenum[j]!=0;j++)p->nelenum[j]=p->nelenum[j+1];

      p->nelenum[--j]=0;

      (p1->nelepeo)--;

      printf(“退課成功!n”);

      intos();} void hcheak()//學(xué)生選課子函數(shù)(查詢已選課程){

      char c;

      struct couse * p0;

      struct student * p;

      int num2,i,f=0;

      printf(“請輸入學(xué)號:n”);

      scanf(“%d”,&num2);

      p=head3;

      while(p->num2!=num2 && p!=NULL)p=p->next;

      if(p==NULL)

      {

      printf(“不存在你的信息,請回主菜單錄入信息:n”);

      goto end;

      }

      printf(“已選課程編號:n”);

      if(p->nelenum[0]==0)

      {

      printf(“你還沒選課!n”);

      goto end;

      }

      for(i=0;p->nelenum[i]!=0;i++)

      {

      printf(“%dn”,p->nelenum[i]);

      p0=head1;

      while(p0->num1!=p->nelenum[i])p0=p0->next;

      f=f+p0->score;

      }

      printf(“總學(xué)分:%dn”,f);

      printf(“是否進行退課(y/n)?”);

      getchar();

      c=getchar();

      while((c=='y')||(c=='Y'))

      {

      back(p);

      printf(“繼續(xù)退課(y/n)?”);

      getchar();

      c=getchar();

      (p->nelen)--;

      }

      end:;} void elective()//學(xué)生選課主函數(shù) {

      int i;

      printf(“ttt學(xué)生選課n”);

      printf(“1.查詢可選課程n”);

      printf(“2.查詢已選課程n”);

      printf(“3.返回主菜單n”);

      printf(“請輸入(1~3):n”);

      scanf(“%d”,&i);

      switch(i)

      {

      case(1):cheak();break;

      case(2):hcheak();break;

      case(3): system(“cls”);return;break;

      // return

      } } void listc()//輸出課程信息 {

      struct couse * p;

      p=head1;

      printf(“課程編號

      課程名稱

      學(xué)分

      課程已選人數(shù)

      課程人數(shù)上限n”);

      while(p!=NULL)

      {

      printf(“%-8d%10s%6d%8d%12dn”,p->num1,p->name1,p->score,p->nelepeo,p->Melepeo);

      p=p->next;

      } }

      void lists()//輸出學(xué)生信息 {

      struct student * p;

      p=head3;

      printf(“學(xué)生學(xué)號

      學(xué)生姓名

      已選課程數(shù)量n”);

      while(p!=NULL)

      {

      printf(“%-4d %10s %6dn”,p->num2,p->name2,p->nelen);

      p=p->next;

      } } void intoc()//存儲課程信息 {

      FILE * fp;

      struct couse * p;

      char filepath[30];

      if((fp=fopen(“課程信息.dat”,“a+”))==NULL)

      {

      printf(“n保存失敗!”);

      exit(0);

      }

      p=head1;

      while(p!=NULL)

      {

      fprintf(fp,“%d %s %d %d %dn”,p->num1,p->name1,p->score,p->nelepeo,p->Melepeo);

      p=p->next;

      }

      fclose(fp);

      printf(“課程信息已保存成功!n”);} void intos()//存儲學(xué)生信息 { int i;

      FILE * fp;

      struct student * p;

      char filepath[30];

      if((fp=fopen(“學(xué)生信息.dat”,“a+”))==NULL)

      {

      printf(“n保存失敗!”);

      exit(0);

      }

      p=head3;

      while(p!=NULL)

      {

      fwrite(p,sizeof(struct student),1,fp);

      p=p->next;

      }

      fclose(fp);

      printf(“學(xué)生信息已保存成功!n”);

      printf(“ntttt選擇菜單:”);

      printf(“ntttt1.繼續(xù)添加ntttt2.返回主菜單:”);

      printf(“請選擇:”);

      scanf(“%d”,&i);

      switch(i)

      {

      case 1:inputs();break;

      case 2:teacher();break;

      default:printf(“n輸入有誤!n”);} }

      void store()//信息主函數(shù) {

      int i;

      printf(“tt系統(tǒng)信息查看及存儲n”);

      printf(“1.查看課程信息n”);

      printf(“2.查看學(xué)生信息n”);

      printf(“3.返回主菜單n”);

      printf(“請輸入(1~3):n”);

      scanf(“%d”,&i);

      switch(i)

      {

      case(1):listc();break;

      case(2):lists();break;

      case(3):system(“cls”);return;break;

      } }

      int main()//主函數(shù)

      //retuen

      {

      int i;

      FILE *fp;

      printf(“nttt歡迎使用學(xué)生選課系統(tǒng)!n”);

      printf(“n請選擇菜單:”);

      printf(“ntttt1.教師登陸ntttt2.學(xué)生登陸n”);

      printf(“請選擇:”);

      scanf(“%d”,&i);

      switch(i)

      {

      case 1:teacher();break;

      case 2:student();break;

      default:printf(“輸入有誤!”);

      } }

      int student()

      {

      int i;

      printf(“ntttt1.學(xué)生選課n”);

      printf(“ntttt2.系統(tǒng)信息查看及存儲n”);

      printf(“ntttt3.退出系統(tǒng)n”);

      printf(“請選擇:”);

      scanf(“%d”,&i);

      switch(i)

      {

      case 1:

      {

      system(“cls”);

      elective();

      break;

      }

      case 2:

      {

      system(“cls”);

      store();

      break;

      }

      default:printf(“輸入有誤!”);

      }

      }

      int teacher()

      {

      FILE *fp;

      int i;

      printf(“菜單:n”);

      printf(“1.錄入課程信息n”);

      printf(“2.課程管理n”);

      printf(“3.錄入學(xué)生信息n”);

      printf(“4.學(xué)生信息管理n”);

      printf(“5.系統(tǒng)信息查看n”);

      printf(“6.退出系統(tǒng)n”);

      if((fp=fopen(“課程信息.dat”,“rb”))==NULL)

      {

      printf(“n打開系統(tǒng)文件失??!

      n”);

      //fp=fopen(“信息.dat”,“rb”));

      // }

      // if(feof(fp))

      // {

      printf(“n還未添加課程信息,請?zhí)砑诱n程信息!n”);

      inputc();

      }

      while(!feof(fp))

      {

      emp1=(struct couse*)malloc(sizeof(struct couse));

      if(emp1==NULL)

      {

      printf(“n分配內(nèi)存失?。”);

      return;

      }

      fread(emp1,sizeof(struct couse),1,fp);

      if(feof(fp))break;

      if(head1==NULL)

      {

      head1=emp1;

      head2=emp1;

      }

      else{

      head2->next=emp1;

      head2=emp1;

      }

      head2->next=NULL;

      }

      fclose(fp);

      fp==NULL;

      if((fp=fopen(“學(xué)生信息.dat”,“rb”))==NULL)

      printf(“n打開系統(tǒng)文件失??!n”);

      //

      //if(feof(fp)==1)

      // {

      printf(“還未添加學(xué)生信息,請?zhí)砑訉W(xué)生信息!”);

      inputs();

      while(!feof(fp))

      {

      emp1=(struct student*)malloc(sizeof(struct student));

      if(emp2==NULL)

      {

      printf(“n分配內(nèi)存失??!n”);

      return;

      }

      fread(emp2,sizeof(struct student),1,fp);

      if(feof(fp))break;

      if(head3==NULL)

      {

      head3=emp2;

      head4=emp2;

      }

      else{

      head4->next=emp2;

      head4=emp2;

      }

      head4->next=NULL;

      }

      fclose(fp);

      fp==NULL;

      printf(“n請輸入菜單選項(1~6):n”);

      scanf(“%d”,&i);

      switch(i)

      {

      case(1):

      {

      system(“cls”);

      inputc();

      break;

      }

      case(2):

      {

      system(“cls”);

      managementc();

      break;

      }

      case(3):

      {

      system(“cls”);

      inputs();

      break;

      }

      case(4):

      {

      system(“cls”);

      managements();

      break;

      }

      case(5):

      {

      system(“cls”);

      store();

      break;

      }

      case(6):

      {

      system(“cls”);

      printf(“感謝使用本系統(tǒng)!nn再見!n”);

      }

      }

      return 1;

      }

      第五篇:CC語言課程設(shè)計

      1,/*100-999內(nèi)的水仙花數(shù)的個數(shù)*/ #include main(){

      int a,b,c,d,s,i=0;

      for(a=100;a<=999;a++)

      {

      b=a/100;

      c=a%100/10;

      d=a%10;

      s=b*b*b+c*c*c+d*d*d;

      if(a==s)

      i++;

      }

      printf(“%d”,i);

      getch();} 2, /*x^2+y^2+z^2=55^2,則(x,y,z)稱為方程的整數(shù)解的個數(shù)*/ #include main(){ int x,y,z,t=0,a,s;for(x=-55;x<=55;x++)

      for(y=-55;y<=55;y++)

      for(z=-55;z<=55;z++)

      {

      a= x*x+y*y+z*z;

      s=55*55;

      if(a==s&&x>y&&x>z&&x>y)

      t++;

      }

      printf(“%d”,t);

      getch();

      } 3/*100-400內(nèi)的水仙花數(shù)的個數(shù)*/ #include main(){

      int a,b,c,d,s,i=0;

      for(a=100;a<=400;a++)

      {

      b=a/100;

      c=a%100/10;

      d=a%10;

      s=b*b*b+c*c*c+d*d*d;

      if(a==s)

      i++;

      }

      printf(“%d”,i);

      getch();

      }

      4, /* 0-60內(nèi)每位數(shù)的乘積大于和的數(shù)個數(shù)*/

      #include main(){

      int a,b,c,d,e,i=0;

      for(a=0;a<=6;a++)

      {

      b=a/10;c=a%10;

      d=a*b;e=a+b;

      if(d==e)

      i++;

      }

      printf(“%d”,i);

      getch();

      }

      5/*滿足1/A^2+1/B^2=1/C^2關(guān)系時,稱為倒勾股數(shù)

      */

      #include main(){

      int a,b,c ,t=0;

      float x,y,z;

      for(a=1;a<=100;a++)

      { for(b=1;b<=100;b++)

      for(c=1;c<=100;c++)

      x=1/(a*a);

      y=1/(b*b);

      z=1/(c*c);

      if(x+y==z&&a+b+c<150&&a+b+c>130&&a>b&&a>c&&b>c)

      t++;

      }

      printf(“%d”,t);

      getch();

      } 6, /*愛因斯坦走臺階 */ #include main(){

      int s;

      for(s=0;;s++)

      {

      if(s%2==1&&s%3==2&&s/4==3&&s/5==4&&s/6==5&&s%7==0)break;

      }

      printf(“%d”,s);

      getch();

      } 7./*121-140內(nèi)弦數(shù)的個數(shù)*/ #include main(){

      int a=0,b=0,c=121 ,i=0;

      for(c=121;c<=140;a++)

      {

      for(a=0;a<=15;a++)

      for(b=0;b<=15;b++)

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

      i++;

      continue;

      printf(“%d”,i);

      }

      getch();} 8/*1000內(nèi)其十位數(shù)是6能被8整除數(shù)的個數(shù)*/ #include main(){

      int a,i=0;

      for(a=10;a<=1000;a++)

      {

      if(a%100/10==6&&a%8==0)

      i++;

      }

      printf(“%d”,i);

      getch();

      }

      9/* 0-60內(nèi)每位數(shù)的乘積大于和的數(shù)個數(shù)*/

      #include main(){

      int a,b,c,d,e,i=0;

      for(a=0;a<=60;a++)

      {

      b=a/10;c=a%10;

      d=c*b;e=c+b;

      if(d>e)

      i++;

      }

      printf(“%d”,i);

      getch();

      }

      10./* 1-5000內(nèi)能被5整除偶數(shù)之和大于500和的值*/

      #include main(){

      int a, b=0;

      for(a=2;a<=5000;a+=2)

      {

      if(a%5==0)

      b=b+a;

      while(b>500);

      printf(“%d”,b);

      }

      getch();

      }

      11./* 100-500內(nèi)能被3整除余2和能被5整除余3的個數(shù)*/ #include main(){

      int a, b=0;

      for(a=100;a<=500;a++)

      {

      if(a%3==2&&a%5==3)

      b++;

      }

      printf(“%d”,b);

      getch();

      } 12/* 1-7000內(nèi)能被3或者能被7整除的個數(shù)*/ #include main(){

      int a, b=0;

      for(a=1;a<=7000;a++)

      {

      if(a%3==0||a%7==0)

      b++;

      }

      printf(“%d”,b);

      getch();

      } 13./*3-100內(nèi)非偶數(shù)非素數(shù)之和*/ #include main(){

      int a,i,k, b=0;

      for(a=3;a<=100;a+=2)

      {

      k=sqrt(a);

      for(i=2;i<=k;i++)

      {if(a%i==0)break;

      if(i>k+1)

      b=b+a;}

      }

      printf(“%d”,b);

      getch();

      }

      14/*求滿足ijk+kji=1534,且i

      #include main(){

      int j,i,k, b=0;

      for(j=0;j<=9;j++)

      for(k=0;k<=9;k++)

      for(i=0;i

      if(100*i+10*j+k+100*k+10*j+i==1534)

      b++;

      printf(“%d”,b);

      getch();

      }

      15/*有四位數(shù)ABCD的個數(shù),該四位數(shù)是11的倍數(shù),且A=B+C,即第2位數(shù)加上第3位數(shù)等于第1位數(shù)。4 */

      #include main(){

      int j,i,k,a, b=0;

      for(j=1000;j<=9999;j++)

      {

      i= j/1000;

      k=j%1000/100;

      a=j%100/10;

      if(j%11==0&&i==k+a)

      b++;

      }

      printf(“%d”,b);

      getch();

      } 16/*求三位數(shù)的偶數(shù)中,所有各位數(shù)字之和是15的倍數(shù)的數(shù)的個數(shù)*/ #include main(){

      int j,i,k,a,s, b=0;for(j=100;j<=999;j+=2)

      {

      i= j/100;

      k=j%100 /10;

      a=j%10;

      s=i+k+a;

      if(s%15==0)

      b++;

      }

      printf(“%d”,b);

      getch();

      } 17/*四位數(shù)的奇數(shù)中,所有各位數(shù)字之積是125的倍數(shù)的數(shù)的和*/ #include main(){

      int j,i,k,a,c,s, b=0;for(j=1111;j<=9999;j+=2)

      {

      i= j/1000;

      k=j%1000 /100;

      a=j%100/10;

      c=j%10;

      s=i*k*a*c;

      if(s%125==0)

      b=b+j;

      }

      printf(“%d”,b);

      getch();

      }

      18/*5000以內(nèi)能被17或者23整除的正整數(shù)的個數(shù) */

      #include main(){

      int j,i,k,a,c,s, b=0;for(j=1;j<=5000;j++)

      {

      if(j%17==0||j%23==0)

      b++;

      }

      printf(“%d”,b);

      getch();

      }

      19/*四位數(shù)的偶數(shù)中,所有各位數(shù)字之和是30的倍數(shù)的數(shù)的和

      */

      #include main(){

      int j,i,k,a,c,s, b=0;for(j=1000;j<=9999;j+=2)

      {

      i=j/1000;

      k=j%1000/100;

      a=j%100/10;

      c=j/10;

      s=i+k+a+c;

      if(s%30==0)

      b=b+j;

      }

      printf(“%d”,b);

      getch();

      } 21/*統(tǒng)計1000~9999之間的所有滿足以下條件的四位數(shù)的個數(shù)。該數(shù)是一個完全平方數(shù)*/ #include #include main(){

      int a,b,c ,d,s,x,y,t=0;

      for(s=1000;s<=9999;s++)

      {

      a=s/1000;

      b=s%1000/100;

      c=s%100/10;

      d=s%10;

      x=sqrt(s);

      y=x*x;

      if(a+b==12&&c*d==24&&y==s)

      t++;

      }

      printf(“%d”,t);

      getch();

      } 22/*S=1+3+5+7+9+…,求S不大于9000的最大值*/ #include main(){

      int j ,s=0;for(j=1;;j+=2)

      {

      s+=j;if(s>9000)break;

      }

      s=s-j;

      printf(“%d”,s);

      getch();

      } 23/*S=2+4+8+16+32+…,求S不大于1500的最大值*/

      #include main(){

      int j ,s=0;for(j=2;;j=2*j)

      {

      s+=j;

      if(s>1500)break;

      }

      s=s-j;

      printf(“%d”,s);

      getch();

      } /*m的值為50時,計算下列公式的值T=1-1/2-1/3-1/4-…-1/m*/

      #include main(){

      float n,m,s,T;

      s=0;

      for(n=2;n<=50;n++){

      m=-1/n;

      s=s+m;

      }

      T=1+s;

      printf(“%0.4f”,T);

      getch();

      }

      26, /*當(dāng)n的值為25時,計算下列公式的值: s=1+1/1!+1/2!+1/3!+…+1/n*/

      #include main(){

      float s,T;

      int m=1,n=1;

      s=0;

      for(n=1;n<=25;n++){

      m=m*n;

      s=s+1/m;

      }

      T=1+s;

      printf(“%0.4f”,T);

      getch();

      } 27/*斐波那契數(shù)列,10000000以內(nèi)最大的斐波那契數(shù)*/ #include main(){ long int f1,f2 ,n;f1=1;f2=1;

      do

      {

      f1=f1+f2;

      f2=f1+f2;

      }while(f1>10000000);

      printf(“%ldn%ld”,f1,f2);

      getch();

      } 28/*計算y=1+2/3+3/5+4/7+.....+n/(2*n-1)的值,n=50*/ #include main(){ float y=0,m,s;int t,n;for(n=1;n<=50;n++){

      t=2*n-1;

      m=1.0/t;

      s=m*n;

      y+=s;

      }

      printf(“%.2f”,y);

      getch();

      } 29/*計算y=x/1!-x^3/3!+x^5/5!-x^7/7!...前20項的值x=2*/

      #include main(){

      float y=0,m,s,x;int t,n;

      for(n=1;n<=20;n++){

      x=-4*x;

      m=2*n+1;

      t=t*m*(m-1);

      s+= x/t;

      }

      printf(“%.2f”,y);

      getch();

      }

      30/*梅森尼數(shù)2^n-1是素數(shù),【2-21】內(nèi)的梅森尼數(shù)個數(shù) */

      #include #include

      main(){

      int n,m,i,j,k,x=0;for(n=2;n<=21;n++){ m=2*m;

      i=m-1;

      k=sqrt(i);

      for(j=3;j<=k;j++)

      if(i%k==0)break;if(j>=k+1)x++;

      }

      printf(“%d”,x);

      getch();

      }

      31/*兩位數(shù)分子分母各個數(shù)之和的比等于原來的值*/

      #include

      main(){

      int n,m,a,b,c,d,s;float x,y;for(n=10;n<=98;n++)for(m=11;m<=99;m++)

      { a=n/10;

      b=n%10;

      c=m/10;

      d=m%10;

      x=n/m;

      y=(a+b)/(c+d);

      if(m>n&&x==y)

      s+=a+b+c+d;

      }

      printf(“%d”,s);

      getch();

      } 32/* 1-50內(nèi)構(gòu)成直角三角形的組數(shù) */ #include

      main(){

      int x,y,z,n=0,t;

      for(x=1;x<=50;x++)

      {

      for(y=1;y<=50;y++)

      for(z=1;z<=50;z++)

      if(x+y>z&&x*x+y*y==z*z)

      n++;}

      t=n/3;

      printf(“%d ”,t);

      getch();

      } 33/*一正整數(shù)遞減,每次減半后減一,10次后剩一 */ #include

      main(){

      int n, s=0,m=1;

      for(n=2;n<=10;n++)

      {

      m= 2*(m+1);

      }

      printf(“%dn”,m);

      getch();

      }

      34./* 2/1,3/2,5/3,.....前50項和*/ #include

      main(){

      int x1=1,x2=2, n;float t,s=0;

      for(n=1;n<=50;n++)

      { t=x2/x1;

      s+=t;

      x2=x1+x2;

      x1=x2;

      }

      printf(“%.2f ”,s);

      getch();

      }

      35,/*求五位數(shù)各個位數(shù)平方和為100的最大五位數(shù)*/

      #include

      main(){

      int x,a,b,c,d,e,m,n,max;

      for(x=10000;x<=99999;x++)

      {

      a=x/10000;

      b=x%10000/1000;

      c=x%1000/100;

      d=x%100/10;

      e=x%10;

      m=a*a+b*b+c*c+d*d+e*e;

      if(m==100)break;

      max=x;

      }

      for(n=x;n<=99999;n++)

      {

      a=n/10000;

      b=n%10000/1000;

      c=n%1000/100;

      d=n%100/10;

      e=n%10;

      m=a*a+b*b+c*c+d*d+e*e;

      if(m==100)

      max=n;

      }

      printf(“%ld ”,max);

      getch();

      } 36,#include main(){

      long int y,k;

      int x,i=0;

      for(x=2;x<=1000;x++)

      { y=x*x;

      k=y-x;

      if(x<10&&k%10==0)

      i=i+x;

      if(x>=10&&x<=99&&k%100==0)

      i=i+x;

      if(x>=100&&x<=999&&k%1000==0)

      i=i+x;

      if(x==1000&&k%10000)

      i=i+x;

      }

      printf(“%d”,i);

      getch();} 37/*求50-150之間的友對數(shù)*/

      #include main(){ int x,y,z, i,t=0;for(x=50;x<=150;x++){

      y=x+1;

      z=x*y-1;

      for(i=2;x<=z-1;i++)

      {

      if(z%i==0)break;

      if(z%i!=0)

      {

      if(i==z-1)

      t++;}

      }

      }

      printf(“%d”,t);

      getch();

      }

      38/* 求[1,30000]之內(nèi)E數(shù)的個數(shù),E(1)=E(2)=1;E(n)=(n-1)*E(n-1)+(n-2)*E(n-2)*/

      #include main(){

      int i,j=2,n;

      long int a[]={0,1,1};

      for(n=3;;n++)

      { a[n]=(n-1)*a[n-1]+(n-2)*a[n-2];

      for(i=1;i<=30000;i++)

      {

      if(a[n]==i)

      {j++;break;}

      if(a[n]>=30000)

      break;

      }

      if(a[n]>=30000)

      break;

      }

      printf(“%d”,j);

      getch();}

      39./*試求所有兩位絕對素數(shù)的和,絕對素數(shù)是交換位子后仍為素數(shù)*/

      #include main(){

      int i,j,a,b,x,k,s=0;

      for(i=11;i<=99;i+=2)

      for(j=2;j<=i-1;j++)

      {if(i%j==0)

      break;

      if(i%j!=0)

      {if(j==i-1)

      {a=i/10;

      b=i%10;

      x=10*b+a;

      for(k=2;k<=x-1;k++)

      {if(x%k==0)

      break;

      if(x%k!=0)

      {if(k==x-1)

      s=s+i;}}

      }

      }

      }

      printf(“%d”,s);

      getch();} 40./*f(0)=f(1)=1,f(2)=0f(n)=f(n-1)-2*f(n-2)+f(n-3),(n>2)求f(0)到f(50)中的最大值*/ #include main(){

      long int a[50]={1,1,0},max;

      int i;

      for(i=3;i<=50;i++)

      { max=a[1];

      a[i]=a[i-1]-2*a[i-2]+a[i-3];

      if(max

      max=a[i];

      else

      max=max;

      }

      printf(“%ld”,max);

      getch();} 41,/*f(n)=f(n-1)+2*f(n-2)-5*f(n-3),f(0)=1,f(1)=2,f(2)=3,求f(0)+f(1)+…f(30)*/

      #include main(){

      long int a[31]={1,2,3},s=a[0]+a[1]+a[2];

      int i;

      for(i=3;i<=30;i++)

      {

      a[i]=a[i-1]+2*a[i-2]-5*a[i-3];

      s=s+a[i];

      }

      printf(“%ld”,s);

      getch();}

      42./*A1=1, A2=1/(1+A1), A3=1/(1+A2), A4=1/(1+A3), ……, 求A50*/

      #include main(){

      float a[51]={0,1};

      int i;

      for(i=2;i<=50;i++)

      {

      a[i]=1.0/(1+a[i-1]);

      }

      printf(“%.3f”,a[50]);

      getch();}

      43./*A,B為正整數(shù), A

      #include main(){

      int A,B,d,min=2699;

      long int c;

      for(B=2;B<=2698;B++)

      for(A=1;A

      {c=A*B;

      if(c==2698)

      { d=A+B;

      if(min>d)

      min=d;}

      }

      for(B=2;;B++)

      {for(A=1;A

      {min=A+B;

      c=A*B;

      if(c==2698)

      break;}

      if(c==2698)

      break;}

      printf(“%d”,B);

      getch();} 44/*A main(){

      int A,B,d,min=2699;

      long int c;

      for(B=2;B<=2698;B++)

      for(A=1;A

      {c=A*B;

      if(c==2698)

      { d=A+B;

      if(min>d)

      min=d;}

      }

      printf(“%d”,min);

      getch();} 45/*的自然數(shù)對中B之和求所有小于或等于100*/

      #include main(){

      int a,b,A,B,j,i,s=0;

      for(A=1;A<=100;A++)

      for(B=1;B<=A;B++)

      { a=A+B;

      b=A-B;

      for(i=1;i<=15;i++)

      if(a==i*i)

      {for(j=1;j<=10;j++)

      if(b==j*j)

      s=s+B;}

      }

      printf(“%d”,s);

      getch();}

      46./*問大、中、小學(xué)生的人數(shù)分配共有多少種不同的解*/

      #include main(){

      int i,j,k,s,y=0;

      for(i=1;i<=30;i++)

      for(j=1;j<=40;j++)

      for(k=1;k<=60;k++)

      {s=4*i+3*j+2*k;

      if(s==120)

      y++;

      }

      printf(“%d”,y);

      getch();}

      下載語言_課程設(shè)計1五篇范文word格式文檔
      下載語言_課程設(shè)計1五篇范文.doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        2012語言課程設(shè)計任務(wù)書

        河南工程學(xué)院 《匯編語言》 課程設(shè)計任務(wù)書 適用專業(yè):計算機科學(xué)與技術(shù)適用班級: 本科2014年12月20日 《匯編語言》課程設(shè)計任務(wù)書 一、課程設(shè)計目的與任務(wù) 匯編語言課程設(shè)計......

        C語言課程設(shè)計

        - 1 1 前言 讓自己所學(xué)的知識應(yīng)用于實際生活中,理論聯(lián)系生活,學(xué)以致用,我們將更好服務(wù)于民。我們是新一代的年輕人,要想將來在社會上更好的立足,就必須讓自己強大起來,努力的學(xué)習(xí)......

        C語言課程設(shè)計報告

        C語言課程設(shè)計報告 班級: 10電子本1 學(xué)號: 10303033122 姓名: 指導(dǎo)老師: 方文森完成日期: 溫州大學(xué)城市學(xué)院課程設(shè)計 目 錄 1、課程設(shè)計目的和要求 ............................

        c語言課程設(shè)計總結(jié)

        c語言課程設(shè)計總結(jié)5篇c語言課程設(shè)計總結(jié)(一):c語言課程設(shè)計總結(jié)心得經(jīng)過一個學(xué)期的學(xué)習(xí),我對C語言有了必須的了解。C語言是學(xué)習(xí)計算機科學(xué)的基礎(chǔ),作為一名計算機專業(yè)學(xué)生,掌握C語......

        《C語言》課程設(shè)計教學(xué)大綱

        荊楚理工學(xué)院 《C語言程序設(shè)計》課程設(shè)計教學(xué)大綱 一、 課程名稱: C語言程序設(shè)計 二、 課程代碼: Z04013 三、 課程管理: 計算機工程學(xué)院(部)計算機應(yīng)用教研室 四、 教學(xué)對象:......

        C語言課程設(shè)計任務(wù)書

        《C語言程序設(shè)計》課程設(shè)計 任務(wù)書及指導(dǎo)書 自動化學(xué)院 2011年 C語言課程設(shè)計任務(wù)書及指導(dǎo)書1 題目:學(xué)院教學(xué)信息管理系統(tǒng) 功能:學(xué)院教學(xué)信息管理系統(tǒng),每一條記錄包括教師的......

        語言程序設(shè)計課程設(shè)計指導(dǎo)書

        匯編語言程序設(shè)計課程設(shè)計指導(dǎo)書 一、 課程設(shè)計的目的 本課程設(shè)計是《匯編語言程序設(shè)計》課程的后繼教學(xué)環(huán)節(jié),其宗旨是使學(xué)生通過對一個較大型的、綜合性的應(yīng)用程序進行閱讀......

        C語言課程設(shè)計選題

        C語言課程設(shè)計選題 題一、《學(xué)生成績管理系統(tǒng)》 1、 寫一個“學(xué)生成績管理”程序,要求程序如下功能: (1) 成績錄入,(2)成績修改(按學(xué)號修改),(3)成績查詢(至少提供按學(xué)號、按姓名、按班......