c經(jīng)典筆試題
c經(jīng)典筆試題
C是高級(jí)語(yǔ)言:它把高級(jí)語(yǔ)言的基本結(jié)構(gòu)和語(yǔ)句與低級(jí)語(yǔ)言的實(shí)用性結(jié)合起來(lái)。C 語(yǔ)言可以像匯編語(yǔ)言一樣對(duì)位、字節(jié)和地址進(jìn)行操作,而這三者是計(jì)算機(jī)最基本的工作單元。下面就由學(xué)習(xí)啦小編為大家介紹一下c經(jīng)典筆試題的文章,歡迎閱讀。
c經(jīng)典筆試題篇1
有兩個(gè)磁盤(pán)文件A和B,各存放一行字母,要求把這兩個(gè)文件中的信息合并(按字母順序排列),輸出到一個(gè)新文件C中.
#include
#include
int main(int argc,char* argv[])
{
FILE* fp;
int i,j,k,num,NUM;
char c[50],t,ch;
if((fp=fopen("A","r"))==NULL)
/*can be replaced by open
* int fd=open("A",O_RDONLY|O_CREAT);*/
{
printf("fileA cannot be opened\n");
exit(0);
}
printf("\nA contents are:\n");
for(i=0;(ch=fgetc(fp))!=EOF;i++)/*一個(gè)字符一個(gè)字符讀*/
{
c[i]=ch;
putchar(c[i]);
}
num=i+1;
fclose(fp);
if((fp=fopen("B","r"))==NULL)
{
printf("fileB cannot be opened\n");
exit(0);
}
printf("\nB contents are :\n");
for(i=0;(ch=fgetc(fp))!=EOF;i++)
{
c[num+i]=ch;
putchar(c[num+i]);
}
fclose(fp);
NUM=num+i+1;
for(k=0;k
{
for(j=0;j
{
if(c[j]>c[j+1])
{
t=c[j];
c[j]=c[j+1];
c[j+1]=t;
}
}
}
printf("\nC fileis:\n");
fp=fopen("C","w");
for(i=0;i
{
putc(c[i],fp);/*將字符一個(gè)個(gè)寫(xiě)入文件中*/
putchar(c[i]);/*一個(gè)個(gè)輸出字符*/
}
fclose(fp);
return 1;
}
c經(jīng)典筆試題篇2
有一浮點(diǎn)型數(shù)組A,用C語(yǔ)言寫(xiě)一函數(shù)實(shí)現(xiàn)對(duì)浮點(diǎn)數(shù)組A進(jìn)行降序排序,并輸出結(jié)果,要求要以數(shù)組A作為函數(shù)的入口.(建議用冒泡排序法)
#include
#include
void BubbleSort(int arr[], int n)
{
int i,j;
int exchange = 1;//交換標(biāo)志,提高算法效率;
int temp;
for(i=0;i
{
exchange=0;//本趟排序開(kāi)始前,交換標(biāo)志應(yīng)為假
for(j=0;j
{
if(arr[j+1] > arr[j])
{
temp=arr[j+1];
arr[j+1]=arr[j];
arr[j]=temp;
exchange=1; //發(fā)生了交換,故將交換標(biāo)志置為真
}
}
if(!exchange) //本趟排序未發(fā)生交換,提前終止算法
return;
}
}
int main(int argc,char* argv[])
{
int arr[5]={1,4,2,6,5};
int i;
BubbleSort(arr, 5);
printf("after sort,arr is :\n");
for(i=0;i<5;i++)
{
printf("%3d",arr[i]);
}
return 1;
}
c經(jīng)典筆試題篇3
寫(xiě)出二分查找的代碼:
Int binary_search(int* arr,int key,int size)
{
Intmid;
Intlow=0;
Int high=size-1;
While(low<=high)
{
Mid=(low+high)/2;
If(arr[mid]>key)
High=mid-1;
ElseIf(arr[mid]
Low=mid+1;
Else
Return mid;
}
Return -1;
}
請(qǐng)編寫(xiě)一個(gè)C 函數(shù),該函數(shù)在一個(gè)字符串中找到可能的最長(zhǎng)的子字符串,該字符串是由同一字符組成的。
#include
#include
#include
int ChildString(char*p)
{
char* q=p;
int stringlen=0, i=0,j=1,len=0,maxlen=1;
//stringlen=strlen(p);
while(*q!='
c經(jīng)典筆試題
c經(jīng)典筆試題
C是高級(jí)語(yǔ)言:它把高級(jí)語(yǔ)言的基本結(jié)構(gòu)和語(yǔ)句與低級(jí)語(yǔ)言的實(shí)用性結(jié)合起來(lái)。C 語(yǔ)言可以像匯編語(yǔ)言一樣對(duì)位、字節(jié)和地址進(jìn)行操作,而這三者是計(jì)算機(jī)最基本的工作單元。下面就由學(xué)習(xí)啦小編為大家介紹一下c經(jīng)典筆試題的文章,歡迎閱讀。
c經(jīng)典筆試題篇1
有兩個(gè)磁盤(pán)文件A和B,各存放一行字母,要求把這兩個(gè)文件中的信息合并(按字母順序排列),輸出到一個(gè)新文件C中.
#include
#include
int main(int argc,char* argv[])
{
FILE* fp;
int i,j,k,num,NUM;
char c[50],t,ch;
if((fp=fopen("A","r"))==NULL)
/*can be replaced by open
* int fd=open("A",O_RDONLY|O_CREAT);*/
{
printf("fileA cannot be opened\n");
exit(0);
}
printf("\nA contents are:\n");
for(i=0;(ch=fgetc(fp))!=EOF;i++)/*一個(gè)字符一個(gè)字符讀*/
{
c[i]=ch;
putchar(c[i]);
}
num=i+1;
fclose(fp);
if((fp=fopen("B","r"))==NULL)
{
printf("fileB cannot be opened\n");
exit(0);
}
printf("\nB contents are :\n");
for(i=0;(ch=fgetc(fp))!=EOF;i++)
{
c[num+i]=ch;
putchar(c[num+i]);
}
fclose(fp);
NUM=num+i+1;
for(k=0;k
{
for(j=0;j
{
if(c[j]>c[j+1])
{
t=c[j];
c[j]=c[j+1];
c[j+1]=t;
}
}
}
printf("\nC fileis:\n");
fp=fopen("C","w");
for(i=0;i
{
putc(c[i],fp);/*將字符一個(gè)個(gè)寫(xiě)入文件中*/
putchar(c[i]);/*一個(gè)個(gè)輸出字符*/
}
fclose(fp);
return 1;
}
c經(jīng)典筆試題篇2
有一浮點(diǎn)型數(shù)組A,用C語(yǔ)言寫(xiě)一函數(shù)實(shí)現(xiàn)對(duì)浮點(diǎn)數(shù)組A進(jìn)行降序排序,并輸出結(jié)果,要求要以數(shù)組A作為函數(shù)的入口.(建議用冒泡排序法)
#include
#include
void BubbleSort(int arr[], int n)
{
int i,j;
int exchange = 1;//交換標(biāo)志,提高算法效率;
int temp;
for(i=0;i
{
exchange=0;//本趟排序開(kāi)始前,交換標(biāo)志應(yīng)為假
for(j=0;j
{
if(arr[j+1] > arr[j])
{
temp=arr[j+1];
arr[j+1]=arr[j];
arr[j]=temp;
exchange=1; //發(fā)生了交換,故將交換標(biāo)志置為真
}
}
if(!exchange) //本趟排序未發(fā)生交換,提前終止算法
return;
}
}
int main(int argc,char* argv[])
{
int arr[5]={1,4,2,6,5};
int i;
BubbleSort(arr, 5);
printf("after sort,arr is :\n");
for(i=0;i<5;i++)
{
printf("%3d",arr[i]);
}
return 1;
}
c經(jīng)典筆試題篇3
寫(xiě)出二分查找的代碼:
Int binary_search(int* arr,int key,int size)
{
Intmid;
Intlow=0;
Int high=size-1;
While(low<=high)
{
Mid=(low+high)/2;
If(arr[mid]>key)
High=mid-1;
ElseIf(arr[mid]
Low=mid+1;
Else
Return mid;
}
Return -1;
}
請(qǐng)編寫(xiě)一個(gè)C 函數(shù),該函數(shù)在一個(gè)字符串中找到可能的最長(zhǎng)的子字符串,該字符串是由同一字符組成的。
#include
#include
#include
int ChildString(char*p)
{
char* q=p;
int stringlen=0, i=0,j=1,len=0,maxlen=1;
//stringlen=strlen(p);
while(*q!='\0') //不能用strlen,求得長(zhǎng)stringlen
{
stringlen++;
q++;
}
while( i< stringlen)
{
if(*(p+i)==*(p+j)&&j< stringlen)
{
len++; //統(tǒng)計(jì)子串長(zhǎng)度
i++;
j++;
}
else
{
if(len>=maxlen) //統(tǒng)計(jì)最大子串長(zhǎng)度
{
maxlen=len+1;
len=0;
}
else
len=0;
i++;
j++;
}
}
return maxlen;
}
int main(int argc,char* argv[])
{
char arr[11];
int len;
printf("please input chararr(10):\n");
scanf("%s",arr);
len=ChildString(arr);
printf("the len of childarr is:%d\n",len);
return 1;
}
{
stringlen++;
q++;
}
while( i< stringlen)
{
if(*(p+i)==*(p+j)&&j< stringlen)
{
len++; //統(tǒng)計(jì)子串長(zhǎng)度
i++;
j++;
}
else
{
if(len>=maxlen) //統(tǒng)計(jì)最大子串長(zhǎng)度
{
maxlen=len+1;
len=0;
}
else
len=0;
i++;
j++;
}
}
return maxlen;
}
int main(int argc,char* argv[])
{
char arr[11];
int len;
printf("please input chararr(10):\n");
scanf("%s",arr);
len=ChildString(arr);
printf("the len of childarr is:%d\n",len);
return 1;
}
熱門(mén)文章
- 年度售后服務(wù)經(jīng)典工作計(jì)劃十篇
- 年度降本增效經(jīng)典工作計(jì)劃十五篇
- 學(xué)期語(yǔ)文教學(xué)經(jīng)典工作計(jì)劃十篇
- 新學(xué)期九年級(jí)班主任經(jīng)典工作計(jì)劃十篇
- 經(jīng)典工作計(jì)劃怎么寫(xiě)三十篇
- 個(gè)人經(jīng)典發(fā)展計(jì)劃書(shū)十篇
- 新學(xué)期個(gè)人經(jīng)典學(xué)習(xí)計(jì)劃十篇
- 新北師大版三年級(jí)數(shù)學(xué)經(jīng)典教學(xué)計(jì)劃十篇
- 北師大版一年級(jí)數(shù)學(xué)上冊(cè)經(jīng)典教學(xué)計(jì)劃十篇
- 四年級(jí)心理健康教育經(jīng)典教學(xué)計(jì)劃十篇