1樓:自我程式設計
程式就是讀取檔案到陣列,再將陣列進行排序,最後寫入檔案。
讀寫檔案流程:fopen獲取檔案流(根據讀寫需求,選擇引數,使用完必須呼叫fclose函式關閉),fscanf讀取檔案內容,fseek控制檔案流指標,fprintf寫入檔案。
選擇排序:每個迴圈週期選出一個最值,交換一次。
下面是**(陣列為動態陣列):
#include
#include
int maxlen;//陣列長度
int *read2nums(char path);//讀取
int write2file(int *nums,char path);//寫入
void shownums(int *nums);
int px(int *nums,int flag);//選擇排序flag=1升序,flag=0降序
int main()
int *nums=null;
char rpath="c:\\000.dat",wpath="c:\\rank.dat";
if(!(nums=read2nums(rpath))) return 1;
shownums(nums);
printf("陣列升序排列:\n");
if(px(nums,1)==-1) return 1;
shownums(nums);
printf("陣列降序排列:\n");
if(px(nums,0)==-1) return 1;
shownums(nums);
printf("寫入到檔案路徑%s下(存在覆蓋,不存在新建)\n",wpath);
if(write2file(nums,wpath)==-1) return 1;
printf("寫入成功!\n");
return 0;
void shownums(int *nums)
int i;
if(nums) for(i=0,printf("檔案內容:\n");iprintf("\n");
int px(int *nums,int flag)
int i,j,n,temp;
if(!nums) return -1;
for(i=0;in=i;
for(j=i+1;jif(flag && nums[n]>nums[j]) n=j;
if(!flag && nums[n]temp=nums[i],nums[i]=nums[n],nums[n]=temp;
return 1;
int write2file(int *nums,char path)
int i;
file *fp=null;
if(!nums) return -1;
if(!(fp=fopen(path,"w"))) return -1;
//fseek(fp,seek_end);
for(i=0;ifprintf(fp,"%d ",nums[i]);
fclose(fp);
return 1;
int *read2nums(char path)
int *nums=null,*temp=null,cnt=0;
file *fp=null;
maxlen=10;
if(!(fp=fopen(path,"r"))) return null;
nums=(int *)malloc(sizeof(int)*maxlen);
if(!nums) return null;
if(cnt==maxlen)//陣列長度不夠擴充套件(每次擴充套件10長度)
maxlen=maxlen+10;
temp=(int *)realloc(nums,sizeof(int)*maxlen);
if(temp) return null;
nums=temp;
if(--cntmaxlen=cnt;
temp=(int *)realloc(nums,sizeof(int)*maxlen);
if(!temp) return null;
nums=temp;
fclose(fp);
return nums;
2樓:聽不清啊
指定完成完成排序完成以件當中有記得關閉要求寫要,按照他題目的要求開啟指定的檔案,然後把資料讀入到一個一為陣列中,然後對這個一為輸出進行排序排序完成,以後再按照要求寫入指定的檔案當中,要記得關閉檔案
3樓:雲生活助手
回答親,是這樣的哦
準備材料
windows電腦、vc++(dev_c++)1.開啟桌面上的dev_c++,進入如下介面:
2.快捷鍵「ctrl+n」建立新源**。
3.輸入源**,下面給出最簡單的hello,world源**:
#include
int main( )
4.按下f11編譯並且執行源**,得到執行結果:
5.點選任意鍵返回源**編輯介面可以繼續進行開發,接下來就是c語言語法的學習了。
更多11條
用c語言編寫程式?
4樓:匿名使用者
#include //主函式
main()
printf("%d\n",s);//列印結果}
編寫一個程式...(用c語言編寫程式)?
5樓:匿名使用者
編寫什麼程式呢?是完成一個功能還是別的?是遊戲類還是軟體類還是工具類呢?不寫清楚怎麼回答呢親?
6樓:莎士比亞的夢鏡
這個程式設計類的問題我還真的一點都不懂
編寫一個小程式...(用c語言編寫程式)?
7樓:匿名使用者
編寫一個程式需要專業的知識,然後嗯,因為我不是計算機畢業的,所以我做起來會比較難。
8樓:土豆餅
什麼程式呀,只能看到題目,內容
用c語言編寫如圖程式?
9樓:千彌安若
#include"stdio.h"
int main()
printf("s = %d\n", a*b / 2);
return 0;
}麻煩採納一下!謝謝
10樓:匿名使用者
**:#include
long long a,b;
int main()
希望能幫到你。
如何用c語言寫一個這樣的程式? 20
11樓:匿名使用者
能寫不過大家應該不會那麼閒的幫你全寫出來吧。可以幫你實現一部分倒是
請問用c語言編寫程式的格式是什麼?
12樓:許詩文
如:1.#include
「 引入標頭檔案(主要引入函式庫,如stdio.h;數學函式」)
2. int main(void ) {
「 主函式必須是小寫的(程式唯一入口,前面的int、void等都可省略,但「括號」不能。大括號內包含的內容為程式主體」
int num = 10
3.printf(「會好的」);
printf(「我今年%d歲了\n」,num);
「\n:表示換行;%d表示在這裡帶入定義的函式num =
10,所以後面必須跟『num』這個識別符號」
}首先,在程式中注意一些小問題。
1.程式要在英文輸入法的介面輸入,不然程式會報警。
2.程式的格式要有一定的層次關係。
3.在定義函式(識別符號)時注意不要選擇了關鍵字。最好在「=」兩邊都空一格。
4.在定義函式時注意資料型別的取值範圍。如:
整型[signed]int
-2147483648~+2147483648
無符號整型
unsigned[int]
0~4294967295
短整型 short
[int] -32768~32768
無符號短整型
unsigned
short[int]
0~65535
長整型 long
int-2147483648~+2147483648
無符號長整型 unsigned
[int]
0~4294967295
字元型[signed]
char
-128~+127
無符號字元型 unsigned
char
0~255
單精度float
3.4 x 10^(-38)~ 3.4 x
10^(+38)
雙精度double
1.7 x 10^(-308)~ 1.7 x
10^(+308)
長雙精度 long
double 1.7
x 10^(-308)~ 1.7 x
10(+308)
13樓:潭起袁珊
#includeint
main()
-------------------輸入輸出標頭檔案不能缺少、否則不能呼叫輸入輸出函式、還有其他函式--------------------要有main函式、可以是void
main
沒有返回值的
也可以是int
main
但是返回值是return0;
怎麼用c語言編寫程式直接輸出字元「%d」?
14樓:定玉枝裴寅
%d輸出的是有符號的整數,超過127的數字,在二進位制的最高位就是1了。那麼在後符號數的首位標記正負。如果是1,就是負數了。
具體還是看看補碼運演算法則吧
15樓:閃玉花言巳
使用%%d即可。
要直接輸出%d,由於%d是輸出的格式字元,所以無法直接輸出。對此c語言規定轉義字元
%%值為原始的%符號。
所以,當輸出字串
printf("%%d");
時,即會輸出"%d"字元。
完整程式:
int main()
c語言編寫程式計算並輸出,C語言。編寫程式計算並輸出 1 12 123 1234 的前n 設0 n 10 項的和,n從鍵盤輸入。
4歲的帥帥最近感冒了,伴發高燒,流清鼻涕,光波爐菜譜,早晚咳嗽不停,在醫院打了兩天吊針,服過退燒藥和止咳藥,約5天孩子感冒好了,不發燒也不流鼻涕,就是咳嗽不見減輕。事實上,當感冒急性期症狀消失後,咳嗽仍遷延不愈,臨床上稱之感冒後咳嗽。感冒後咳嗽多見7歲以下小兒,症狀表現為剌激性乾咳或咳少量白色黏液痰...
用C語言編寫程式,求1 3 5
include int funt int n int main printf 和是多少 d sum return 0 利用的是函式的遞迴。求1 3 5 7 9 99的和?用c語言 include int main void printf d sum return sum 上面說的很對,可以用等差數列...
c語言 編寫程式 計算,C語言 編寫一個程式 計算。。。
親,你的程式迴圈永遠不會停止 此句for i 1 fabs 1 i i 1 1e 6 i i永遠大於0 所以不會停止 所以沒輸出入 沒錯誤計算機只能計算有限的數值,這種無限逼近型的不能用這種方法算的 fabs 1 i i 1 有錯誤,1 i i 1 1 i i 1 i 1 i 永遠大一1,也就永遠大...