noip伺服器地址
㈠ NOIP C++文件操作
握文本文件讀寫的方法
了解二進制文件的讀寫方法
C++文件流:
fstream// 文件流
ifstream // 輸入文件流
ofstream // 輸出文件流
//創建一個文本文件並寫入信息
//同向屏幕上輸出信息一樣將信息輸出至文件
#include<iomanip.h>
#include<fstream.h>
void main()
{
ofstream f1("d:\\me.txt");//打開文件用於寫,若文件不存在就創建它
if(!f1)return;//打開文件失敗則結束運行
f1<<setw(20)<<"姓名:"<<"廉東方"<<endl; //使用插入運算符寫文件內容
f1<<setw(20)<<"家庭地址:"<<"河南鄭州"<<endl;
f1.close(); //關閉文件
}
運行後打開文件d:\me.txt,其內容如下:
姓名:廉東方
家庭地址:河南鄭州
文件操作:
打開文件
文件名
注意路徑名中的斜杠要雙寫,如:
"D:\\MyFiles\\ReadMe.txt"
文件打開方式選項:
ios::in= 0x01,//供讀,文件不存在則創建(ifstream默認的打開方式)
ios::out = 0x02,//供寫,文件不存在則創建,若文件已存在則清空原內容(ofstream默認的打開方式)
ios::ate = 0x04,//文件打開時,指針在文件最後。可改變指針的位置,常和in、out聯合使用
ios::app = 0x08,//供寫,文件不存在則創建,若文件已存在則在原文件內容後寫入新的內容,指針位置總在最後
ios::trunc = 0x10,//在讀寫前先將文件長度截斷為0(默認)
ios::nocreate= 0x20,//文件不存在時產生錯誤,常和in或app聯合使用
ios::noreplace = 0x40,//文件存在時產生錯誤,常和out聯合使用
ios::binary= 0x80 //二進制格式文件
文件保護方式選擇項:
filebuf::openprot;//默認的兼容共享方式
filebuf::sh_none; //獨占,不共享
filebuf::sh_read; //讀共享
filebuf::sh_write;//寫共享
打開文件的方法
調用構造函數時指定文件名和打開模式
ifstream f("d:\\12.txt",ios::nocreate); //默認以 ios::in 的方式打開文件,文件不存在時操作失敗
ofstream f("d:\\12.txt"); //默認以 ios::out的方式打開文件
fstreamf("d:\\12.dat",ios::in|ios::out|ios::binary);//以讀寫方式打開二進制文件
使用Open成員函數
fstream f;
f.open("d:\\12.txt",ios::out);//利用同一對象對多個文件進行操作時要用到open函數
檢查是否成功打開
成功:
if(f){...}//對ifstream、ofstream對象可用,fstream對象不可用。
if(f.good()){...}
失敗:
if(!f){...} // !運算符已經重載
if(f.fail()){...}
讀寫操作
使用<<,>>運算符
只能進行文本文件的讀寫操作,用於二進制文件可能會產生錯誤。
使用函數成員 get、put、read、write等
經常和read配合使用的函數是gcount(),用來獲得實際讀取的位元組數。
讀寫二進制文件注意事項
打開方式中必須指定ios::binary,否則讀寫會出錯
用read\write進行讀寫操作,而不能使用插入、提取運算符進行操作,否則會出錯。
使用eof()函數檢測文件是否讀結束,使用gcount()獲得實際讀取的位元組數
關閉文件
使用成員函數close,如:
f.close();
利用析構函數
對象生命期結束時會檢查文件是否關閉,對沒有關閉的文件進行關閉操作。
隨機讀寫文件
通過移動文件讀寫指針,可在文件指定位置進行讀寫。
seekg(絕對位置);//絕對移動,//輸入流操作
seekg(相對位置,參照位置); //相對操作
tellg();//返回當前指針位置
seekp(絕對位置);//絕對移動,//輸出流操作
seekp(相對位置,參照位置); //相對操作
tellp();//返回當前指針位置
參照位置:
ios::beg= 0 //相對於文件頭
ios::cur= 1 //相對於當前位置
ios::end= 2 //相對於文件尾
讀寫文本文件的示例
//為能夠正確讀出寫入文件的各數據,各數據間最好要有分隔
#include<fstream.h>
void main()
{
fstream f("d:\\try.txt",ios::out);
f<<1234<<' '<<3.14<<'A'<<"How are you"; //寫入數據
f.close();
f.open("d:\\try.txt",ios::in);
int i;
double d;
char c;
char s[20];
f>>i>>d>>c; //讀取數據
f.getline(s,20);
cout<<i<<endl;//顯示各數據
cout<<d<<endl;
cout<<c<<endl;
cout<<s<<endl;
f.close();
}
運行結果:
1234
3.14
A
How are you
Press any key to continue
顯示文本文件的內容
//使用get()一次讀一個字元--------------------------------方案一
#include<fstream.h>
void main()
{
ifstream fin("d:\\簡介.txt",ios::nocreate);
if(!fin){
cout<<"File open error!\n";
return;
}
char c;
while((c=fin.get())!=EOF)cout<<c; //注意結束條件的判斷
fin.close();
}
//使用get(char *,int n,char delim='\n')一次讀多個字元----方案二
//巧妙利用文本文件中不會有字元'\0'的特點進行讀取
#include<fstream.h>
void main()
{
ifstream fin("d:\\簡介.txt",ios::nocreate);
if(!fin){
cout<<"File open error!\n";
return;
}
char c[80];
while(fin.get(c,80,'\0')!=NULL)cout<<c; //注意結束條件的判斷
fin.close();
}
//使用read(char *,int n)讀文件---------------------------方案三
#include<fstream.h>
void main()
{
ifstream fin("d:\\簡介.txt",ios::nocreate);
if(!fin){
cout<<"File open error!\n";
return;
}
char c[80];
while(!fin.eof()) //判斷文件是否讀結束
{
fin.read(c,80);
cout.write(c,fin.gcount());
}
fin.close();
}
拷貝文件
//二進制文件操作示例
#include<fstream.h>
void main()
{
ifstream fin("C:\\1.exe",ios::nocreate|ios::binary);
if(!fin){
cout<<"File open error!\n";
return;
}
ofstream fout("C:\\2.exe",ios::binary);
char c[1024];
while(!fin.eof())
{
fin.read(c,1024);
fout.write(c,fin.gcount());
}
fin.close();
fout.close();
cout<<"Copy over!\n";
}
㈡ noip 動態域名解析 地址改了為什麼沒有立即更新
動態域名服務建議使用花生殼動態域名解析或者使用金萬維寬頻通動態域名解析服務了
㈢ 有誰能給我今年的NOIP分區聯賽的題目
第八屆全國青少年信息學奧林匹克聯賽(NOIP2002)試題
(普及組PASCAL語言二小時完成)
全部試題答案均要求寫在答卷紙上,寫在試卷紙上一律無效
一.選擇一個正確答案代碼(A/B/C/D,填入每題的括弧內(每題1.5分,多選無分,共30分)
1)微型計算機的問世是由於( ) 的出現。
A) 中小規模集成電路 B) 晶體管電路 C) (超)大規模集成電路 D) 電子管電路
2)下列說法中正確的是( ) 。
A) 計算機體積越大,其功能就越強
B) CPU的主頻越高,其運行速度越快
C) 兩個顯示器屏幕大小相同,則它們的解析度必定相同
D)點陣列印機的針數越多,則能列印的漢字字體越多
3)Windows98中,通過查找命令查找文件時,若輸入F*.? , 則下列文件( ) 可以被查到。
A) F.BAS B) FABC.BAS C) F.C D) EF.
4)CPU處理數據的基本單位是字,一個字的字長( ) 。
A) 為8個二進制位 B) 為16個二進制位
C) 為32個二進制位 D) 與晶元的型號有關
5)資源管理器的目錄前圖標中增加"+"號,這個符號的意思是( ) 。
A) 該目錄下的子目錄已經展開 B) 該目錄下還有子目錄未展開
C) 該目錄下沒有子目錄 D) 該目錄為空目錄,
6)下列哪一種程序設計語言是解釋執行的( ) 。
A) Pascal B) GWBASIC C) C++ D) FORTRAN
7)啟動WORD的不正確方法是( ) 。
A) 單擊Office工具欄上的Word圖標
B) 單擊"開始"→"程序"→Word
C) 單擊"開始"→"運行",並輸入Word按回車
D) 雙擊桌面上的"Word快捷圖標"
8)多媒體計算機是指( ) 計算機。
A) 專供家庭使用的 B) 裝有CDROM的
C) 連接在網路上的高級 D) 具有處理文字、圖形、聲音、影像等信息的
9)在樹型目錄結構中,不允許兩個文件名相同主要是指( ) 。
A) 同一個磁碟的不同目錄下 B) 不同磁碟的同一個目錄下
C) 不同磁碟的不同目錄下、 D) 同一個磁碟的同一個目錄下
10)用畫筆(Paintbrush)繪制圖形並存儲在文件中,該圖形文件的文件名預設的後綴為( ) 。
A) .jpg B) .bmp C) .gif D).tiff
t11)E-ml地址中用戶名和郵件所在伺服器名之間的分隔符號是( ) 。
E A) # B) @ C) & D) $
12)(0.5)10=( ) 16.
A) 0.1 B) 0.75 C) 0.8 D) 0.25
13)IP v4地址是由( ) 位二進制數碼表示的。
A) 16 B) 32 c) 24 D) 8
14)算式(2047)10一(3FF)16+(2000)8的結果是( ) 。
A) (2048)10 B) (2049)10 C) (3746)8 D) (1AF7)16
15)下列敘述中,錯誤的是( )
A) Excel中編輯的表格可以在Word中使用
B) 用Word編輯的文本可以存成純文本文件
C) 用記事本(Notepa D) 編輯文本時可以插入圖片
D) 用畫筆(Paintbrush)繪圖時可以輸入文字
16)一個向量第一個元素的存儲地址是100,每個元素的長度是2,則第5個元素的地址是( )
A) 110 B) 108 C) 100 D) 109
17)在所有排序方法中,關鍵字比較的次數與記錄的初始排列次序無關的是( ) 。
A) 希爾排序 B) 起泡排序 C) 插入排序 D) 選擇排序
18)在計算機網路中,Modem的功能是( )
A) 將模擬信號轉換為數字信號 B) 將數字信號轉換為模擬信號
C) 實現模擬信號與數字信號的相互轉換 D) 實現將模擬信號的數字信號
19)設有一個含有13個元素的Hash表(O~12),Hash函數是:H(key)=key % 13,其中%是求余數運算。用線性探查法解決沖突,則對於序列(2、8、31、20、19、18、53、27),18應放在第幾號格中( ) 。
A) 5 B) 9 C) 4 D) 0
20)要使1…8號格子的訪問順序為:82、63、73、1、4,則下圖中的空格中應填人( ) 。
1 2 3 4 5 6 7 8
4 6 1 -1 7 3 2
A) 6 B) O C) 5 D) 3
二.問題求解:
1. 如下圖,有一個無窮大的的棧S,在棧的右邊排列著1,2,3,4,5共五個車廂。其中每個車廂可以向左行走,也可以進入棧S讓後面的車廂通過。現已知第一個到達出口的是3號車廂,請寫出所有可能的到達出口的車廂排列總數(不必給出每種排列)。
出口← ← 1 2 3 4 5
S↓
2.將N個紅球和M個黃球排成一行。例如:N=2,M=3可得到以下6種排法:
紅紅黃黃黃 紅黃紅黃黃 紅黃黃紅黃 黃紅紅黃黃 黃紅黃紅黃 黃黃黃紅紅
問題:當N=4,M=3時有多少種不同排法?(不用列出每種排法)
三.閱讀程序:
program exp1;
var i,j,k,n,,L0,L1,LK:Integer;
a :array [0..20] of integer;
begin
readln(n,k);
for i:=0 to n-1 do a[i]:=i+1;
a[n]:=a[n-1];L0:=n-1; Lk:=n-1;
for I:=1 to n-1 do
begin
L1:=L0-k; if (l1<0) then L1:=L1+n;
If (l1=Lk) then begin
A[L0]:=a[n]; Lk:=Lk-1; a[n]:=a[Lk]; l0:=lk
End;
Else
Begin
A[l0]:=a[l1];l0:=l1;
End;
End;
A[L0]:=a[n];
For I:=0 to n-1 do write(a[I]:40;
Writeln;
End.
輸入:10 4
輸出:
2)program exp2;
var n,jr,jw,jb:integer;
ch1:char;
ch:array[1..20]d char;
begin
readln(n);
for i:=1 to n do read(ch[i]):
jr:=1;jwz=n;jb:=n;:
while (jr<=jw)do
begin
if(ch[jw]='R')
then begin
ch1:=Ch[jr];Ch[jr]:=ch[jw];ch[jw]:=ch1:jr:=jr+13
end
else if ch[jw]='W'
then jw:=jw-1
else begin
ch1:=ch[jw];ch[jw]:=ch[jb];ch[jb]:=ch1;jw:=jw-1;jb:=jb-1;
end
end;
for i:=1 to n do write(ch[i]);
writeln;
end.
輸入:10
RBRBWWRBBR
輸出:
3)Pmgram exp3;
Var I,j,p,n,q,s:integer;
a :array[1..20]of integer;
begin
readln(p,n,q);j :=21;
while (n>0)do
begin
j:=j-1;a[j]:=n mod 10;n:=n div 10;
end;
s:=0;
for i:=j t0 20 do s:=s*p+a[i];
writeln(s);j :=21;
while (s>O)do
begin j:=j-1;a[j]:=s mod q;s:=s div q;end;
for i:=j to 20 do write(a[i]);readln;
end.
輸入:7 3051 8
輸出:
四.完善程序:
1.問題描述:將n個整數分成k組(k≤n,要求每組不能為空),顯然這k個部分均可得到一個各自的和s1,s2,……sk,定義整數P為:
P=(S1-S2)2+(S1一S3)2+……+(S1-Sk)2+(s2-s3)2+……+(Sk-1-Sk)2
問題求解:求出一種分法,使P為最小(若有多種方案僅記一種〉
程序說明:
數組:a[1],a[2],...A[N]存放原數
s[1],s[2],...,s[K]存放每個部分的和
b[1],b[2],...,b[N]窮舉用臨時空間
d[1],d[2],...,d[N]存放最佳方案
程序:
program exp4;
Var i,j,n,k : integer;
a :array [1..100] of integer;
b,d:array [0..100] of integer;
s :array[1..30] of integer;
begin
readln(n,k);
for I:=1 to n do read(a[I]);
for I:=0 to n do b[I]:=1;
cmin:=1000000;
while (b[0]=1) do
begin
for I:=1 to k do ①
for I:=1 to n do
②
sum:=0;
for I:=1 to k-1 do
for j:= ③
sum:=sum+(s[I]-s[j])*(s[I]-s[j]);
if ④ then
begin
cmin:=sum;
for I:=1 to n do d[I]:=b[I];
end;
j:=n;
while ⑤ do j:=j-1;
b[j]:=b[j]+1;
for I:=j+1 to n do ⑥
end;
writeln(cmin);
for I:=1 to n do write(d[I]:40);
writeln;
end.
2. 問題描述:工廠在每天的生產中,需要一定數量的零件,同時也可以知道每天生產一個零件的生產單價。在N天的生產中,當天生產的零件可以滿足當天的需要,若當天用不完,可以放到下一天去使用,但要收取每個零件的保管費,不同的天收取的費用也不相同。
問題求解:求得一個N天的生產計劃(即N天中每天應生產零件個數),使總的費用最少。
輸入:N(天數N<=29)
每天的需求量(N個整數)
每天生產零件的單價(N個整數)
每天保管零件的單價(N個整數)
輸出:每天的生產零件個數(N個整數)
例如:當N=3時,其需要量與費用如下:
第一天 第二天 第三天
需要量 25 15 30
生產單價 20 30 32
保管單價 5 l0 0
生產計劃的安排可以有許多方案,如下面的三種:
第一天 第二天 第三天 總的費用
25 15 30 25*2O+15*30+30*32=1910
40 0 30 40*20+15*5+30*32=1835
70 0 0 70*20+45*5+30*10=1925
程序說明:
b[n]:存放每天的需求量
c[n]:每天生產零件的單價
d[n]:每天保管零件的單價
e[n]:生產計劃
程序:
Program exp5;
Var
i,j,n,yu,j0,j1,s:integer;
b,c,d,e: array[0..30]of integer; begin
readln(n);
for i:=1 to n do readln(b[[i],c[I],d[i]];
fori:=1 to n do e[i]:=0;
① :=10000;c[n+2]:=0;b[n+1]:=0;jO:=1;
while (jO<=n)do
begin
yu:=c[j0]; j1:=jO; s:=b[j0];
while ② do
begin
③ j1:=j1+1;s:=s+b[j1];
end;
④ jO:=j1+1;
end;
for i:=1 to n do ⑤
readln;
end.
㈣ NOI與NOIP有什麼區別
IMAP和POP有什麼區別? 返回
POP3協議允許電子郵件客戶端下載伺服器上的
郵件,但是在客戶端的操作(如移動郵件、標記已讀
等),不會反饋到伺服器上,比如通過客戶端收取了
郵箱中的3封郵件並移動到其他文件夾,郵箱伺服器
上的這些郵件是沒有同時被移動的 。而IMAP提供
webmail 與電子郵件客戶端之間的雙向通信,客戶端
的操作都會反饋到伺服器上,對郵件進行的操作,服
務器上的郵件也會做相應的動作。 同時,IMAP像
POP那樣提供了方便的郵件下載服務,讓用戶能進行
離線閱讀。IMAP提供的摘要瀏覽功能可以讓你在閱
讀完所有的郵件到達時間、主題、發件人、大小等信
息後才作出是否下載的決定。此外,IMAP 更好地支
持了從多個不同設備中隨時訪問新郵件。 總之,
IMAP 整體上為用戶帶來更為便捷和可靠的體驗。
POP 更易丟失郵件或多次下載相同的郵件,但 IMAP
通過郵件客戶端與webmail 之間的雙向同步功能很好
地避免了這些問題。
㈤ noip動態域名在路由器怎麼設置
指定IP
四口寬頻路由器使用方法是:
一、上網硬體
四口寬頻路由器一個,直通雙絞網線二根。
二、硬體安裝
1、把公司網線,插到寬頻路由器的WAN埠上,用直通雙絞網線把路由器LAN埠同電腦網卡相連。
2、啟動寬頻貓和路由器的電源。
三、配置路由器
以TP-LINK的SOHO RT402寬頻路由器為例,做如下設置(按該路由器說明書去做):
1、在IE窗口地址欄,輸入192.168.1.1,打「轉到」打開
要求輸入用戶名和密碼的對話框。
2、在用戶名和密碼文本框中分別輸入「admin」,確定,打開器的配置界面。
3、在路由的網路連接向導裡面選擇使用「WAN埠」。入網方式選擇靜態,輸入IP、網關、DNS
㈥ noip高手請進
A B C D E
㈦ NOIP的復賽編輯環境是什麼啊!有人說是GCC,VC++,到底是什麼啊!急!!!!
參加NOIp比賽,可以使用的編譯環境有(Windows環境):
Pascal語言:Free Pascal(命令行),Lazarus;
C/C++語言:Dev C++(窗口環境下).
Dev C++的使用與Turbo C的用法大體相似,GCC是指的C語言的編譯器,在Dev c++中內置.
㈧ 哪裡有noip試題數據全集下載
http://www.oifans.cn/bbs/thread-oifans-fid-15.html 自己找找吧,應該可以收集全
或者你去www.vijos.cn 上面有原題,可以提交進行測試(但是沒有數據)
㈨ 有關重慶市信息競賽高中組(noip)的問題!!!
為什麼只想拿二等獎呢?老實說,一等獎和二等獎分數差別不大,分數差距也就一道半題目的分數一下吧,要是想那獎的話,做題是王道。最好能找一個專一的題庫連續做一百題以上(強力推薦tyvj,最近有個noip貼吧比賽,很多獎品),這一百道題目要綜合各種類型的,建議多做搜索和dp題目,聯賽常考。不要覺得100道很多,其實平均下來一天也就那麼幾道題目,要是刷水題包括在內還得多刷幾十道,多做幾道才熟悉套路和模式,才能在考試中立馬想到演算法,並且熟練地編出來並調試成功。好吧,祝LZ多多AC!