程序设计.docx
- 文档编号:9729243
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:122
- 大小:29.17KB
程序设计.docx
《程序设计.docx》由会员分享,可在线阅读,更多相关《程序设计.docx(122页珍藏版)》请在冰豆网上搜索。
程序设计
16.【程序设计】
--------------------------------------------------
功能:
编写函数fun求1!
+2!
+3!
+……+n!
的和,在main函
数中由键盘输入n值,并输出运算结果。
请编写fun
函数。
例如:
若n值为5,则结果为153。
------------------------------------------------*/
#include
voidwwjt();
longintfun(intn)
{
/**********Program**********/
/**********End**********/
}
main()
{
intn;
longintresult;
scanf("%d",&n);
result=fun(n);
printf("%ld\n",result);
wwjt();
}
voidwwjt()
{
FILE*IN,*OUT;
inti;
intiIN;
longintiOUT;
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,"%ld\n",iOUT);
}
fclose(IN);
fclose(OUT);
}
答案:
----------------------
inti;
floatf=1,s=0;
for(i=1;i<=n;i++)
{f=f*i;
s=s+f;}
returns;
----------------------
/*-----------------------------------------------
23.【程序设计】
--------------------------------------------------
功能:
从键盘输入一个大于3的整数,调用函数fun判断
其是否素数,然后在main函数中输出相应的结论
信息。
例如:
7是素数,8不是素数。
请编写fun函数。
素数是
仅能被1和自身整除的数
-------------------------------------------------*/
#include
voidwwjt();
intfun(intn)
{
/**********Program**********/
/**********End**********/
}
main()
{
intm,flag;
printf("inputaninteger:
");
scanf("%d",&m);
flag=fun(m);
if(flag)
printf("%disaprime.\n",m);
else
printf("%disnotaprime.\n",m);
wwjt();
}
voidwwjt()
{
FILE*IN,*OUT;
intiIN,iOUT,i;
IN=fopen("5.IN","r");
if(IN==NULL)
{
printf("PleaseVerifyTheCurrerntDir..itMayBeChanged");
}
OUT=fopen("5.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);
}
答案:
----------------------
inti;
intj;
j=1;
for(i=2;i{if(n%i==0)j=0;
}
returnj;
----------------------
/*------------------------------------------------
29.【程序设计】
--------------------------------------------------
功能:
对任意输入的x,用下式计算并输出y的值。
5x<10
y=0x=10
-5x>10
------------------------------------------------*/
#include
voidwwjt();
intfun(intn)
{
/**********Program**********/
/**********End**********/
}
voidmain()
{
intx,y;
printf("enterx:
");
scanf("%d",&x);
y=fun(x);
printf("x=%d,y=%d\n",x,y);
wwjt();
}
voidwwjt()
{
FILE*IN,*OUT;
inti;
intiIN;
longintiOUT;
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,"%ld\n",iOUT);
}
fclose(IN);
fclose(OUT);
}
答案:
intm;
if(n<10)
m=5;
else
if(n==10)m=0;
elsem=-5;
returnm;
或
intm;
if(n>=10)
if(n>10)
m=-5;
elsem=0;
elsem=5;
returnm;
/*------------------------------------------------
44.【程序设计】
--------------------------------------------------
功能:
求出二维数组周边元素之和,作为函数值返回。
二
维数组的值在主函数中赋予。
-------------------------------------------------*/
#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;ifor(j=0;jfscanf(IN,"%d",&iIN[i][j]);
iOUT=fun(iIN);
fprintf(OUT,"%d\n",iOUT);
}
fclose(IN);
fclose(OUT);
}
答案:
----------------------
ints=0;
inti,j;
for(i=0;is=s+a[i][0]+a[i][N-1];
for(j=1;js=s+a[0][j]+a[M-1][j];
returns;
----------------------
/*------------------------------------------------
53.【程序设计】
--------------------------------------------------
功能:
求一个四位数的各位数字的立方和
------------------------------------------------*/
#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;
----------------------
*------------------------------------------------
310.【程序设计】
--------------------------------------------------
功能:
计算并输出给定整数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;iif(n%i==0)s=s+i;
returns;
----------------------
/*------------------------------------------------
312.【程序设计】
--------------------------------------------------
功能:
调用函数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;
----------------------
/*------------------------------------------------
315.【程序设计】
--------------------------------------------------
功能:
将主函数中输入的字符串反序存放。
例如:
输入字符串“abcdefg”,则应输出“gfedcba”。
------------------------------------------------*/
#include
#include
#include
#defineN81
voidwwjt();
voidfun(char*str,intn)
{
/**********Program**********/
/**********End**********/
}
main()
{
chars[N];
intl;
printf("inputastring:
");gets(s);
l=strlen(s);
fun(s,l);
printf("Thenewstringis:
");puts(s);
wwjt();
}
voidwwjt()
{
FILE*IN,*OUT;
charsin[20],*sOUT;
intiLENGTH;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("PleaseVerifyTheCurrerntDir..itMayBeChanged");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("PleaseVerifyTheCurrentDir..itMayBeChanged");
}
fscanf(IN,"%s",sin);
iLENGTH=strlen(sin);
sOUT=sin;
fun(sin,iLENGTH);
fprintf(OUT,"%s\n",sOUT);
fclose(IN);
fclose(OUT);
}
答案:
----------------------
inti,j;
charc;
for(i=0,j=n-1;i{c=*(str+i);
*(str+i)=*(str+j);
*(str+j)=c;}
----------------------
/*------------------------------------------------
317.【程序设计】
--------------------------------------------------
功能:
求出N×M整型数组的最大元素及其所在的行坐标及
列坐标(如果最大元素不唯一,选择位置在最前面
的一个)。
例如:
输入的数组为:
123
4156
12189
10112
求出的最大数为18,行坐标为2,列坐标为1。
------------------------------------------------*/
#defineN4
#defineM3
#include
voidwwjt();
intRow,Col;
intfun(intarray[N][M])
{
/**********Program**********/
/**********End**********/
}
main()
{
inta[N][M],i,j,max;
printf("inputaarray:
");
for(i=0;ifor(j=0;jscanf("%d",&a[i][j]);
for(i=0;i{
for(j=0;jprintf("%d",a[i][j]);
printf("\n");
}
max=fun(a);
printf("max=%d,row=%d,col=%d",max,Row,Col);
wwjt();
}
voidwwjt()
{
FILE*IN,*OUT;
intiIN[N][M],iOUT,i,j;
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;ifor(j=0;jfscanf(IN,"%d",&iIN[i][j]);
iOUT=fun(iIN);
fprintf(OUT,"%d%d%d\n",iOUT,Row,Col);
fclose(IN);
fclose(OUT);
}
答案:
----------------------
intmax,i,j;
max=array[0][0];
Row=0;
Col=0;
for(i=0;i{for(j=0;jif(max{max=array[i][j];
Row=i;
Col=j;}
}
return(max);
----------------------
/*------------------------------------------------
318.【程序设计】
--------------------------------------------------
功能:
输入一个字符串,过滤此串,只保留串中的字母字
符,并统计新生成串中包含的字母个数。
例如:
输入的字符串为ab234$df4,新生成的串为abdf。
------------------------------------------------*/
#include
#include
#defineN80
voidwwjt();
fun(char*ptr)
{
/**********Program**********/
/**********End**********/
}
main()
{
charstr[N];
ints;
printf("inputastring:
");gets(str);
printf("TheorigINalstringis:
");puts(str);
s=fun(str);
printf("Thenewstringis:
");puts(str);
printf("Thereare%dcharINthenewstring.",s);
wwjt();
}
voidwwjt()
{
FILE*IN,*OUT;
charsin[N];
intiOUT;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("PleaseVerifyTheCurr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计