大连理工大学C语言机房模拟试题之程序设计题全Word下载.doc
- 文档编号:6958148
- 上传时间:2023-05-07
- 格式:DOC
- 页数:19
- 大小:181.50KB
大连理工大学C语言机房模拟试题之程序设计题全Word下载.doc
《大连理工大学C语言机房模拟试题之程序设计题全Word下载.doc》由会员分享,可在线阅读,更多相关《大连理工大学C语言机房模拟试题之程序设计题全Word下载.doc(19页珍藏版)》请在冰点文库上搜索。
strlen(str))
{
printf("
删除位置i和待删字符个数n的值错!
请重新输入i和n的值\n"
scanf("
}
fun(str,i,n);
删除后的字符串str是:
TestFunc();
}
voidfun(charstr[],inti,intn)
/*********Begin**********/
while(str[i+n-1])
{
str[i-1]=str[i+n-1];
i++;
}
str[i-1]='
\0'
;
/*或
intj=i-1,k=i+n-1;
while((str[j++]=str[k++])!
='
*/
/**********End**********/
voidTestFunc()
FILE*IN,*OUT;
chari[200];
/*charo[200];
IN=fopen("
in.dat"
"
r"
if(IN==NULL)
ReadFileError"
OUT=fopen("
out.dat"
w"
if(OUT==NULL)
WriteFileError"
fscanf(IN,"
i);
fun(i,2,8);
fprintf(OUT,"
fclose(IN);
fclose(OUT);
请编一个函数voidfun(inttt[M][N],intpp[N]),
tt指向一个M行N列的二维数组,求出二维数组每列
中最小元素,并依次放入pp所指一维数组中。
二维
数组中的数已在主函数中赋予。
conio.h"
#defineM3
#defineN4
voidfun(inttt[M][N],intpp[N])
inti,j;
for(j=0;
j<
N;
j++)
{
pp[j]=tt[0][j];
for(i=1;
i<
M;
i++)
if(tt[i][j]<
pp[j])
pp[j]=tt[i][j];
intt[M][N]={{22,45,56,30},{19,33,45,38},{20,22,66,40}};
voidNONO();
intp[N],i,j,k;
Theoriginaldatais:
for(i=0;
for(j=0;
printf("
%6d"
t[i][j]);
fun(t,p);
\nTheresultis:
for(k=0;
k<
k++)printf("
%4d"
p[k]);
NONO();
【程序设计】1685
能计算从1开始到n的自然数的和,n由键盘输入,
并在main()函数中输出。
intfun(intn)
intsum=0,i;
for(i=1;
=n;
sum=sum+i;
return(sum);
main()
intm;
Enterm:
"
%d"
&
m);
\nTheresultis%d\n"
fun(m));
}
【程序设计】1599
调用函数fun判断一个三位数是否"
水仙花数"
。
在main函数中从键盘输入一个三位数,并输
出判断结果。
请编写fun函数。
说明:
所谓"
是指一3位数,其各位数字立方和
等于该数本身。
例如:
153是一个水仙花数,因为153=1+125+27。
intbw,sw,gw;
bw=n/100;
sw=(n-bw*100)/10;
gw=n%10;
if(n==bw*bw*bw+sw*sw*sw+gw*gw*gw)return1;
elsereturn0;
intn,flag;
flag=fun(n);
if(flag)
%d是水仙花数\n"
n);
else
%d不是水仙花数\n"
/*--------------------------------------------------------------
----------------------------------------------------------------
编写函数sum(intm,intn),求出m~n之间(包括m和n,m<
n)能同时
被3和5整除的数的和,并将这些数的和作为返回值。
---------------------------------------------------------------*/
intsum(intm,intn)
inti,s=0;
for(i=m;
if(i%3==0&
&
i%5==0)
s+=i;
returns;
intm=15,n=300;
sum=%d\n"
sum(m,n));
求5行5列矩阵的主、副对角线上元素之和。
注意,
两条对角线相交的元素只加一次。
主函数中给出的矩阵的两条对角线的和为45。
#defineM5
intfun(inta[M][M])
s+=a[i][i]+a[i][M-i-1];
s-=a[(M-1)/2][(M-1)/2];
inta[M][M]={{1,3,5,7,9},{2,4,6,8,10},{2,3,4,5,6},{4,5,6,7,8},{1,3,4,5,6}};
inty;
y=fun(a);
s=%d\n"
y);
根据整型形参m,计算如下公式的值:
y=1/5+1/6+1/7+1/8+1/9+1/10...+1/(m+5)
若m=9,则应输出:
1.168229
doublefun(intm)
inti;
doubley=0;
=m;
y+=1./(i+5);
returny;
intn;
Entern:
\nTheresultis%1f\n"
fun(n));
求一批数中最大值和最小值的积。
#defineN30
stdlib.h"
intmax_min(inta[],intn)
inti,max,min;
max=min=a[0];
for(i=1;
n;
if(a[i]>
max)max=a[i];
if(a[i]<
min)min=a[i];
returnmax*min;
inta[N],i,k;
a[i]=rand()%51+10;
%5d"
a[i]);
if((i+1)%5==0)printf("
k=max_min(a,N);
theresultis:
%d\n"
k);
//TestFunc();
把20个随机数存入一个数组,然后输出该数组中的
最小值。
其中确定最小值的下标的操作在fun函数中
实现,请给出该函数的定义。
#defineVSIZE20
intvector[VSIZE];
intfun(intlist[],intsize)
inti,min=0;
i<
size;
i++)
if(list[min]>
list[i])
min=i;
returnmin;
/**********End**********/
}
main()
{
for(i=0;
VSIZE;
vector[i]=rand();
Vector[%d]=%6d\n"
i,vector[i]);
}
i=fun(vector,VSIZE);
\nMininum:
Vector[%d]=%6d\n"
}
求k!
(k〈13),所求阶乘的值作为函数值返回。
(要求使用递归)
longfun(intk)
if(k>
0)
return(k*fun(k-1));
elseif(k==0)
return1L;
\nTheresultis%ld\n"
用do-while语句求1~100的累计和。
longintfun(intn)
/*********Begin**********/
inti=1,sum=0;
do
{sum=sum+i;
i++;
}while(i<
=n);
returnsum;
main()
inti=100;
voidTestFunc();
1~100的累加和为:
%ld\n"
fun(i));
TestFunc();
编写程序,实现矩阵(3行3列)的转置(即行列互换)
输入下面的矩阵:
100200300
400500600
700800900
程序输出:
100400700
200500800
300600900
voidfun(intarray[3][3])
/*********Begin**********/
inti,j,t;
for(i=0;
3;
i++)
for(j=0;
j<
i;
j++)
{t=array[i][j];
array[i][j]=array[j][i];
array[j][i]=t;
/*【或】
inti,j,t;
for(j=i+1;
j++)
{
t=array[i][j];
array[i][j]=array[j][i];
array[j][i]=t;
}
inti,j;
intarray[3][3]={{100,200,300},
{400,500,600},
{700,800,900}};
for(j=0;
%7d"
array[i][j]);
fun(array);
Convertedarray:
{
将字符串中的小写字母转换为对应的大写字母,
其它字符不变。
voidchange(charstr[])
inti;
for(i=0;
str[i]!
if(str[i]>
a'
&
str[i]<
z'
)
str[i]=str[i]-32;
voidchange();
charstr[40];
gets(str);
change(str);
puts(str);
--------
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大连理工大学 语言 机房 模拟 试题 程序设计