电子科技大学820计算机复试自己编写C复试答案Word格式文档下载.docx
- 文档编号:14628126
- 上传时间:2022-10-23
- 格式:DOCX
- 页数:48
- 大小:45.75KB
电子科技大学820计算机复试自己编写C复试答案Word格式文档下载.docx
《电子科技大学820计算机复试自己编写C复试答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《电子科技大学820计算机复试自己编写C复试答案Word格式文档下载.docx(48页珍藏版)》请在冰豆网上搜索。
structLNode*p,*q;
p=Head->
Head->
while(p)//注意这里,重点在这里!
{
q=p->
p->
next=Head->
Head->
p=q;
}
while(p)
printf("
%-4d"
p->
val);
p=p->
printf("
\n"
);
voidmain()
inti,e,n;
structLNode*p,*Head,*q;
Head=(structLNode*)malloc(sizeof(structLNode));
p=Head;
输入建立单链表所需的整数个数:
"
scanf("
%d"
&
n);
输入%d个数据,以回车键隔开:
n);
for(i=0;
i<
n;
i++)
q=(structLNode*)malloc(sizeof(structLNode));
scanf("
e);
q->
val=e;
next=q;
p->
//至关重要的一步!
!
建立单链表的结果如下\n"
/* for(i=0;
5;
%-7d"
LNode[i].val);
*/
单链表逆序结果如下:
reverse(Head);
2、计算1-x+x^2/2!
-x^3/3!
+...+x^n/n!
,x是单浮点数,n是整数(考频:
3次)
{
intj,n,flag=-1;
floatx,sum1=1,sum2=1,sum=1;
请输入求和用到的x和n,用英文逗号隔开\n"
%f,%d"
x,&
if(n==0)//等于和赋值弄错了!
!
求和的值为1.0\n"
return;
for(j=1;
j<
=n;
j++)
sum1*=x;
sum2*=j;
sum+=flag*(sum1/sum2);
flag=-flag;
求和的值=%f\n\n"
sum);
3、数质因数分解(考频:
2次)
#defineN20
intisPrime(intn)
inti=2;
while(n%i!
=0)
i++;
if(i==n)
return1;
else
return0;
intnum,i,a[N],j=-1;
请输入需要分解的正整数:
num);
%d="
num);
if(num<
输入数据错误!
请重新输入!
while(num>
=4)
for(i=2;
=num;
if(num%i==0&
&
isPrime(i))
{
a[++j]=i;
num/=i;
break;
}
if(num>
1)
a[++j]=num;
=j;
a[i]);
if(i<
j)
printf("
*"
4、字符串逆序,不申请新的数组空间
string.h>
#defineN100
voidreverse(charstr[])
intlen,i;
chartemp;
len=strlen(str);
(len/2);
i++)//次数这里出错,相当于没有交换
temp=str[i];
str[i]=str[len-i-1];
str[len-i-1]=temp;
// str[i]='
\0'
;
结束符一直在
char str[N],*res;
请输入字符串:
%s"
str);
reverse(str);
逆序的结果如下:
\n%s\n"
5、file1的内容全部复制到file2中,且在file2的每一行都要加上行号,最后返回file1中的字符个数。
stdlib.h>
/*
FILE*fp1,*fp2;
fp1=fopen("
c:
\\1.txt"
"
r"
//重要,不存在不会创建新文件!
if(fp1!
=NULL)
成功打开\n"
*/
#defineMAX1000
charc='
\n'
1.txt"
fp2=fopen("
2.txt"
w"
while(!
feof(fp1))
char temp[MAX];
fgets(temp,MAX,fp1);
//每次都读到换行符结束,换行符算一位,字符串最后面一定是'
,有换行符则加在'
前面,'
==10==换行符
fputs(temp,fp2);
fclose(fp1);
fclose(fp2);
}*/
intcounts=0,row=1;
file1.txt"
file2.txt"
w+"
temp=fgetc(fp1);
if(temp!
=32&
temp!
='
=EOF)//32代表'
'
10代表'
++counts;
}
)
fputc(temp,fp2);
else
fprintf(fp2,"
行号为:
row++);
fprintf(fp2,"
row);
file1.doc文件中的字符总数为:
%d\n"
counts);
5、分数四则运算
longgcd(longm,longn)
while(n)
longt=m%n;
m=n;
n=t;
returnm;
voidcount(charflag,longup1,longup2,longdown1,longdown2)
longt;
switch(flag)
case'
+'
:
up1=up1*down2+up2*down1;
down1=down1*down2;
break;
-'
up1=up1*down2-up2*down1;
*'
up1=up1*up2;
/'
up1=up1*down2;
down2=down1*up2;
t=gcd(up1,down1);
if(up1==down1)
1\n"
%d/%d\n"
up1/t,down1/t);
intmain()
longup1,up2,down1,down2;
charflag;
请输入两个正分数\n"
while(~scanf("
%ld/%ld%c%ld/%ld"
up1,&
down1,&
flag,&
up2,&
down2))
count(flag,up1,up2,down1,down2);
return0;
7、编写一个函数,使之能完成以下功能:
利用递归方法找出一个数组中的最大值和最小值,要求递归调用函数的格式如下:
MinMaxValue(arr,n,&
max,&
min),其中arr是给定的数组,n是数组的个数,max、min分别是最大值和最小值。
#include"
stdio.h"
#defineN10
voidMinMaxValue(intarr[],intn,int*max,int*min)
if(n>
{
if(*max<
arr[n])
*max=arr[n];
if(*min>
*min=arr[n];
MinMaxValue(arr,n-1,max,min);
}
intmax=-32768,min=32767;
inta[]={1,54,23,65,87,12,54,87,98,2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子科技大学 820 计算机 复试 自己 编写 答案