最新C语言编程题范文模板 12页.docx
- 文档编号:814220
- 上传时间:2022-10-13
- 格式:DOCX
- 页数:10
- 大小:17.60KB
最新C语言编程题范文模板 12页.docx
《最新C语言编程题范文模板 12页.docx》由会员分享,可在线阅读,更多相关《最新C语言编程题范文模板 12页.docx(10页珍藏版)》请在冰豆网上搜索。
最新C语言编程题范文模板12页
本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!
==本文为word格式,下载后可方便编辑和修改!
==
C语言编程题
1)读文件file1.txt的内容(例如):
12
34
56
输出到file2.txt:
56
34
12
(逆序)
第一题,注意可增长数组的应用.
#include
#include
intmain(void)
{
intMAX=10;
int*a=(int*)malloc(MAX*sizeof(int));
int*b;
FILE*fp1;
FILE*fp2;
fp1=fopen(“a.txt”,”r”);
if(fp1==NULL)
{printf(“error1″);
exit(-1);
}
fp2=fopen(“b.txt”,”w”);
if(fp2==NULL)
{printf(“error2″);
exit(-1);
}
inti=0;
intj=0;
while(fscanf(fp1,”%d”,&a[i])!
=EOF)
{
i++;
j++;
if(i>=MAX)
{
MAX=2*MAX;
b=(int*)realloc(a,MAX*sizeof(int));
if(b==NULL)
{
printf(“error3″);
exit(-1);
}
a=b;
}
}
for(;–j>=0;)
fprintf(fp2,”%d\n”,a[j]);
fclose(fp1);
fclose(fp2);
return0;
}
可谓是反序的经典例程.
voidinverse(char*p)
{
if(*p==‘\0′)
return;
inverse(p+1);
printf(“%c”,*p);
}
intmain(intargc,char*argv[])
{
inverse(“abc\0″);
return0;
}
借签了楼上的“递规反向输出”
#include
voidtest(FILE*fread,FILE*fwrite)
{
charbuf[1024]={0};
if(!
fgets(buf,sizeof(buf),fread))
return;
test(fread,fwrite);
fputs(buf,fwrite);
}
intmain(intargc,char*argv[])
{
FILE*fr=NULL;
FILE*fw=NULL;
fr=fopen(“data”,“rb”);
fw=fopen(“dataout”,“wb”);
test(fr,fw);
fclose(fr);
fclose(fw);
return0;
}
在对齐为4的情况下
structBBB
{
longnum;
char*name;
shortintdata;
charha;
shortba[5];
}*p;
p=0×1000000;
p+0×200=____;
(Ulong)p+0×200=____;
(char*)p+0×200=____;
希望各位达人给出答案和原因,谢谢拉
解答:
假设在32位CPU上,
sizeof(long)=4bytes
sizeof(char*)=4bytes
sizeof(shortint)=sizeof(short)=2bytes
sizeof(char)=1bytes
由于是4字节对齐,
sizeof(structBBB)=sizeof(*p)
=4+4+2+1+1/*补齐*/+2*5+2/*补齐*/=24bytes(经Dev-C++验证)
p=0×1000000;
p+0×200=____;
=0×1000000+0×200*24
(Ulong)p+0×200=____;
=0×1000000+0×200
(char*)p+0×200=____;
=0×1000000+0×200*4
你可以参考一下指针运算的细节
2、运用四色定理,为N个局域举行配色,颜色为1、2、3、4四种,另有数组adj[][N],如adj[i][j]=1则表示i区域与j区域相邻,数组color[N],如color[i]=1,表示i区域的颜色为1号颜色。
四色填充
3、用递归算法判断数组a[N]是否为一个递增数组。
递归的方法,记录当前最大的,并且判断当前的是否比这个还大,大则继续,否则返回false结束:
boolfun(inta[],intn)
{
if(n==1)
returntrue;
if(n==2)
returna[n-1]>=a[n-2];
returnfun(a,n-1)&&(a[n-1]>=a[n-2]);
}
4、编写算法,从10亿个浮点数当中,选出其中最大的10000个。
用外部排序,在《数据结构》书上有
《计算方法导论》在找到第n大的数的算法上加工
5、编写一unix程序,防止僵尸进程的出现.
3.可怕的题目终于来了
象搜索的输入信息是一个字符串,统计300万输入信息中的最热门的前十条,我们每次输入的一个字符串为不超过255byte,内存使用只有1G,
请描述思想,写出算发(c语言),空间和时间复杂度,
4.国内的一些帖吧,如baidu,有几十万个主题,假设每一个主题都有上亿的跟帖子,怎么样设计这个系统速度最好,请描述思想,写出算发(c语言),空间和时间复杂度,
1.简述一个Linux驱动程序的主要流程与功能。
2.请列举一个软件中时间换空间或者空间换时间的例子。
voidswap(inta,intb)
{
intc;c=a;a=b;b=a;
}
—>空优
voidswap(inta,intb)
{
a=a+b;b=a-b;a=a-b;
}
6.请问一下程序将输出什么结果?
char*RetMenory(void)
{
charp[]=“hellowworld”;
returnp;
}
voidTest(void)
{
char*str=NULL;
str=RetMemory();
printf(str);
}
RetMenory执行完毕,p资源被回收,指向未知地址。
返回地址,str的内容应是不可预测的,打印的应该是str的地址
写一个函数,它的原形是intcontinumax(char*outputstr,char*intputstr)
功能:
在字符串中找出连续最长的数字串,并把这个串的长度返回,并把这个最长数字串付给其中一个函数参数outputstr所指内存。
例如:
”abcd12345ed125ss123456789″的首地址传给intputstr后,函数将返回
9,outputstr所指的值为123456789
intcontinumax(char*outputstr,char*inputstr)
{
char*in=inputstr,*out=outputstr,*temp,*final;
intcount=0,maxlen=0;
while(*in!
=‘\0′)
{
if(*in>47&&*in<58)
{
for(temp=in;*in>47&&*in<58;in++)
count++;
}
else
in++;
if(maxlen { maxlen=count; count=0; final=temp; } } for(inti=0;i { *out=*final; out++; final++; } *out=‘\0′; returnmaxlen; } 不用库函数,用C语言实现将一整型数字转化为字符串 方法1: intgetlen(char*s){ intn; for(n=0;*s! =‘\0′;s++) n++; returnn; } voidreverse(chars[]) { intc,i,j; for(i=0,j=getlen(s)–1;i c=s[i]; s[i]=s[j]; s[j]=c; } } voiditoa(intn,chars[]) { inti,sign; if((sign=n)<0) n=-n; i=0; do{/*以反序生成数字*/ s[i++]=n%10+’0′;/*getnextnumber*/ }while((n/=10)>0);/*deletethenumber*/ if(sign<0) s[i++]=‘-’; s[i]=‘\0′; reverse(s); } 方法2: #include usingnamespacestd; voiditochar(intnum); voiditochar(intnum) { inti=0; intj; charstra[10]; charstrb[10]; while(num) { stra[i++]=num%10+48; num=num/10; } stra[i]=‘\0′; for(j=0;j { strb[j]=stra[i-j-1]; } strb[j]=‘\0′; cout<} intmain() { intnum; cin>>num; itochar(num); return0; } 以下文字仅用于测试排版效果,请使用时删除! 冬是清寒的。 站在有风的地方,悄然回首,看见来时的路。 一路有花的娇艳,有草的青葱,有树的挺拔,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新C语言编程题范文模板 12页 最新 语言 编程 范文 模板 12