當前位置:首頁 » 編程語言 » 用c語言

用c語言

發布時間: 2022-01-19 19:18:39

① 用c語言編寫程序

程序就是讀取文件到數組,再將數組進行排序,最後寫入文件。

讀寫文件流程:fopen獲取文件流(根據讀寫需求,選擇參數,使用完必須調用fclose函數關閉),fscanf讀取文件內容,fseek控制文件流指針,fprintf寫入文件。

選擇排序:每個循環周期選出一個最值,交換一次。

下面是代碼(數組為動態數組):

#include <stdio.h>

#include <malloc.h>

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("數組升序排列: ");

if(px(nums,1)==-1) return 1;

showNums(nums);

printf("數組降序排列: ");

if(px(nums,0)==-1) return 1;

showNums(nums);

printf("寫入到文件路徑%s下(存在覆蓋,不存在新建) ",wPath);

if(write2File(nums,wPath)==-1) return 1;

printf("寫入成功! ");

return 0;

}

void showNums(int *nums)

{

int i;

if(nums) for(i=0,printf("文件內容: ");i<maxLen;printf("%d ",nums[i]),i++);

printf(" ");

}

int px(int *nums,int flag)

{

int i,j,n,temp;

if(!nums) return -1;

for(i=0;i<maxLen-1;i++)

{

n=i;

for(j=i+1;j<maxLen;j++)

{

if(flag && nums[n]>nums[j]) n=j;

if(!flag && nums[n]<nums[j]) n=j;

}

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;i<maxLen;i++)

fprintf(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;

while(fscanf(fp,"%d",&nums[cnt++])!=-1)

if(cnt==maxLen)//數組長度不夠擴展(每次擴展10長度)

{

maxLen=maxLen+10;

temp=(int *)realloc(nums,sizeof(int)*maxLen);

if(temp) return NULL;

nums=temp;

}

if(--cnt<maxLen)//函數結束前,刪除多餘地址,減少內存佔用

{

maxLen=cnt;

temp=(int *)realloc(nums,sizeof(int)*maxLen);

if(!temp) return NULL;

nums=temp;

}

fclose(fp);

return nums;

}

② 用c語言怎麼做

③ 用C語言實現

冒泡排序是最簡單的排序,隨便一個c語言的書都有,好好學習一下吧。

④ 用C語言怎麼做

很多大學生都或多或少的懂一點編輯語言,尤其是計算機系的,眾說周知,c++語言是眾多語言中比較簡單易學的,那麼要如何使用它來編寫程序呢?下面將告知如何編寫一個屬於自己的小程序。
工具/原料
more
電腦一台(能聯網) Visual C++ 6.0(完整綠色版)軟體
方法/步驟
1/6分步閱讀
想要編寫軟體首先得要有編寫工具,對於初學者來說,一個好的編寫工具會能讓我們更快的上手,所以編寫軟體最好是中文版的,我這里使用的是Visual C++ 6.0(完整綠色版)軟體,當然也可以用其他版本,只是內容大同小異。首先要在網上下載軟體。

查看剩餘1張圖
2/6
軟體安裝後(安裝過程就不多加贅述了)運行軟體,哪個你知道嗎....可以不用管它,點擊關閉即可。先點擊點擊左上角文件,再點擊新建。

查看剩餘1張圖
3/6
點擊新建後進入一個界面,在此界面上先選擇工作區,然後選擇倒數第三個,然後自己建立一個工程名(必須得先選擇後建立工程名),然後可以選擇工程保存位置,點擊確認,之後選擇一個空工程,點擊完成。

查看剩餘1張圖
4/6
點擊完成後又會回到起初的界面,老規矩點擊文件,新建,進入界面後,這一次要選擇文件區,然後選擇第四個,再建立文件名,設置好了後點擊確定。

5/6
點擊確定後就進入設計界面了,在此界面上我們可以隨心所欲的寫自己想寫的代碼,寫完代碼後,可以點擊上面的那個嘆號似的東西,選擇運行程序,之後我們寫的程序就會運行,你可以看到它們運行後的狀態。

查看剩餘2張圖
6/6
值得一提的是,如果你的代碼存在錯誤時,那麼程序會運行不成功,你可以到最下面那個窗口看自己到底錯在哪裡,然後改正直到運行成功,則程序製作成功了。
注意事項
在建立工程時一定要記得工程的位置,最好是專門建立一個文件夾來存放,否則容易會導致找不到工程的的情況。

⑤ C語言中的%是個什麼意思啊 有什麼用啊

%是求模的意思,兩邊必須是整數類型的,求模常用符號為mod,就是我們小學學的求余運算符。

例如50%23=4,因為余數為4,所以在程序中必須保證兩邊為整數才是這個意思。

(5)用c語言擴展閱讀

「模」是「Mod」的音譯,模運算多應用於程序編寫中。 Mod的含義為求余。模運算在數論和程序設計中都有著廣泛的應用,從奇偶數的判別到素數的判別,從模冪運算到最大公約數的求法,從孫子問題到凱撒密碼問題,無不充斥著模運算的身影。雖然很多數論教材上對模運算都有一定的介紹,但多數都是以純理論為主,對於模運算在程序設計中的應用涉及不多。

基本性質

(1)若p|(a-b),則a≡b (% p)。例如 11 ≡ 4 (% 7), 18 ≡ 4(% 7)

(2)(a % p)=(b % p)意味a≡b (% p)

(3)對稱性:a≡b (% p)等價於b≡a (% p)

(4)傳遞性:若a≡b (% p)且b≡c (% p) ,則a≡c (% p)

參考資料模運算_網路

⑥ 用c語言怎麼寫

#include<stdio.h>

struct date

{

int year;

int month;

int day;

};

int days(struct date day)

{

static int day_tab[2][13]=

{{0,31,28,31,30,31,30,31,31,30,31,30,31,}, /*平均每月的天數*/

{0,31,29,31,30,31,30,31,31,30,31,30,31,},

};

int i,lp;

lp=(day.year%4==0&&day.year%100!=0)||day.year%400==0;

/*判定year為閏年還是平年,lp=0為平年,非0為閏年*/

for(i=1;i<day.month;i++) /*計算本年中自1月1日起的天數*/

day.day+=day_tab[lp][i];

return day.day;

}

int main()

{

struct date today,term;

int yearday,year,day;

printf("請輸入日期:(年 月 日):");

scanf("%d%d%d",&today.year,&today.month,&today.day); /*輸入日期*/

term.month=12; /*設置變數的初始值:月*/

term.day=31; /*設置變數的初始值:日*/

for(yearday=0,year=1990;year<today.year;year++)

{

term.year=year;

yearday+=days(term); /*計算從1990年至指定年的前一年共有多少天*/

}

yearday+=days(today); /*加上指定年中到指定日期的天數*/

day=yearday%5; /*求余數*/

if(day>0&&day<4) printf("打魚 "); /*列印結果*/

else printf("曬網 ");

}

⑦ 「並且」用C語言怎麼表示

並且用C語言表示方法如下:按位與 &amp:

例子:

int a=1,b=0。

a=a&amp;b。

結果a=0。

=====================================

表達式之間的邏輯與 &amp;&amp。

例子:if (a&gt;b &amp;&amp;a&gt;c);如果a&gt;b並且a&gt;c則...

(7)用c語言擴展閱讀:

C語言的基本構成:

數據類型:C的數據類型包括:整型、字元型、實型或浮點型(單精度和雙精度)、枚舉類型、數組類型、結構體類型、共用體類型、指針類型和空類型。

常量與變數:常量其值不可改變,符號常量名通常用大寫。變數是以某標識符為名字,其值可以改變的量。標識符是以字母或下劃線開頭的一串由字母、數字或下劃線構成的序列,請注意第一個字元必須為字母或下劃線,否則為不合法的變數名。變數在編譯時為其分配相應存儲單元。

數組:如果一個變數名後面跟著一個有數字的中括弧,這個聲明就是數組聲明。字元串也是一種數組。它們以ASCII的NULL作為數組的結束。要特別注意的是,方括內的索引值是從0算起的。

⑧ 用c語言編寫

#include<stdio.h>
voidfun(intn){
inti,j;

for(i=1;i<=n;i++){ for(j=1;j<=i;j++){
printf("*");
}


printf(" ");
}
for(i=n;i>=1;i--){
for(j=i;j>=1;j--){
printf("*");
}
printf(" ");
}


}
intmain(){
fun(5);

return0;
}

熱點內容
交運換演算法 發布:2024-12-29 11:56:59 瀏覽:961
魅族保存網頁在哪個文件夾 發布:2024-12-29 11:38:02 瀏覽:51
安卓光遇耳機下一個復刻是什麼 發布:2024-12-29 11:36:41 瀏覽:269
java調用棧 發布:2024-12-29 11:36:31 瀏覽:851
紅米2刷機包用解壓嘛 發布:2024-12-29 11:33:04 瀏覽:183
ug伺服器名字是什麼 發布:2024-12-29 11:28:55 瀏覽:507
奇跡腳本網 發布:2024-12-29 11:18:15 瀏覽:597
資料庫怎麼把刪除恢復 發布:2024-12-29 11:15:36 瀏覽:95
選課管理資料庫設計 發布:2024-12-29 11:11:20 瀏覽:278
springmvc的sql語句 發布:2024-12-29 11:07:29 瀏覽:985