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

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

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

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

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

      《C語言程序設(shè)計實踐》課題

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

      第一篇:《C語言程序設(shè)計實踐》課題

      綜合實踐大作業(yè)

      任務(wù)1 課題名稱:

      學(xué)生順序表的處理

      課題內(nèi)容:

      在一個數(shù)據(jù)文件中存放若干學(xué)生數(shù)據(jù)記錄,每條記錄都有如下數(shù)據(jù)項:學(xué)號,姓名,性別,成績。

      編一個程序,采用順序存儲結(jié)構(gòu)存儲這批數(shù)據(jù),并對該數(shù)據(jù)進(jìn)行排序。要求:數(shù)組前部為女同學(xué),后部為男同學(xué),并且男女同學(xué)都按成績遞減排序,分別計算男生合格率、女生合格率、全班的成績平均分,并把排序后的學(xué)生數(shù)據(jù)記錄及計算結(jié)果存入另一個數(shù)據(jù)文件中。

      任務(wù)2 課題名稱:

      學(xué)生成績的管理(順序存儲)

      課題內(nèi)容:

      某班級學(xué)生C語言第一次正考的成績存于數(shù)據(jù)文件score.dat中,記錄了學(xué)生學(xué)號、姓名和考試成績,bk.dat文件中記錄了補(bǔ)考學(xué)生的學(xué)號、姓名和補(bǔ)考成績,編寫程序以順序存儲結(jié)構(gòu)實現(xiàn)以下要求:

      1、對該班級按成績降序排序并統(tǒng)計成績平均分及每個分?jǐn)?shù)段的人數(shù),結(jié)果寫入到result.dat中。

      2、再根據(jù)補(bǔ)考成績修改原成績,修改成績后仍按成績降序?qū)懺趓esult.dat的后面。成績修改原則: 1)補(bǔ)考成績大于等于60,原成績以60分記;2)補(bǔ)考成績小于60,取兩次成績中最高值記。

      任務(wù)3 課題名稱:

      學(xué)生基本信息的管理(順序存儲)

      課題內(nèi)容:

      已知學(xué)生的信息包括:學(xué)號,姓名,性別,出生年月,地址,電話,E-mail等。以順序存儲結(jié)構(gòu)設(shè)計程序能實現(xiàn)以下功能:(1)學(xué)生信息錄入:可隨時增加學(xué)生信息到數(shù)據(jù)文件中(2)學(xué)生信息瀏覽:學(xué)生的信息輸出到屏幕(3)查詢:按學(xué)號查詢、按姓名查詢(4)修改:修改指定學(xué)生的信息(5)刪除:刪除指定學(xué)生的信息

      (6)排序:按指定的關(guān)鍵字排序后輸出到屏幕。(7)系統(tǒng)以菜單方式工作

      任務(wù)4 課題名稱:

      圖書順序表的處理

      課題內(nèi)容:

      在一個數(shù)據(jù)文件中存放若干圖書數(shù)據(jù)記錄,每條記錄都有如下數(shù)據(jù)項:書名,作者,出版社,ISBN,出版時間,價格,類別。

      編寫一個程序,采用順序存儲結(jié)構(gòu)存儲這批數(shù)據(jù),并對該數(shù)據(jù)進(jìn)行排序。要求:按出版社進(jìn)行分類存取圖書信息,同一出版社中的圖書信息按照出版時間降序排列。分別統(tǒng)計每個出版社出版的圖書數(shù)量,并把排序后的圖書記錄及計算結(jié)果存入另一個數(shù)據(jù)文件中。

      任務(wù)5 課題名稱:

      旅游信息順序表的處理

      課題內(nèi)容:

      在一個數(shù)據(jù)文件中存放若干旅游信息數(shù)據(jù)記錄,每條記錄都有如下數(shù)據(jù)項:線路編號、目的地、旅游天數(shù)、旅游類別、出行月份、價格。

      編寫一個程序,采用順序存儲結(jié)構(gòu)存儲這批數(shù)據(jù),并對該數(shù)據(jù)進(jìn)行排序。要求:順序表按旅游目的地進(jìn)行分類存取,同一目的地的旅游線路按照月份升序排序。分別統(tǒng)計每個月、每個目的地的旅游線路總數(shù)。把排序后的旅游記錄及旅游線路總數(shù)存入另一個數(shù)據(jù)文件中。

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

      1.Problem A: Hello world!Description Xiao_ming有兩個哥哥,大哥叫Da_min,二哥叫Er_min。三兄弟放學(xué)回家,父母分別跟他們打招呼。

      Input 無

      Output 請輸出: Hello Da_min, Hello Er_min, Hello Xiao_ming!

      Sample Input Sample Output Hello Da_min, Hello Er_min, Hello Xiao_ming!

      HINT 請注意換行符

      Append Code #include int main(){

      printf(“Hello Da_min,n”);

      printf(“Hello Er_min,n”);

      printf(“Hello Xiao_ming!n”);} 2.Problem B: 求圓的面積和周長 Description 從鍵盤輸入圓的半徑,求圓的面積和周長,圓周率取3.14。

      Input 輸入一個浮點型數(shù)據(jù),有效數(shù)字不會超過十進(jìn)制的6位。

      Output 輸出為兩行。

      第一行為圓的面積,第二行為圓的周長,格式見sample。

      Sample Input 3

      Sample Output Area: 28.260000 Perimeter: 18.840000

      HINT 了解浮點類型的輸入、輸出和算術(shù)運算符

      Append Code 法一

      #include int main(){ double r,p,s;scanf(“%lf”,&r);p=2*3.14*r;s=3.14*r*r;printf(“Area: %lfn”,s);printf(“Perimeter: %lfn”,p);} 法二

      #include #define pi 3.14 int main(){

      double r;

      scanf(“%d”,&r);

      printf(“Area: %lfn”,pi*r*r);

      printf(“Perimeter: %lfn”,2*pi*r);

      }

      3.Problem C:平均值 Description 求3個數(shù)的平均值。

      Input 輸入只有一行,為3個較小的整數(shù)。

      Output 輸出為這3個整數(shù)的平均值,保留3位小數(shù)。

      Sample Input 1 2 3 Sample Output 2.000

      HINT 注意除法運算對整型數(shù)據(jù)和浮點型數(shù)據(jù)是不一樣的。

      Append Code #include int main(){ int a,b,c;scanf(“%d%d%d”,&a,&b,&c);printf(“%.3lf”,(a+b+c)/3.0);}

      4.Problem D: 求字符的值 Description 從鍵盤輸入3個字符(不含雙字節(jié)字符),分別輸出每個字符的十進(jìn)制值(ASCII碼)、八進(jìn)制值和十六進(jìn)制值。

      Input 輸入為3個字符。

      Output 輸出為3行。

      每一行為每個字符(對應(yīng)輸入順序)的十進(jìn)制、八進(jìn)制和十六進(jìn)制值,用空格分隔開。每個輸出的值占3個字符,不足3個字符前面補(bǔ)0。

      Sample Input 0 A

      Sample Output 048 060 030 032 040 020 065 101 041

      HINT 了解字符值的存儲和整型的關(guān)系。

      Append Code #include int main(){ char a,b,c;scanf(“%c%c%c”,&a,&b,&c);printf(“%.3d %.3o %.3xn”,a,a,a);printf(“%.3d %.3o %.3xn”,b,b,b);printf(“%.3d %.3o %.3xn”,c,c,c);}

      5.Problem A: 最簡單的程序 Description 輸出一行“Hello world!”。

      Input 無

      Output Hello world!

      Sample Input Sample Output Hello world!

      HINT Append Code #include int main(){

      printf(“Hello world!”);}

      6.Problem B: 算術(shù)基本運算 Description 計算兩整數(shù)x和y(0

      Input 輸入只有一行,格式見sample。

      Output 輸出為多行,按順序每行輸出x,y的和、差、積、商、余數(shù)、x的平方和y的三次方,格式見sample

      Sample Input x = 11, y = 3

      Sample Output x + y : 14 xy : %dn“,x-y);

      printf(”x * y : %dn“,x*y);

      printf(”x / y quotient: %d, remainder: %dn“,x/y,x%y);

      printf(”x ^ 2 : %dn“,x*x);

      printf(”y ^ 3 : %dn“,y*y*y);} 7.Problem C: 自增自減運算 Description C語言中有自增運算++、自減運算--,并且可以前置和后置。

      編寫一個程序:對輸入的一個整數(shù)a,輸出a++、a--、++a、--a的值。

      Input 一個整數(shù)a,a是很小的整數(shù)。

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

      5行輸出縱向a要對齊,“:”對齊,“:”前后各一個空格,后面的數(shù)值不用對齊。每行行尾都有回車。

      Sample Input 0

      Sample Output a : 0--a :-1 a--: 0 a++ : 0 ++a : 1

      HINT Append Code #include int main(){ int a,x;scanf(”%dn“,&x);a=x;printf(” a

      : %dn“,a);printf(”--a

      : %dn“,--a);a=x;printf(” a--: %dn“,a--);a=x;printf(” a++ : %dn“,a++);a=x;printf(”++a

      : %dn“,++a);}

      8.Problem F: 絕對值 Description 求整型數(shù)據(jù)和浮點型數(shù)據(jù)的絕對值。

      Input 輸入兩個數(shù),第一個是整數(shù),第二個是浮點數(shù)。

      Output 輸出為兩行,第一行為整數(shù)的絕對值,第二行為浮點數(shù)的絕對值,注意浮點數(shù)的絕對值不輸出無意義的0。

      Sample Input-1 1

      Sample Output 1 1

      HINT 求絕對值可以用標(biāo)準(zhǔn)庫函數(shù)來完成,也可以自己判斷。注意浮點數(shù)的輸出格式。求絕對值的函數(shù)在哪個頭文件?貌似很多人會搞錯,包括很多編書的人!

      Append Code #include //#include int main(){

      int n;

      float m;

      scanf(”%d%f“,&n,&m);

      //n=abs(n);

      //m=fabs(m);

      if(n<0)

      {

      n=-n;

      }

      if(m<0)

      {

      m=-m;

      }

      printf(”%dn“,n);

      printf(”%g“,m);

      return 0;}

      9.Problem A: 奇數(shù)還是偶數(shù)? Description 輸入一個整數(shù),判讀它是奇數(shù)還是偶數(shù)。

      Input 輸入只有一行,為一個100以內(nèi)的正整數(shù)。

      Output 輸出為一行。

      若輸入為偶數(shù)則輸出“even”,奇數(shù)輸出“odd”。Sample Input 30

      Sample Output even

      HINT 用整數(shù)運算可以解決,練習(xí)“?:”表達(dá)式。

      Append Code #include int main(){

      int n;

      scanf(”%d“,&n);

      if(n>=0&&n<=100){

      if(n%2==0)printf(”evenn“);

      else printf(”oddn“);

      }

      return 0;}

      10.Problem B: 簡單的打折計算 Description 商店規(guī)定:消費滿n元,可以打八八折。設(shè)某件商品標(biāo)價m元,輸入購買的件數(shù)x,計算出需要支付的金額(單位:元),精確到分。

      Input 輸入只有一行,三個整數(shù)m、n和x,且0

      Sample Input 95 300 4

      Sample Output 334.40

      HINT 了解浮點型的輸出控制,注意整型和浮點型混合運算過程中的數(shù)據(jù)類型轉(zhuǎn)換。

      Append Code #include int main(){

      int m,x,n,a;

      float b;

      scanf(”%d%d%d“,&m,&n,&x);

      0

      x

      m

      a=m*x;

      if(a>n)

      b=0.88*a;

      else

      b=a;

      printf(”%.2fn“,b);

      }

      11.Problem C: 判斷閏年 Description 輸入一個正整數(shù)的年份,判斷是否為閏年。

      Input 輸入只有一行,為一個10000以內(nèi)的正整數(shù)。

      Output 輸出為一行。

      若輸入為閏年偶數(shù)則輸出“Yes”,否則輸出“No”。

      Sample Input 2010

      Sample Output No

      HINT 了解邏輯運算符和關(guān)系運算符。

      Append Code #include int main(){

      int x;

      scanf(”%d“,&x);

      if(x>0&&x<10000)

      {

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

      printf(”Yesn“);

      else if(x%400==0)

      printf(”Yesn“);

      else

      printf(”Non“);

      }

      else

      printf(”error“);}

      12.Problem D: 水仙花數(shù) Description 如果一個三位十進(jìn)制數(shù)等于其各位數(shù)字的立方和,則稱這個數(shù)為水仙花數(shù)。如:13+53+33=153。

      Input 一個整數(shù)x,100<=x<=999。

      Output x是水仙花數(shù),則輸出“YES”,否則為“NO”。

      Sample Input 153

      Sample Output YES

      HINT Append Code #include int main(){

      int a,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.Problem E: 三個數(shù)比較大小 Description 從鍵盤上輸入0~100之間的三個數(shù),按從小到大的順序輸出。

      Input 輸入只有一行,為三個整數(shù)。

      Output 按從小到大輸出這三個數(shù)。

      Sample Input 15 10 20

      Sample Output 10 15 20

      HINT 用if語句判斷各種情況可以解決這個問題。

      Append Code #include int main(){

      int a,b,c;

      scanf(”%d%d%d“,&a,&b,&c);

      if(a>=b)

      {

      if(b>=c)

      printf(”%d %d %dn“,c,b,a);

      else if(c>=a)

      printf(”%d %d %dn“,b,a,c);

      else

      printf(”%d %d %dn“,b,c,a);

      }

      else

      {

      if(a>=c)

      printf(”%d %d %dn“,c,a,b);

      else if(b>=c)

      printf(”%d %d %dn“,a,c,b);

      else

      printf(”%d %d %dn“,a,b,c);

      } }

      14.Problem F: 奇怪的求和之一 Description 給定3個正整數(shù)a、b和c,按照如下規(guī)則求和: 如果這個數(shù)字是偶數(shù),則累加到和中;

      如果這個數(shù)字是奇數(shù),則將大于該數(shù)的最小偶數(shù)累加到和中。

      Input 三個正整數(shù),均在100以內(nèi)。

      Output 一個和。

      Sample Input 2 3 5

      Sample Output 12

      HINT 如果不會使用分支語句,可使用條件運算符判斷到底將哪個數(shù)累積到和中。

      Append Code #include int main(){

      int a,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(”%dn“,a+b+c);

      }

      15.Problem G: 你過線了嗎? Description 經(jīng)過四年的學(xué)習(xí),你決定報考我國著名的“285”高校之一的北青大學(xué),經(jīng)過認(rèn)真的復(fù)習(xí),殘酷的考試,終于知曉了自己的考試成績,也知道了北青大學(xué)的錄取分?jǐn)?shù)線,請你編程判斷,自己過線了嗎? Input 輸入有2行,第一行有4個正整數(shù),分別表示三門課程的分?jǐn)?shù)線以及總分分?jǐn)?shù)線。第二行有3個非負(fù)整數(shù),分別表示你考的三門課程的成績。

      Output 如果你的三門課程成績都不低于相應(yīng)課程的分?jǐn)?shù)線,且你的考試總分也不低于北青大學(xué)的總分分?jǐn)?shù)線要求,則輸出“congratulations”,否則輸出“sorry”。

      Sample Input 70 80 70 240 80 80 82

      Sample Output congratulations

      HINT 如果你不會使用分支語句,同樣可以使用條件運算符實現(xiàn)該程序。

      Append Code #include int main(){

      int a,b,c,d,e,f,g,h;

      scanf(”%d %d %d %dn%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.Problem I: A+B Problem(II): Input/Output

      Practice Description 計算a+b,0<=a,b<1000。

      Input 輸入的第一行是一個整數(shù)N,后面有N對整數(shù)a和b,每對a和b占一行,a,b用空格分開。

      Output 每行輸出一個a+b的和,順序與輸入對應(yīng)。

      Sample Input 2 1 2 10 20

      Sample Output 3 30

      HINT N給出了測試樣例數(shù),用for循環(huán)處理方便。

      Append Code #include int main(){

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

      17.Problem H: A+B Problem Description 計算a+b,0<=a,b<1000。

      Input 輸入有多對整數(shù)a和b組成,每對a和b占一行,a,b用空格分開。

      Output 每行輸出一個a+b的值,順序與輸入對應(yīng)。

      Sample Input 1 2 10 20

      Sample Output 3 30

      HINT OJ系統(tǒng)上測試輸入結(jié)束符為EOF(End Of File),其值為-1。用scanf()把文件所有內(nèi)容讀完后,會讀到EOF,所以可以用來判斷輸入是否完成,測試時可以用Ctrl+Z產(chǎn)生EOF。本題解法參看FAQ。Append Code #include int main(){

      int a,b;

      while(scanf(”%d%d“,&a,&b)!=EOF){

      printf(”%dn“,a+b);

      }

      return 0;}

      18.Problem A: 判斷是否是元音字母 Description 輸入一個英文字母,判斷是否是元音字母。元音字母是:a,e,i,o u,A,E,I,O,U

      Input 輸入一個英文字母

      Output 是元音字母,輸出“yes”,否則輸出“no”,行尾沒有回車。

      Sample Input A

      Sample Output yes

      HINT Append Code #include void main(){

      char ch;

      scanf(”%c“,&ch);

      if(ch>='A'&&ch<='Z')

      ch=ch+32;

      if(ch=='a')

      printf(”yes“);

      else if(ch=='e')

      printf(”yes“);

      else if(ch=='i')

      printf(”yes“);

      else if(ch=='o')

      printf(”yes“);

      else if(ch=='u')

      printf(”yes“);

      else

      printf(”no“);

      }

      19.Problem B: 按順序輸出三個數(shù) Description 對于輸入的3個整數(shù),按照從小到大的順序輸出。

      Input 輸入3個int類型內(nèi)的整數(shù),兩兩之間用一個空格隔開。

      Output 按照從小到大的順序輸出上述三個數(shù),兩兩之間用一個空格隔開。

      Sample Input 2 1 3 Sample Output 1 2 3

      HINT Append Code #include void main(){

      int a,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 %dn“,c,b,a);}

      20.Problem E: Description 判斷輸入整數(shù)的奇偶性。

      判斷奇偶數(shù) Input 輸入為一個整數(shù)。

      Output 輸出只有一行,代表判斷結(jié)果。如果輸入的整數(shù)n是一個偶數(shù),輸出: n is an even number.否則輸出:

      n is an odd number.見樣例。

      Sample Input 12

      Sample Output 12 is an even number.HINT Append Code #include int main(){

      int a;

      scanf(”%d“,&a);

      if(a%2==0)

      printf(”%d is an even number.“,a);

      else

      printf(”%d is an odd number.“,a);}

      21.Problem A: 判斷兩個整數(shù)的大小關(guān)系 Description 輸入2個整數(shù)a和b,如果a>b,則輸出1,否則輸出0。

      Input 兩個整數(shù)a和b,均不超過int類型的表示范圍。

      Output 表示a>b的結(jié)果:如果a>b,則輸出1,否則輸出0。

      Sample Input 3 4

      Sample Output 0

      HINT

      Append Code #include int main(){ int a,b;scanf(”%d %d“,&a,&b);if(a>b)

      printf(”1“);

      else

      printf(”0“);return 0;} 22.Problem D: 成績的等級 Description 把百分制的考試成績轉(zhuǎn)換成五級制的成績: 90~100:Excellent 80~89:Good 70~79:Average 60~69:Pass 0~59:Failing

      不在0~100之間的輸入是非法數(shù)據(jù),輸出“Error”。

      Input 輸入多行,每行一個整數(shù)。

      Output 輸入所對應(yīng)的成績等級。

      Sample Input-1 81 92 35 68 72 100

      Sample Output Error Good Excellent Failing Pass Average Excellent HINT 用switch語句解決這個問題比較方便。

      Append Code #include int main(){

      int score;

      while(scanf(”%d“,&score)!=EOF)

      {

      if(score<0||score>100)

      printf(”Errorn“);

      else

      {

      switch(score/10)

      {

      case 0:

      case 1:

      case 2:

      case 3:

      case 4:

      case 5:printf(”Failingn“);break;

      case 6:printf(”Passn“);break;

      case 7:printf(”Averagen“);break;

      case 8:printf(”Goodn“);break;

      case 9:

      case 10:printf(”Excellentn“);break;

      }

      }

      }

      return 0;}

      23.Problem E: 輸出是m的倍數(shù)或n的倍數(shù)、但不是

      m和n的公倍數(shù)的數(shù) Description 輸出1~k之間是m的倍數(shù)或n的倍數(shù)、但不是m和n的公倍數(shù)的數(shù),其中1<=m,n

      Input 輸入三個整數(shù),依次為k、m、n。

      Output 從小到大輸出符合題意的所有整數(shù),兩數(shù)之間用一個空格分開。

      Sample Input 15 2 3

      Sample Output 2 3 4 8 9 10 14 15

      HINT 難點在于輸出格式的控制:空格在數(shù)的中間,學(xué)會用循環(huán)時邊界情況的特殊處理。

      Append Code #include int main(){ int k,m,n,a,i=1;scanf(”%d %d %d“,&k,&m,&n);if(m

      a=m;else

      a=n;printf(”%d“,a);for(i=a+1;i<=k;i++){

      }

      if((i%m==0&&i%n!=0)||(i%n==0&&i%m!=0))

      printf(” %d“,i);} return 0;

      24.Problem B: 兩整數(shù)相加減 Description 計算a+b和a-b。

      Input 輸入為一對整數(shù)a和b。a,b用空格分開。

      Output 輸出a+b和a-b的計算結(jié)果,各占一行。

      Sample Input 1 2

      Sample Output 3-1

      HINT Append Code #include int main(){ int a,b;scanf(”%d %d“,&a,&b);

      printf(”%dn“,a+b);

      printf(”%dn“,a-b);} 25 Problem C: 它滿足條件嗎? Description 需要判斷給定的一個整數(shù)是否同時滿足如下三個條件: 1.它是一個完全平方數(shù)。2.它是一個偶數(shù)。3.它是一個正數(shù)。

      注:若一個數(shù)能表示成某個自然數(shù)的平方的形式,則稱這個數(shù)為完全平方數(shù)。例如:

      0,1,4,9,16,25,36,49,64,81,100,121,144,169,196,225,256,289,324,361,400,441,484,529 Input 一個int范圍內(nèi)的整數(shù)。

      Output 如果輸入的數(shù)字滿足條件,則輸出yes,否則輸出no。

      Sample Input 100

      Sample Output yes

      HINT 注意邏輯表達(dá)式判斷三個條件的順序。如果你不會使用分支語句,同樣可以使用條件運算符實現(xiàn)該程序。

      庫函數(shù)sqrt()可以用于求一個數(shù)的平方根。

      Append Code #include #include int main(){ int a;scanf(”%d“,&a);

      if(a==sqrt(a)*sqrt(a)&&a%2==0&&a>0)

      printf(”yes“);

      else

      printf(”no“);}

      26.Problem F: 多路分支 Description 編寫一個完整的程序,運行時向用戶提問”你考試考了多少分?(0-100)“接受輸入后判斷其等級并顯示出來等級: 優(yōu):90<=分?jǐn)?shù)<=100 良:80<=分?jǐn)?shù)<90 中:60<=分?jǐn)?shù)<80 差:0<=分?jǐn)?shù)<60

      Input 輸入任意一個整數(shù)分?jǐn)?shù)值,顯示等級;再輸入任意一個整數(shù)分?jǐn)?shù)值,顯示等級;....直到測試數(shù)據(jù)較充分,可輸入-1止。

      Output 對任意輸入的分?jǐn)?shù)值,輸出對應(yīng)的等級,直到輸入的數(shù)為-1時才退出運行.Sample Input 102 100 90 80 70 60 50 0-80-1

      Sample Output grad must between 0 and 100 優(yōu)

      優(yōu)

      grad must between 0 and 100 grad must between 0 and 100

      HINT Append Code #include int main(){

      int x;

      while(scanf(”%d“,&x)!=EOF)

      {

      if(x<0||x>100)

      printf(”grad must between 0 and 100n“);

      else if(x>=90)

      printf(”優(yōu)n“);

      else if(x>=80)

      printf(”良n“);

      else if(x>=60)

      printf(”中n“);

      else if(x>=0)

      printf(”差n“);

      }

      return 0;} Problem D: 有多少人? Description 學(xué)校舉行運動會,如果全體學(xué)生按照3人一隊列隊,則多了1個人;如果按照4人一隊列隊,則多了2個人;如果按照5人一隊排隊,則多了3個人。請問這個學(xué)校有多少學(xué)生?

      Input 一個int類型的正整數(shù)N,是學(xué)生人數(shù)的上界,即:該校學(xué)生數(shù)不超過N。

      Output 所有可能的學(xué)生數(shù),每個數(shù)占一行。

      Sample Input 200

      Sample Output 58 118 178

      HINT Append Code #include #include int main(){

      int n,i;

      scanf(”%d“,&n);

      for(i==1;i<=n;i++){ if(i%3==1&&i%4==2&&i%5==3)

      printf(”%dn“,i);}

      return 0;} Problem C: 正負(fù)數(shù)各有幾個? Description 輸入若干個整數(shù),求其中正數(shù)、負(fù)數(shù)的個數(shù)。

      Input 輸入分為2行:第一行是一個數(shù)字N>0,表示下面有N個整數(shù)。第2行是N個整數(shù),都是int類型的。

      Output 輸出所輸入的N個整數(shù)的正數(shù)個數(shù)和負(fù)數(shù)個數(shù),并用空格分開2個輸出。Sample Input 10 2 3 4 5-1-2-3-4-5

      Sample Output 5 5

      HINT 貌似還有一種叫做0的數(shù)。

      Append Code #include int main(){

      int n,a,i,num1=0,num2=0;

      scanf(”%d“,&n);for(i=0;i

      {

      scanf(”%d“,&a);

      if(a>0)

      num1++;

      else if(a<0)

      num2++;

      }

      printf(”%d %dn“,num1,num2);

      return 0;} Problem A: A+B Problem(III): Input/Output

      Practice Description 計算a+b,0<=a,b<1000。

      Input 輸入有多對整數(shù)a和b組成,每對a和b占一行,a,b用空格分開。當(dāng)測試樣為0 0時表示輸入結(jié)束,0 0不參與運算。

      Output 每行輸出一個a+b的值,順序與輸入對應(yīng)。

      Sample Input 1 2 10 20 0 0

      Sample Output 3 30

      HINT 練習(xí)break的使用。

      Append Code #include int main(){ int a,b;while(scanf(”%d %d“,&a,&b)!=EOF)

      {

      if(a!=0||b!=0)

      }

      printf(”%dn“,a+b);

      else

      break;

      return 0;} 30 Problem B: A+B Problem(IV): Input/Output

      Practice Description 計算a+b,0<=a,b<1000。

      Input 輸入有多對整數(shù)a和b組成,每對a和b占一行,a,b用空格分開。

      Output 每行輸出一個a+b的值,順序與輸入對應(yīng)。每個格式樣例之間用一個空行分隔開。

      Sample Input 1 2 10 20 15 35

      Sample Output 3 30 50

      HINT 由于輸出的和比空行多一個,所以全部計算放在一個循環(huán)里是不行的,必須要特殊處理開頭或者結(jié)尾。

      Append Code #include int main(){ int a,b,n=0;while(scanf(”%d %d“,&a,&b)!=EOF){

      n++;

      if(n==1)

      printf(”%dn“,a+b);

      else

      printf(”n%dn“,a+b);

      }

      return 0;}

      Problem C: n個數(shù)的最大值和最小值 Description 找出n個數(shù)中最大的數(shù)和最小的數(shù),并將它們的值輸出出來。

      Input 輸入為n+1個整數(shù),都在int類型范圍內(nèi)。這些數(shù)可能用若干空格或者換行符分隔開。輸入的第1個數(shù)為n,表示后續(xù)有n個數(shù)輸入。從輸入的第2個數(shù)開始,求出直到第n+1個數(shù)中最大的數(shù)和最小的數(shù)。

      Output 輸出為兩行,格式見sample。

      Sample Input 3 0 1-1

      Sample Output The maximum number is 1.The minimum number is-1.HINT 分隔符是空格還是回車都是空白符,對scanf(”%d“)來說沒有區(qū)別;先讀入n,然后用for循環(huán)就很容易控制讀入n個數(shù)的過程。

      Append Code #include int main(){

      int n,i,max,min;

      scanf(”%d“,&n);

      int a[n];

      for(i=0;i

      scanf(”%d“,&a[i]);

      max=a[0];

      min=a[0];

      for(i=0;i

      {

      if(max

      max=a[i];

      if(min>a[i])

      min=a[i];

      }

      printf(”The maximum number is %d.n“,max);

      printf(”The minimum number is %d.“,min);

      return 0;} 32.Problem D: 求100以內(nèi)的素數(shù) Description 素數(shù)是只能被1和自身整除的正整數(shù),根據(jù)數(shù)學(xué)定義1不是素數(shù)。素數(shù)也叫質(zhì)數(shù)。

      Input 輸入為兩個整數(shù)m和n,滿足0<=m<=n<=100。

      Output 從大到小輸出m~n之間的所有素數(shù),一個素數(shù)一行。如果m~n之間沒有素數(shù),則不輸出任何數(shù)。

      輸出的所有數(shù)在兩行“=====”之間。

      Sample Input 2 12

      Sample Output ===== 11 7 5 3 2 =====

      HINT 利用素數(shù)的數(shù)學(xué)規(guī)律可以很容易的解出此題,題目給出的數(shù)據(jù)范圍是關(guān)鍵。

      Append Code #include #include int main(){ int m,n,i,j,k,t;scanf(”%d %d“,&m,&n);printf(”=====n“);for(i=n;i>=m;i--){

      t=0;

      for(j=2;j<=sqrt(i);j++)

      if(i%j==0)

      t=1;

      if(t==0&&i>1)

      printf(”%dn“,i);} printf(”=====“);return 0;} 33.Problem E: 是否構(gòu)成三角形? Description 給出三個整數(shù),代表三條邊的長度,判斷這三條邊的長度是否能構(gòu)成一個三角形?

      Input 第一行是n(1<=n<=100),表示有n組測試數(shù)據(jù)

      接下來有n行,每一行包含三個整數(shù),表示三個邊長(1<=邊長<=100)

      Output 如果三條邊能構(gòu)成三角形,輸出YES,否則輸出NO

      Sample Input 3 1 2 3 2 8 7 20 20 1

      Sample Output NO YES YES

      HINT Append Code #include int main(){ int a,b,c,n,i;scanf(”%d“,&n);for(i=0;i

      {scanf(”%d%d%d“,&a,&b,&c);

      if(a+b>c&&a+c>b&&b+c>a)

      printf(”YESn“);else printf(”NOn“);}

      return 0;} 34.Problem C: 簡單的整數(shù)排序 Description 對給出的若干整數(shù)按從小到大排序。

      Input 輸入的第一個數(shù)為n(n<=1000),后接n個整數(shù)。

      Output 按從小到大的順序輸出這些整數(shù),每兩個整數(shù)之間用一個空格分隔開,最后一個整數(shù)后面沒有空格。

      Sample Input 10 3 9 1 5 2 8 5 6 7 3

      Sample Output 1 2 3 3 5 5 6 7 8 9

      HINT 排序前必須把所有的整數(shù)都存儲下來。因為只有最多1000個數(shù),1秒的時間足夠任何排序算法運行處結(jié)果來。

      Append Code #include int main(){

      int c,i,n,j;

      int a[1000];

      scanf(”%d“,&n);

      for(i=0;i

      scanf(”%d“,&a[i]);

      for(i=1;i<=n-1;i++)

      {

      for(j=0;j

      {

      if(a[j]>a[j+1])

      {

      c=a[j];

      a[j]=a[j+1];

      a[j+1]=c;

      }

      }

      }

      printf(”%d“,a[0]);

      for(i=1;i

      printf(” %d“,a[i]);

      return 0;}

      35.Problem A: Description

      購物的路程 Saya和Kudo一起去購物。假定她們逛的街是一條直線,而商鋪是這條直線上的一些點。她們將車停在該直線最左端的店鋪處,然后從左向右開始逛每一個店鋪,然后從最右邊的店鋪再返回到停車處。你的任務(wù)是計算她們走了多少路。

      Input 輸入有多組。每一組的第一行是N(0

      Output 對每組輸入,輸出她們走的路長。

      Sample Input 4 13 89 37 6 7 30 41 14 39 42 0

      Sample Output 152 70

      HINT Append Code #include int main(){

      int n,i,max,min,a[100001];

      while(scanf(”%d“,&n)&&n!=0)

      {

      scanf(”%d“,&a[0]);

      min=max=a[0];

      for(i=1;i

      {

      scanf(”%d“,&a[i]);

      if(a[i]>max)

      max=a[i];

      if(a[i]

      min=a[i];

      }

      printf(”%dn“,(max-min)*2);

      }

      return 0;} 36.Problem B: 求累加和 Description 編程求min~max的累加和(含min和max),其中max>=min>0。部分程序已經(jīng)給出,請?zhí)畛淦渲械目瞻渍Z句,并提交填充后的完整程序。

      Input 輸入為多行。第一行是一個整數(shù)N>0,表示后面有N個測試用例。后面有N行,每行包含2個整數(shù),分別是min和max。

      Output 輸出為N行,每個測試用例的計算結(jié)果占據(jù)一行。每行的格式為: case i:sum=s.其中i表示測試用例的編號(從1開始),s是該測試用例對應(yīng)的累加和(設(shè)不超過int的表示范圍)。

      Sample Input 3 1 10 1 100 1 1

      Sample Output case 1:sum=55.case 2:sum=5050.case 3:sum=1.HINT Append Code #include int main(){

      int n,i,j,max,min,sum;

      scanf(”%d“,&n);

      for(i=0;i

      { sum=0;

      scanf(”%d%d“,&min,&max);

      if(max==min)

      printf(”case %d:sum=%d.n“,i+1,min);

      else

      {

      for(j=min;j<=max;j++)

      sum=sum+j;

      printf(”case %d:sum=%d.n“,i+1,sum);

      }

      } return 0;} 37.Problem G: 順序輸出字母 Description 按字母順序輸出兩個字母st和ed之間的所有字母,但不包括st和ed。不輸出逆序。

      Input 兩個字母st和ed,都是大寫字母,用一個空格分開。

      Output 在一行內(nèi)按順序輸出st和ed之間的所有字母,但不包括st和ed。例如:

      輸入為A和E,則輸出為BCD;

      輸入為A和B,則什么字母也不輸出,只有一個空行; 輸入為E和A,也是什么字母也不輸出,只有一個空行。最后要輸出一行(行尾不回車): ***END***

      Sample Input A C

      Sample Output B

      ***END***

      HINT Append Code #include int main(){

      char st,ed,a;

      int i;

      scanf(”%c%c%c“,&st,&a,&ed);

      {

      for(i=st+1;i

      printf(”%c“,i);

      printf(”n***END***“);

      }

      return 0;} 38.Problem F: 單字母變換 Description Tom和Jack是密碼學(xué)愛好者,他們在聊天時經(jīng)常使用一些暗語。他們使用的一種最簡單的暗語是:將要說的每句話里面的英文字母變成這個字母之后的某個字母?,F(xiàn)在要求你寫一個程序,將一個字母變成它之后的某個字母。

      Input 輸入有2個:一個大寫字母c和一個正整數(shù)d(0

      Output 輸出字母c之后的第d個字母。大小寫與c一致。如果c之后的某個字母已經(jīng)超出'Z',則再從字母'A'開始計數(shù)。

      如:c='A',d=3,則輸出應(yīng)為:D。若:c='Y',d=3,則輸出應(yīng)為:B。

      Sample Input A 3

      Sample Output D

      HINT Append Code #include int main(){

      char c;

      int d;

      scanf(”%c%d“,&c,&d);

      if(c+d<='Z')

      printf(”%c“,c+d);

      else

      printf(”%c“,c+d-26);

      return 0;}

      39.Problem B: 登錄密碼驗證 Description 編寫一個程序,模擬用戶登錄系統(tǒng)的密碼驗證過程。系統(tǒng)提供給用戶的密碼長度最長為20個字符,若密碼輸入錯誤可以再次輸入。但為了保證用戶密碼安全,若連續(xù)輸入密碼錯誤超過5次就會鎖定賬號一段時間。

      Input 輸入為若干個串,至EOF結(jié)束。輸入的第一個串是用戶的正確密碼,后面的串為模擬用戶登錄時的輸入的密碼。

      Output 每次輸入錯誤的密碼,輸出一個“Wrong!”,若輸入的密碼為正確的,輸出一個“Welcome!”,并結(jié)束密碼測試。若前5次輸入的密碼都是錯誤的,則后面的輸入中不管是否有正確的密碼都輸出“Out of limited!”。

      Sample Input abcdefg

      123456 kkkkkkkk abcdefg

      Sample Output Wrong!Wrong!Welcome!

      HINT 輸入可以用scanf(”%s“)處理,密碼比較用字符串的比較可以完成。

      Append Code #include #include int main(){

      char a[20],b[20];

      int i,j=1;

      scanf(”%s“,a);

      while(scanf(”%s“,b)!=EOF)

      {

      if(j<=5)

      {

      if((strcmp(a,b)==0))

      {

      printf(”Welcome!n“);

      break;

      }

      else

      printf(”Wrong!n“);

      j++;

      }

      else printf(”O(jiān)ut of limited!n");

      } } 40.Problem C: 兔子的繁殖問題 Description 假設(shè)一對兔子每月能生一對小兔(一雌一雄),每對小兔出生后的下一個月是沒有繁殖能力的,至出生后的第三個月開始又可以每月生一隊小兔,問從一對剛出生的小兔開始,經(jīng)過若干個月后一共有多少兔子(假設(shè)在此過程中兔子沒有死亡)?

      這個問題是意大利數(shù)學(xué)家菲波那契(Fibonacci)在他1202年出版的《算盤全書》中提出來的,從第一對剛出生的小兔開始每月的兔子數(shù)被乘坐菲波那契序列。

      Input 輸入的第一個數(shù)為n,接下來有n個數(shù)字。每個數(shù)字為一個月份m(m<=45)。

      Output 輸出為n行,每行為第m個月后的兔子總數(shù)。

      第三篇:C 語言程序設(shè)計

      《C 語言程序設(shè)計》主要在計算機(jī)軟件、計算機(jī)網(wǎng)絡(luò)、計算機(jī)應(yīng)用、通信技術(shù)、智能電子、電子信息工程、多媒體以及核工程與核技術(shù)等專業(yè)中開設(shè),是電子信息類、機(jī)械類等工科專業(yè)的重要專業(yè)基礎(chǔ)課。

      本校從2001至今,每年都開設(shè)《C語言程序設(shè)計》課程,由于,我校最開始時的特殊情況,主要把重點放在C語言中的各類重點、難點的語法、語義上,使得學(xué)生經(jīng)過比較復(fù)雜和痛苦的過程后,對C語言在使用上很難做到自己編寫程序。而且很多學(xué)生產(chǎn)生了畏懼心理。

      2004年,學(xué)院成立計算機(jī)科學(xué)與技術(shù)系,為了更好學(xué)習(xí)和掌握C語言,計算機(jī)科學(xué)與技術(shù)專業(yè)和計算機(jī)維護(hù)專業(yè)(計算機(jī)應(yīng)用技術(shù)前身)除了開設(shè)《C語言程序設(shè)計》課程外,在后續(xù)一學(xué)期還開設(shè)了《C語言程序設(shè)計課程設(shè)計》,使得計算機(jī)專業(yè)學(xué)生編程思想和能力得到了極大提高。

      2005年,為了讓我院工科學(xué)生更好的掌握C語言編程以及通過四川省計算機(jī)二級考試,在《C語言程序設(shè)計》課程后設(shè)置《C語言程序設(shè)計課程設(shè)計》,極大地提高了學(xué)生的動手機(jī)會和能力,過級率顯著提高!

      2007年,依托我校建設(shè)精品課程的契機(jī),我們將C語言中的各個知識點進(jìn)行重新規(guī)整,提出適用于三本院校學(xué)生的語言設(shè)計學(xué)習(xí)的方法。我們提出,先了解C語言,再學(xué)習(xí)C語言,再用C語言的思想。即在開始時讓學(xué)生初步知道C語言,然后引入比較簡單的運算符以及基本輸入、輸出和簡單的順序結(jié)構(gòu)程序設(shè)計。通過這樣的方式,我們發(fā)現(xiàn),學(xué)生在C語言的學(xué)習(xí)就不會從開始的時候陷入大量難懂的語法、語義和數(shù)據(jù)結(jié)構(gòu)中。有了以上鋪墊再層層進(jìn)入,最終進(jìn)入復(fù)雜的各類數(shù)據(jù)結(jié)構(gòu)以及指針等學(xué)習(xí)。通過以上的內(nèi)容規(guī)整后,教學(xué)效果有明顯提高。

      第四篇:淺談《C語言程序設(shè)計》教學(xué)與實踐

      淺談《C語言程序設(shè)計》教學(xué)與實踐

      為了有效改善當(dāng)前C語言程序設(shè)計教學(xué)方法的諸多問題,本文提出了一種互動式和啟發(fā)式教學(xué)方法,從實際出發(fā),制定出切實可行的教學(xué)案例。通過測試結(jié)果表明,本文提出的方法在實際的教學(xué)實踐中取得了良好的效果。

      隨著現(xiàn)代信息技術(shù)的發(fā)展,計算科學(xué)與信息科學(xué)相結(jié)合更加緊密,計算機(jī)編程能力已經(jīng)成為非計算機(jī)專業(yè)學(xué)生的一門重要的必修課[1]。目前,許多高校都開設(shè)了《C語言程序設(shè)計》課程。由于C語言的功能強(qiáng)大和應(yīng)用廣泛,已經(jīng)成為許多高校課程首選的編程語言。與其它語言相比,C語言涉及的概念更加復(fù)雜、規(guī)則更多,如果按照傳統(tǒng)的教學(xué)方法,對于非計算機(jī)專業(yè)大多數(shù)學(xué)生來說,在規(guī)定的課堂教學(xué)時間內(nèi),較難掌握C語言的程序設(shè)計思想和方法。因此,傳統(tǒng)的教學(xué)方法需要改革與實踐。

      目前,C語言教學(xué)存在的問題較多,本文歸納如下(1)計算機(jī)基礎(chǔ)存在很大差異。目前,我國非常重視信息和計算機(jī)科學(xué)的普及教育,大多數(shù)高級中學(xué)都開設(shè)信息技術(shù)等課程,在進(jìn)入高校前,大多數(shù)學(xué)生就已經(jīng)掌握了一些計算機(jī)相關(guān)的基礎(chǔ)知識。由于不列入高考范圍,不同地區(qū)存在很大差異,尤其是經(jīng)濟(jì)欠發(fā)達(dá)地區(qū)的學(xué)生在計算機(jī)知識的掌握方面存在很大的差異;(2)教學(xué)案例。C語言涉及許多知識點,現(xiàn)有教材大多數(shù)都通過例子講解每個知識點,通過例子可使學(xué)生更好的理解知識點,但問題在于往往不同知識點對應(yīng)的例子不同,導(dǎo)致學(xué)生誤認(rèn)為知識點之間是孤立的,使學(xué)生無法將不同的知識點綜合起來,學(xué)到最后,大多數(shù)學(xué)生會出現(xiàn)無法將各個知識點串聯(lián)起來。因此,在教學(xué)過程中,選擇合適的案例來貫通多個知識點是非常重要的;(3)學(xué)生的積極性沒有得到充分調(diào)動,創(chuàng)新意識沒有得到體現(xiàn)。在C語言教學(xué)中,大多數(shù)的學(xué)生都是被動的學(xué)習(xí),被動的接受教師課堂授課。這種教學(xué)方法,不但不能真正反映教與學(xué)的相互性,也不能調(diào)動學(xué)生學(xué)習(xí)C語言的積極性,更不能提倡和培養(yǎng)學(xué)生的創(chuàng)新精神。

      為了解決上述問題,本文提出了一種互動式和啟發(fā)式教學(xué)方法,從實際出發(fā),制定出切實可行的教學(xué)方法和教學(xué)案例,以程序設(shè)計的思想和方法為主線,充分調(diào)動學(xué)生學(xué)習(xí)的積極性和持續(xù)性。通過測試結(jié)果表明,本文提出的方法在實際的教學(xué)實踐中取得了良好的效果。教學(xué)案例

      剛開始對于學(xué)生要求不能過高,初學(xué)時,只要求看懂程序,編寫簡單的程序就可以了,然后逐步深入,通過長期的學(xué)習(xí)和積累就能熟練掌握C語言。對于學(xué)時有限或者基礎(chǔ)較差的學(xué)生來說,有些較為難懂的內(nèi)容可以通過選學(xué)或自學(xué),把精力放在最基本、最常用的內(nèi)容上,學(xué)好基本功。因此,案例的選擇至關(guān)重要。對于案例的選擇不但要有代表性,而且要有趣味性,不僅與教學(xué)內(nèi)容和目的密切相關(guān),也要能激發(fā)學(xué)生學(xué)習(xí)能動性,讓學(xué)生掌握每個知識點。如果學(xué)生養(yǎng)成了正確的學(xué)習(xí)方式,掌握程序設(shè)計的思想和方法,便于以后學(xué)習(xí)其它編程語言,其基本規(guī)律和方法都是一樣的。在傳統(tǒng)的教學(xué)過程中,教師的思維與學(xué)生思維存在較大差異,導(dǎo)致學(xué)生被動的學(xué)習(xí)教師的理念,很容易將理論與實踐脫離。相反,案例教學(xué)更注重激發(fā)學(xué)生學(xué)習(xí)的積極性,能夠舉一反三,掌握規(guī)律,引導(dǎo)學(xué)生解決實際問題的能力[4]。對于抽象的概念,往往使學(xué)生失去進(jìn)一步學(xué)習(xí)的欲望,然而教學(xué)案例所引入的知識點,通過教師與學(xué)生之間的相互作用,共同分析和研究問題,使教師能夠充分調(diào)動學(xué)生的積極性和興趣,不會出現(xiàn)學(xué)生被動的學(xué)習(xí)情況。

      通過這種方式,學(xué)生很容易接受各章知識點,對知識點的理解又進(jìn)一步加深。學(xué)習(xí)程序設(shè)計,只要掌握程序設(shè)計的思路和方法,就能學(xué)活用活,舉一反三。另外,在考慮教學(xué)案例時,我們應(yīng)該根據(jù)學(xué)生的實際情況來選擇案例,案例的選擇不能太易,也不能太復(fù)雜,需考慮學(xué)生的接受和理解能力。因此,教學(xué)案例可提高學(xué)生的主動性、培養(yǎng)學(xué)生分析和解決實際問題?;邮浇虒W(xué)方式

      傳統(tǒng)的教學(xué)方式,往往都是以教師為中心,學(xué)生是被動的接受知識,而現(xiàn)代教學(xué)方式偏向于主張學(xué)生參與到教學(xué)過程中[5]。教學(xué)本身具有兩面“教”與“學(xué)”,兩者緊密相連,教師教的過程也能總結(jié)出如何教好學(xué)生的方法。因此,教師的教學(xué)與學(xué)生的學(xué)密不可分。然而,舊的教學(xué)觀念總是強(qiáng)調(diào)教師的教學(xué),以為教的越多,學(xué)生學(xué)的越多,往往會忽視學(xué)生實際掌握知識的情況,甚至沒弄清楚學(xué)生是如何學(xué)習(xí)的。因此,學(xué)生一直以來都處于被動狀態(tài)。實際上,“教”只是外部因素,“學(xué)”才是內(nèi)部因素。教師的“教”是創(chuàng)造學(xué)生“學(xué)”的條件,學(xué)習(xí)過程就是一種認(rèn)知的過程,學(xué)生“學(xué)”的動力取決于“教”。

      在C語言教學(xué)過程中,教師通過互動式教學(xué)法幫助學(xué)生回顧知識,采用回答問題方式引入新的知識,然后討論和演示驗證指導(dǎo)學(xué)生解決問題,最后,通過新的啟發(fā)式問題引導(dǎo)學(xué)生進(jìn)一步思考。最好這些問題從學(xué)生的背景知識中考慮,能啟發(fā)學(xué)生,讓學(xué)生從不同方面思考和解決問題。

      編程思想和方法

      如今的信息技術(shù)發(fā)展迅速,計算機(jī)編程語言層出不窮,對于學(xué)生,掌握一門編程語言至關(guān)重要,在教學(xué)48課時和實驗16課時,共64課時內(nèi),很難精通一門編程語言。因此,編程語言教學(xué)應(yīng)該集中在使學(xué)生掌握編程思想和方法,培養(yǎng)他們的邏輯思考能力。只有采取這種方式,學(xué)生今后就能以同樣方式迅速的掌握其他編程語言。計算機(jī)編程語言的教學(xué)是語言學(xué)習(xí)的基礎(chǔ)和關(guān)鍵環(huán)節(jié),程序設(shè)計的關(guān)鍵是如何找到問題和解決問題,俗稱算法。算法是程序設(shè)計的靈魂,是計算機(jī)進(jìn)行操作的步驟。語法是編程的基礎(chǔ)和程序設(shè)計的工具,培養(yǎng)學(xué)生編程能力,我們應(yīng)該集中在算法設(shè)計和分析上。算法分析可以幫助學(xué)生開放思想,開拓新思路,歸納邏輯規(guī)律。在傳統(tǒng)教學(xué)中,教師只要求學(xué)生看懂程序,當(dāng)他們單獨編寫程序時,往往不知道從哪里開始[4]。

      C語言程序設(shè)計課程教學(xué)要求學(xué)生掌握基本語法、申明、控制結(jié)構(gòu)、基本思想和自上而下的結(jié)構(gòu)化程序設(shè)計。同時,也要培養(yǎng)學(xué)生使用C語言解決實際問題。在講完C語言基本知識教學(xué)時,例如數(shù)據(jù)類型和變量聲明,我們可以使用三種基本結(jié)構(gòu)程序設(shè)計、函數(shù)、數(shù)組和文件作為主線進(jìn)行教學(xué),這樣學(xué)生就可以掌握編程的基本技能。即使不同的編程語言實現(xiàn)代碼不同,但它們的思想和方法非常類似。當(dāng)我們在C語言教學(xué)時,我們應(yīng)該淡化語法教學(xué),為了培養(yǎng)學(xué)生解決問題的能力應(yīng)把教學(xué)的重點放在算法上。語法規(guī)則不是通過孤立的學(xué)習(xí)而是在學(xué)習(xí)編程的過程中學(xué)到的。隨著編程難度的逐步提高,算法和語法的學(xué)習(xí)同步趨于深入。學(xué)生在富有創(chuàng)意、引人入勝的編程中,學(xué)會了算法,掌握了語法,把枯燥無味的語法規(guī)則變成生動活潑的編程應(yīng)用。

      結(jié)束語

      通過采用本文提出的互動式和啟發(fā)式教學(xué)方法考察類型題包括選擇題(占總成績的20%,涵蓋整個教學(xué)大綱,下同)、填空題(10%)、編程填空題(30%)和編程題(40%)。學(xué)生最后的成績信息表見表1。

      綜上所述,教學(xué)與改革不僅能夠激發(fā)學(xué)生學(xué)習(xí)的動力,且能培養(yǎng)學(xué)生分析問題和解決問題的能力。隨著信息技術(shù)的不斷發(fā)展,我們應(yīng)該不斷的完善我們的教學(xué)模式。

      第五篇:《C語言程序設(shè)計(實踐)》課程教學(xué)大綱.

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

      一、課程的性質(zhì)和任務(wù)

      課程性質(zhì):《C語言程序設(shè)計(實踐)》是多媒體技術(shù)專業(yè)《C后續(xù)課程設(shè)計課程。

      本課程的任務(wù)是:通過課程設(shè)計,為學(xué)生提供一個既動手又動腦,獨立實踐的機(jī)會,將課本上的理論知識和實際有機(jī)的結(jié)合起來,鍛煉學(xué)生的分析解決實際問題的能力。提高學(xué)生實際編程的能力。

      本課程教學(xué)應(yīng)達(dá)到的基本要求是:利用學(xué)到的編程知識和編程技巧,通過布置具有一定難度的程序設(shè)計題目,幫助學(xué)生熟悉程序的設(shè)計、編寫與調(diào)試過程。

      語言程序設(shè)計》課程的二、時間安排

      本課程設(shè)計時間為一周(28學(xué)時),題目提前兩周布置,使學(xué)生作好準(zhǔn)備。具體時間安排如下:

      1.分析設(shè)計準(zhǔn)備階段(周一)

      2.編程調(diào)試階段(周二至周四)

      3.總結(jié)報告和書寫說明書階段(周三至周四)4.考核階段(周五)

      三、課題內(nèi)容:

      提供以下備選課題: 1.圖書管理信息系統(tǒng) 2.民航訂票系統(tǒng) 3.標(biāo)準(zhǔn)化考試系統(tǒng) 4.時鐘

      四、組織管理: 對學(xué)生分組,每組3~6人,每組選一課題。

      五、考核評估:

      成績分優(yōu)、良、中、及格和不及格五等,從以下幾方面考核: 1.程序設(shè)計的可用性,實用性,通用性,可擴(kuò)充性(40%)2.學(xué)生的動手能力,創(chuàng)新精神(30%)3.總結(jié)報告(10%)4.答辯水平(20%)

      主編:姚培華

      主審:王富榮

      下載《C語言程序設(shè)計實踐》課題word格式文檔
      下載《C語言程序設(shè)計實踐》課題.doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點此處下載文檔

      文檔為doc格式


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

      相關(guān)范文推薦

        經(jīng)典C語言程序設(shè)計例題

        經(jīng)典C語言程序設(shè)計例題 【程序1】 題目:有1、2、3、4個數(shù)字,能組成多少個互不相同且無重復(fù)數(shù)字的三位數(shù)?都是多少? 1.程序分析:可填在百位、十位、個位的數(shù)字都是1、2、3、4。組......

        第一章 C語言程序設(shè)計

        第一章 C語言程序設(shè)計 考試形式:試卷(全國統(tǒng)一 4月第二個星期六9月倒數(shù)第二個星期六) 筆試: 滿分100分60分及格 時間:90分鐘內(nèi)容: 70分 C語言知識30分 公共基礎(chǔ) 選擇題:60分 前......

        C語言程序設(shè)計心得體會

        C語言程序設(shè)計心得體會在這為期半個月的時間內(nèi),通過我們小組各成員之間的相互討論和合作,我們完成了學(xué)生信息管理系統(tǒng)的程序設(shè)計,更值得高興的是我們的程序得到了大家的喜愛,在......

        C語言程序設(shè)計策劃書

        信息工程學(xué)院學(xué)生會科技部 關(guān)于舉辦信息工程學(xué)院C語言程序設(shè)計大賽的策劃書 一、活動背景: 隨著計算機(jī)技術(shù)的快速發(fā)展,計算機(jī)程序語言的多樣化,C語言已經(jīng)使用的越來越廣泛,C語言......

        《C語言程序設(shè)計》教學(xué)方法探討

        《C語言程序設(shè)計》教學(xué)方法探討 【摘要】針對目前《C語言程序設(shè)計》教學(xué)效果不理想的問題,結(jié)合教學(xué)實際,分析教學(xué)過程中存在的問題,針對計算機(jī)專業(yè)新生的教學(xué)方法進(jìn)行探討,提出......

        C語言程序設(shè)計教案

        C語言程序設(shè)計教案 C語言程序設(shè)計教案 C 語言程序設(shè)計教案 C 語言概述 【教學(xué)目的】 1)了解 C 的發(fā)展 教學(xué)目的】 2)熟悉 C 的特點 教學(xué)重點】 【教學(xué)重點】 C 語言的特點......

        C語言程序設(shè)計--大作業(yè)

        C語言程序設(shè)計大作業(yè) 編寫程序,實現(xiàn)單鏈表的插入、刪除、輸出、查找、統(tǒng)計以及銷毀功能。 單鏈表的每個結(jié)點存儲一名學(xué)生的信息,包括:學(xué)號、姓名、性別、年齡、三門課程(高數(shù)、......

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

        【第1題】題目:請編寫函數(shù)fun,對長度為7的字符串,除首、尾字符外,將其余5個字符按將序排列。例如,雨來的字符串為CEAedca,排序后輸出為CedcEAa。 Int fun(char *s,int num) { Int......