程序设计部分试题及答案.docx

上传人:b****7 文档编号:9249240 上传时间:2023-02-03 格式:DOCX 页数:25 大小:17.70KB
下载 相关 举报
程序设计部分试题及答案.docx_第1页
第1页 / 共25页
程序设计部分试题及答案.docx_第2页
第2页 / 共25页
程序设计部分试题及答案.docx_第3页
第3页 / 共25页
程序设计部分试题及答案.docx_第4页
第4页 / 共25页
程序设计部分试题及答案.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

程序设计部分试题及答案.docx

《程序设计部分试题及答案.docx》由会员分享,可在线阅读,更多相关《程序设计部分试题及答案.docx(25页珍藏版)》请在冰豆网上搜索。

程序设计部分试题及答案.docx

程序设计部分试题及答案

第1题/*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:

从键盘为一维整型数组输入10个整数,调用fun

函数找出其中最小的数,并在main函数中输出。

请编写fun函数。

-------------------------------------------------*/

#include"stdio.h"

voidwwjt();

intfun(intx[],intn)

{

/**********Program**********/

/**********End**********/

}

main()

{

inta[10],i,min;

for(i=0;i<10;i++)

scanf("%d",&a[i]);

for(i=0;i<10;i++)

printf("%3d",a[i]);

printf("\n");

min=fun(a,10);

printf("%d\n",min);

wwjt();

}

voidwwjt()

{

FILE*IN,*OUT;

intiIN[10],i;

intiOUT,iCOUNT;

IN=fopen("4.IN","r");

if(IN==NULL)

{

printf("PleaseVerifyTheCurrerntDir..itMayBeChanged");

}

OUT=fopen("4.out","w");

if(OUT==NULL)

{

printf("PleaseVerifyTheCurrentDir..itMayBeChanged");

}

for(i=0;i<10;i++)

{

for(iCOUNT=0;iCOUNT<10;iCOUNT++)

fscanf(IN,"%d",&iIN[iCOUNT]);

iOUT=fun(iIN,10);

fprintf(OUT,"%d\n",iOUT);

}

fclose(IN);

fclose(OUT);

}

参考答案

----------------------

intmin,i;

min=x[0];

