大连理工大学C语言机房模拟试题之程序设计题全Word下载.doc

上传人:wj 文档编号:6958148 上传时间:2023-05-07 格式:DOC 页数:19 大小:181.50KB
下载 相关 举报
大连理工大学C语言机房模拟试题之程序设计题全Word下载.doc_第1页
第1页 / 共19页
大连理工大学C语言机房模拟试题之程序设计题全Word下载.doc_第2页
第2页 / 共19页
大连理工大学C语言机房模拟试题之程序设计题全Word下载.doc_第3页
第3页 / 共19页
大连理工大学C语言机房模拟试题之程序设计题全Word下载.doc_第4页
第4页 / 共19页
大连理工大学C语言机房模拟试题之程序设计题全Word下载.doc_第5页
第5页 / 共19页
大连理工大学C语言机房模拟试题之程序设计题全Word下载.doc_第6页
第6页 / 共19页
大连理工大学C语言机房模拟试题之程序设计题全Word下载.doc_第7页
第7页 / 共19页
大连理工大学C语言机房模拟试题之程序设计题全Word下载.doc_第8页
第8页 / 共19页
大连理工大学C语言机房模拟试题之程序设计题全Word下载.doc_第9页
第9页 / 共19页
大连理工大学C语言机房模拟试题之程序设计题全Word下载.doc_第10页
第10页 / 共19页
大连理工大学C语言机房模拟试题之程序设计题全Word下载.doc_第11页
第11页 / 共19页
大连理工大学C语言机房模拟试题之程序设计题全Word下载.doc_第12页
第12页 / 共19页
大连理工大学C语言机房模拟试题之程序设计题全Word下载.doc_第13页
第13页 / 共19页
大连理工大学C语言机房模拟试题之程序设计题全Word下载.doc_第14页
第14页 / 共19页
大连理工大学C语言机房模拟试题之程序设计题全Word下载.doc_第15页
第15页 / 共19页
大连理工大学C语言机房模拟试题之程序设计题全Word下载.doc_第16页
第16页 / 共19页
大连理工大学C语言机房模拟试题之程序设计题全Word下载.doc_第17页
第17页 / 共19页
大连理工大学C语言机房模拟试题之程序设计题全Word下载.doc_第18页
第18页 / 共19页
大连理工大学C语言机房模拟试题之程序设计题全Word下载.doc_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

大连理工大学C语言机房模拟试题之程序设计题全Word下载.doc

《大连理工大学C语言机房模拟试题之程序设计题全Word下载.doc》由会员分享,可在线阅读,更多相关《大连理工大学C语言机房模拟试题之程序设计题全Word下载.doc(19页珍藏版)》请在冰点文库上搜索。

大连理工大学C语言机房模拟试题之程序设计题全Word下载.doc

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);

--------

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2