黄色在线观看视频-黄色在线免费看-黄色在线视频免费-黄色在线视频免费看-免费啪啪网-免费啪啪网站

查看全部128種考試
軟件水平考試
 考試動態 報考指南 歷年真題 模擬試題 復習資料 心得技巧 專業英語 技術文章 軟考論壇 考試用書
 程序員 軟件設計師 網絡管理員 網絡工程師 系統分析師 數據庫系統工程師
1
2
3
4
5
6
7
8
9
10
Exam8.com  
【字體: 程序員考試補課筆記-第三天
程序員考試補課筆記-第三天
spks.exam8.com 來源:狂風校園 更新:2004-12-26 13:21:00 軟件水平考試 考試論壇

    很快的就到了第三天了,接下來的學習任務應該越來越重了。至于今天講了些什么,現在想起來也覺得沒有什么似的,可能因為我之前已經把這今天所講的內容搞懂搞透的原因吧。不過也得把今天的寫下來,也沒有什么特別原因的,想有個回憶吧。

   今天所講的都是圍繞著數組,我們在C語言里定義數組和其它高級語言定義的不同,這里示出C語言和其它語言的。
  C語言      Foxbase
  int a[10][10]; dim a(10,10)

  是不是符號也不同了,我們以前用慣的都是小括號,但是現在突然來的是中括號真的是有些不習慣呢。但是誰叫我們是學C語言呢,不習慣都要得習慣了。還記得以前定數組根本就是不用理會它的地址,只知道用就行了,就算用錯了也會編譯出錯。可是C語言可不是呢,一但你定義了一個數組之后,你就得好好的管住它,因為數組出了邊界是絕對不會通知你的。數組的定義和調用方法也是很多,真是靈活多變,這里不再重復書上里的東西了。現在就定義一個數組來看看:

int a[10];
  如這個表所示,數組定義之后有相對地址,而且數組名a就是存放這些地址的首地址。現在我們定義多一個整型指針變量 int *p; ,讓他指向數組a,p=a; 我們試著讓指針運算遞增一個p++; 我們看到的結果是p指向了新的地址2003,原來的地址是2001,為什么遞增一個就移向了2003呢?不是2002才是正確的嗎?其實這里就說明了我們定義指針變量為什么要整型呢,是因為所有的指針運算也是看自己本身是什么類型的指針作出什么的運算,就是現在是整型類型,整型數據存儲是需要2字節的,所以針指運算也是按這個方式來到進行,結果很顯然就是往下移2了。其實這里說這么多,老潭那本書里基本上都有詳細說明介紹,所以我一開始說只要自己有看過書的,應該也很容易明白了(反而上面可能給我說模糊了)。

  好了,接下來我們做一些題目吧,這是今天老師給我們出的題,其實也是2001年程序員下午考試里出現過的題目。所以請大家自己也動手做做,多思考,看看誰的方法比較好。 在n行n列矩陣中,每行都有最大數,本程序求這幾個最大數中的最小一個。
#include <stdio.h>
#define N 100
int a[N][N];
void main()
{
  int row,col,max,min,n;
  /*輸入合法的n和n*n個整數的代碼, 注,這里略了一部份到后面練習自己做回*/
  for(row=0;row<n;row++)
  {
    for(max=a[row][0],col=1;col<n;col++)
    if (  ) max=a[row][col];
    if (  ) min=max;
    else if (  ) min=max;
  }
  printf("最大數中的最小數為:%d\n",min);
}

  這題可真有些難度,它的難就難在第二個空那里,相信第一個空絕大部分都會做,可是第二個空呢,真的下不筆了。當時看程序的最后繼續兩個空后面的語句為什么一樣的呢,可真的沒有想通,只是要死鉆牛解尖,老是想著一定是用數組的,第一個循環里是行,跟著就是列了。可是還是想不到答案,因為我的思路已經大錯特錯了。最后老師還是說出答案,也說這題真的是比較難。第二空其實是填row= =0,為什么這樣填呢,是因為這個矩陣里一開始要有一個BASE數做底,所以row= =0只出現一次,很自然的就成了第一個比較的基數,跟著這個if語句里的就是比較這幾個最大數中的最小一個數了,第二個空填了出來當然答案也就隨之可以出來了max<min。看來我現在功力去考中程還是白費心機吧,因為這只是第一大題啊,有很多難的題都在后幾題。那么既然現在知道自己的弱點就應該去好好克服改正它,好了,這只是第一道練習題,跟著下面還有將略了的那部份編出來。

我所寫的如下,因為考慮到整數類型界限的問題,我所編的所著重這里。

