A. 用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;

}

B. 怎麼編寫C語言程序,如:Helloworld的

代碼如下:

#include<stdio.h>

intmain(void)

{

printf("Hello,world!");

return0;

}

一、首先,打開我們的Visual C++ 6.0軟體,我使用的為中文版,軟體主界面如下圖所示:


(2)c語言寫程序擴展閱讀

C語言的基本構成:

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

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

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

4、指針。

(1)、如果一個變數聲明時在前面使用 * 號,表明這是個指針型變數。換句話說,該變數存儲一個地址,而 *(此處特指單目運算符 * ,下同。C語言中另有 雙目運算符 *) 則是取內容操作符,意思是取這個內存地址里存儲的內容。指針是 C 語言區別於其他同時代高級語言的主要特徵之一

(2)、指針不僅可以是變數的地址,還可以是數組、數組元素、函數的地址。通過指針作為形式參數可以在函數的調用過程得到一個以上的返回值,不同於return(z)這樣的僅能得到一個返回值。

(3)指針是一把雙刃劍,許多操作可以通過指針自然的表達,但是不正確的或者過分的使用指針又會給程序帶來大量潛在的錯誤。

5、字元串。C語言的字元串其實就是以''字元結尾的char型數組,使用字元型並不需要引用庫,但是使用字元串就需要C標准庫裡面的一些用於對字元串進行操作的函數。它們不同於字元數組。使用這些函數需要引用頭文件<string.h>。

6、文件輸入/輸出在C語言中,輸入和輸出是經由標准庫中的一組函數來實現的。在ANSI C中,這些函數被定義在頭文件<stdio.h>;中。

C. c語言寫程序

#include<stdio.h>
inta[1000];
intmain()
{intn,i,j;
scanf("%d",&n);
for(i=1;i<=n;i++)
for(j=i;j<=n;j+=i)
a[j]=1-a[j];
printf("開著的門:專 ");
for(i=1;i<=n;i++)
if(a[i])printf("%d",i);
printf(" 關著屬的門: ");
for(i=1;i<=n;i++)
if(!a[i])printf("%d",i);
return0;
}

D. 用C語言寫的程序該怎樣執行

看你用來的什麼環境,如果源是集成開發環境,可以直接從菜單中選擇編譯並運行。通過編譯鏈接後的執行程序可以直接在命令行執行。

如果採用命令行編譯器,則有很多種,有的一次就成執行文件,如gcc。有的需要分編譯和連接兩步。如lcc-win32則需要先用lcc編譯,得到.obj目的代碼,然後再用lcclnk連接.obj成.exe文件。形成的.exe文件與其他命令程序一樣可以在DOS窗口執行。

E. c語言寫程序

程序參考
#include
<stdio.h>
#include
<string.h>
void
findWord(char
words[][30],int
n,char
maxword[30])
///n是單詞數量,
maxword是返回最長的單詞
{

int
maxlen,i;

maxlen=strlen(words[0]);

strcpy(maxword,words[0]);

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

{

if
(strlen(words[i])>maxlen)

{

maxlen=strlen(words[i]);

strcpy(maxword,words[i]);

}

}
}
int
main()
{

char
s[1000],a[100][30],c,b[30];

int
i,j,ct;

printf("請輸入一個串:\n");

gets(s);

j=i=ct=0;

while(c=s[i++])

{

if
(c=='
')
//單詞以空格分隔

{

a[ct++][j]='\0';

j=0;

}

else

a[ct][j++]=c;

}

a[ct++][j]='\0';//最後一個

findWord(a,ct,b);

printf("最長的單詞為:%s\n",b);

return
0;
}

F. C語言編寫程序

#include<stdio.h>

#include<string.h>

int main()

{

char a[11];

gets(a);

for(int i=0;i<strlen(a);i++)

{

if(a[i]!='A'&&a[i]!='a')

printf("%c",a[i]);

}

return 0;

}

G. 如何編寫C語言程序

准備材料

windows電腦、VC++(DEV_C++)

1.打開桌面上的DEV_C++,進入如下界面:

H. 如何用c語言寫一個這樣的程序

能寫不過大家應該不會那麼閑的幫你全寫出來吧。可以幫你實現一部分倒是

I. 編寫一個C語言程序

對應題目:

輸入n(n<100)個整數,將所有的偶數倒序輸出

代碼回截圖

結果

完整代碼

#include<stdio.h>

//輸入n(n<100)個整數,將所有的偶數倒序輸出

intmain()

{

intn;

intnum[105]={0};

inti=0;

scanf("%d",&n);//輸入n

for(i=1;i<=n;i++){//循環n次

scanf("%d",&num[i]);//輸入n個整數

}

for(i=n;i>=1;i--){//倒序循環

if(num[i]%2==0){//判斷是否為偶數

printf("%d",num[i]);//輸出偶數

}

}

return0;

}