for(i=1;i

{if(x[i]

returnmin;

----------------------

 

第2题/*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:

从字符串s中删除指定的字符c。

-------------------------------------------------*/

#include

voidwwjt();

fun(chars[],charc)

{

/**********Program**********/

/**********End**********/

}

main()

{

staticcharstr[]="turbocandborlandc++";

charc='a';

fun(str,c);

printf("str=%s\n",str);

wwjt();

}

voidwwjt()

{

FILE*IN,*OUT;

charsin[80],cIN;

inti;

IN=fopen("13.IN","r");

if(IN==NULL)

{

printf("PleaseVerifyTheCurrerntDir..itMayBeChanged");

}

OUT=fopen("13.out","w");

if(OUT==NULL)

{

printf("PleaseVerifyTheCurrentDir..itMayBeChanged");

}

for(i=0;i<10;i++)

{

fscanf(IN,"%s",sin);

cIN=getc(IN);cIN=getc(IN);

fun(sin,cIN);

fprintf(OUT,"%s\n",sin);

}

fclose(IN);

fclose(OUT);

}

参考答案

----------------------

inti,k=0;

for(i=0;s[i]!

='\0';i++)

if(s[i]!

=c)s[k++]=s[i];

s[k]='\0';

----------------------

 

第3题/*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:

求出二维数组周边元素之和,作为函数值返回。

维数组的值在主函数中赋予。

-------------------------------------------------*/

#defineM4

#defineN5

#include

voidwwjt();

intfun(inta[M][N])

{

/**********Program**********/

/**********End**********/

}

main()

{

inta[M][N]={{1,3,5,7,9},{2,4,6,8,10},{2,3,4,5,6},{4,5,6,7,8}};

inty;

y=fun(a);

printf("s=%d\n",y);

wwjt();

}

voidwwjt()

{

FILE*IN,*OUT;

intiIN[M][N],iOUT;

inti,j,k;

IN=fopen("14.IN","r");

if(IN==NULL)

{printf("PleaseVerifyTheCurrerntDir..itMayBeChanged");

}

OUT=fopen("14.out","w");

if(OUT==NULL)

{printf("PleaseVerifyTheCurrentDir..itMayBeChanged");

}

for(k=0;k<10;k++)

{for(i=0;i

for(j=0;j

fscanf(IN,"%d",&iIN[i][j]);

iOUT=fun(iIN);

fprintf(OUT,"%d\n",iOUT);

}

fclose(IN);

fclose(OUT);

}

参考答案

----------------------

ints=0;

inti,j;

for(i=0;i

s=s+a[i][0]+a[i][N-1];

for(j=1;j

s=s+a[0][j]+a[M-1][j];

returns;

----------------------

 

第4题/*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:

求一个四位数的各位数字的立方和

------------------------------------------------*/

#include

voidwwjt();

intfun(intn)

{

/**********Program**********/

/**********End**********/

}

main()

{

intk;

k=fun(1234);

printf("k=%d\n",k);

wwjt();

}

voidwwjt()

{

FILE*IN,*OUT;

intiIN,iOUT,i;

IN=fopen("22.IN","r");

if(IN==NULL)

{

printf("PleaseVerifyTheCurrerntDir..itMayBeChanged");

}

OUT=fopen("22.out","w");

if(OUT==NULL)

{

printf("PleaseVerifyTheCurrentDir..itMayBeChanged");

}

for(i=0;i<10;i++)

{

fscanf(IN,"%d",&iIN);

iOUT=fun(iIN);

fprintf(OUT,"%d\n",iOUT);

}

fclose(IN);

fclose(OUT);

}

参考答案

----------------------

intd,k,s=0;

while(n>0)

{d=n%10;

s+=d*d*d;

n/=10;

}

returns;

----------------------

第5题/*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:

计算并输出给定整数n的所有因子之和(不包括1与

自身)。

注意:

n的值不大于1000。

例如:

n的值为855时,应输出704。

------------------------------------------------*/

#include

voidwwjt();

intfun(intn)

{

/**********Program**********/

/**********End**********/

}

main()

{

printf("s=%d\n",fun(855));

wwjt();

}

voidwwjt()

{

FILE*IN,*OUT;

intiIN,iOUT,i;

IN=fopen("in.dat","r");

if(IN==NULL)

{

printf("PleaseVerifyTheCurrerntDir..itMayBeChanged");

}

OUT=fopen("out.dat","w");

if(OUT==NULL)

{

printf("PleaseVerifyTheCurrentDir..itMayBeChanged");

}

for(i=0;i<5;i++)

{

fscanf(IN,"%d",&iIN);

iOUT=fun(iIN);

fprintf(OUT,"%d\n",iOUT);

}

fclose(IN);

fclose(OUT);

}

参考答案

----------------------

ints=0,i;

for(i=2;i

if(n%i==0)s=s+i;

returns;

----------------------

第6题/*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:

编写程序,实现矩阵(3行3列)的转置(即行列互换)

例如:

输入下面的矩阵:

100200300

400500600

700800900

程序输出:

100400700

200500800

300600900

------------------------------------------------*/

#include

voidwwjt();

intfun(intarray[3][3])

{

/**********Program**********/

/**********End**********/

}

main()

{

inti,j;

intarray[3][3]={{100,200,300},

{400,500,600},

{700,800,900}};

for(i=0;i<3;i++)

{

for(j=0;j<3;j++)

printf("%7d",array[i][j]);

printf("\n");

}

fun(array);

printf("Convertedarray:

\n");

for(i=0;i<3;i++)

{

for(j=0;j<3;j++)

printf("%7d",array[i][j]);

printf("\n");

}

wwjt();

}

voidwwjt()

{

inti,j,array[3][3];

FILE*rf,*wf;

rf=fopen("in.dat","r");

wf=fopen("out.dat","w");

for(i=0;i<3;i++)

for(j=0;j<3;j++)

fscanf(rf,"%d",&array[i][j]);

fun(array);

for(i=0;i<3;i++)

{

for(j=0;j<3;j++)

fprintf(wf,"%7d",array[i][j]);

fprintf(wf,"\n");

}

fclose(rf);

fclose(wf);

}

参考答案

----------------------

inti,j,t;

for(i=0;i<3;i++)

for(j=0;j

{t=array[i][j];

array[i][j]=array[j][i];

array[j][i]=t;}

----------------------

第7题/*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:

判断一个整数w的各位数字平方之和能否被5整除,

可以被5整除则返回1,否则返回0。

------------------------------------------------*/

#include

#include"conio.h"

voidwwjt();

intfun(intw)

{

/**********Program**********/

/**********End**********/

}

main()

{

intm;

printf("Enterm:

");

scanf("%d",&m);

printf("\nTheresultis%d\n",fun(m));

wwjt();

}

voidwwjt()

{

FILE*IN,*OUT;

intc;

intt;

into;

IN=fopen("in.dat","r");

if(IN==NULL)

{

printf("ReadFILEError");

}

OUT=fopen("out.dat","w");

if(OUT==NULL)

{

printf("WriteFILEError");

}for(c=1;c<=5;c++)

{

fscanf(IN,"%d",&t);

o=fun(t);

fprintf(OUT,"%d\n",o);

}

fclose(IN);

fclose(OUT);

}

参考答案

----------------------

intk,s=0;

do

{s=s+(w%10)*(w%10);

w=w/10;

}while(w!

=0);

if(s%5==0)k=1;

elsek=0;

return(k);

----------------------

第8题/*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:

调用函数fun判断一个三位数是否"水仙花数"。

在main函数中从键盘输入一个三位数,并输

出判断结果。

请编写fun函数。

说明:

所谓"水仙花数"是指一3位数,其各位数字立方和

等于该数本身。

例如:

153是一个水仙花数,因为153=1+125+27。

------------------------------------------------*/

#include

voidwwjt();

intfun(intn)

{

/**********Program**********/

/**********End**********/

}

main()

{

intn,flag;

scanf("%d",&n);

flag=fun(n);

if(flag)

printf("%d是水仙花数\n",n);

else

printf("%d不是水仙花数\n",n);

wwjt();

}

voidwwjt()

{

FILE*IN,*OUT;

intiIN,i;

intiOUT;

IN=fopen("in.dat","r");

if(IN==NULL)

{

printf("PleaseVerifyTheCurrerntDir..itMayBeChanged");

}

OUT=fopen("out.dat","w");

if(OUT==NULL)

{

printf("PleaseVerifyTheCurrentDir..itMayBeChanged");

}

for(i=0;i<10;i++)

{

fscanf(IN,"%d",&iIN);

iOUT=fun(iIN);

fprintf(OUT,"%d\n",iOUT);

}

fclose(IN);

fclose(OUT);

}

参考答案

----------------------

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;

----------------------

第9题/*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:

编写函数fun其功能是:

根据整型形参m,计算如下

公式的值:

y=1+1/3+1/5+1/7+…+1/(2m+1)

例如:

若m=9,则应输出:

2.133256

------------------------------------------------*/

#include

voidwwjt();

doublefun(intm)

{

/**********Program**********/

/**********End**********/

}

main()

{

intn;

printf("Entern:

");

scanf("%d",&n);

printf("\nTheresultis%1f\n",fun(n));

wwjt();

}

voidwwjt()

{

FILE*IN,*OUT;

ints,i;

intt;

floato;

IN=fopen("in.dat","r");

if(IN==NULL)

{

printf("ReadFILEError");

}

OUT=fopen("out.dat","w");

if(OUT==NULL)

{

printf("WriteFILEError");

}

for(i=0;i<5;i++)

{

fscanf(IN,"%d",&t);

o=fun(t);

fprintf(OUT,"%f\n",o);

}

fclose(IN);

fclose(OUT);

}

参考答案

----------------------

doubley=1;

inti;

for(i=1;i<=m;i++)

{y+=1.0/(2*i+1);}

return(y);

----------------------

第10题*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:

对任意输入的x,用下式计算并输出y的值。

-1x<0

y=0x=0

1x>0

------------------------------------------

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

当前位置:首页 > 高等教育 > 哲学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1