printf("please input n:";
scanf("%d",&n);
for(row=0;row<n;row++)
 for(col=0;col<n;col++)
 {
  do
  {
   printf("please a[%d][%d]",row,col);
   scanf("%d",&a[row][col]);
  }while(a[row][col]<-32767 && a[row][col]>32767 );
 }

接下的是第二題了,題目如下:
求n*n的對角線和
這題因為全由自己寫,所以各種寫法都有。在下面先寫我的最基礎簡單的方法吧。

#include <stdio.h>
#define n 5
main()
{
  int a[n][n];
  int row, col;
  int sum=0;
  /* 輸入略 */
  for(row=col=0;row<n;row++,col++)
    sum+=a[row][col];
  for(row=0,col=n-1;row<n;row++,col--)
    sum+=a[row][col];
  if ( n%2 !=0)
    sum-= a[n/2][n/2];
  printf("%d",max);
}
  這是最基本的方法了,兩個循環跟著判斷是否偶數來減去中間重復出現的一個數,這樣就求得結果了
下面我寫一個我同學編的還比較簡單,而且方法獨到的(反正所有人都沒有想過這種方法,除了他)。這里主要寫一寫他的方法。
int sum=0,j;
for ( j=0; j<n; j++ )
  sum+=a[j][j]+a[j][n-1-j];
if ( n%2 !=0 )
sum-=a[n/2][n/2];

夠簡單吧,一次循環就可以了,他的思路是這樣的,比方有一個如下的矩陣


每次都兩個兩個剛好相對立,所以可以一次就掃描完了。
好了,我寫的有些累了,因為今天沒有什么精神,最后老師還補充了另一個更簡單的,方法其實就是一種只是運用了條件運算符
sum+=a[j][j]+( (j == (n-1-j) ? 0: a[j][n-1-j];
C語言真的想有多簡潔有多簡潔。


轉帖于:軟件水平考試_考試吧
文章搜索  
看了本文的網友還看了:
·程序員考試補課筆記-第九天  (2004-12-29 23:59:00)
·程序員考試補課筆記-第八天  (2004-12-27 13:29:00)
·程序員考試補課筆記-第七天  (2004-12-27 13:28:00)
·程序員考試補課筆記-第六天  (2004-12-27 13:27:00)
·程序員考試補課筆記-第四天  (2004-12-27 13:26:00)
·程序員考試補課筆記-第二天  (2004-12-26 13:20:00)
軟件水平考試權威輔導教材: 訂書電話:010-62168566  更多>>>
網友評論
昵 稱: *  評 分: 1分 2分 3分 4分 5分
標題:   匿名發表    (共有條評論)查看全部評論>>
版權聲明 -------------------------------------------------------------------------------------
  如果軟件水平考試網所轉載內容不慎侵犯了您的權益,請與我們聯系,我們將會及時處理。如轉載本軟件水平考試網內容,請注明出處。
關于本站  網站聲明  廣告服務  聯系方式  付款方式  站內導航  客服中心  友情鏈接  考試論壇  網站地圖
Copyright © 2004-2008 考試吧軟件水平考試網 All Rights Reserved    
中國科學院研究生院權威支持(北京) 電 話:010-62168566 傳 真:010-62192699
百度大聯盟黃金認證  十佳網絡教育機構  經營許可證號:京ICP060677
主站蜘蛛池模板: 无遮挡一级毛片视频 | 久久这里只精品99re免费 | 日韩去日本高清在线 | 亚洲视频毛片 | 在线观看的黄网 | 午夜视频在线观看国产www | 国产日产亚洲欧美综合另类 | 在线视频一区二区三区在线播放 | 在线观看国产精成人品 | 中文字幕在线精品视频入口一区 | 香港国产特级一级毛片 | 午夜伦理片免费观看在线 | 欧美成人午夜剧场 | 丁香伊人五月综合激激激 | 在线看片亚洲 | 色综合天天综一个色天天综合网 | a级毛片蜜桃成熟时2在线播放 | 欧美播放 | 在线观看成年人网站 | 中文字幕在线乱人伦 | 欧美一区二区激情三区 | 国产看片网站 | 天天看天天摸天天操 | 国产福利午夜 | 国产精品久久久久久久9999 | 乡村爱情第16部免费观看 | 97干婷婷 | 亚洲国产欧美国产综合一区 | 国产视频一区二区三区四区 | 国产精品特黄一级国产大片 | 999久久久免费精品国产牛牛 | 在线亚洲精品国产波多野结衣 | 亚洲午夜久久久久久尤物 | 亚洲视频 欧美视频 | 成人动漫视频观看免费 | 黄色三级免费 | 亚洲第一网站 | 欧美黄站 | 日韩在线你懂的 | 成人国产精品视频 | 欧美日本在线观看 |