版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
程序設(shè)計(jì)
一、程序設(shè)計(jì)共113題(共計(jì)1130分)
第1題(10.0分)題號:353
/*--------------------------------------
【程序設(shè)計(jì)】
功能:對長度為7個字符的字符串,除首、尾字符外,將其
余5個字符按降序排列。
例如:原來的字符串為CEAedca,排序后輸出為CedcEAa。
--------------------------------------------------*/
#include<stdio.h>
#include<ctype.h>
#include<conio.h>
voidwjt();
voidfun(char*s,intnum)
(
/**********Prograiii**********/
/**********End**********/
}
mainO
(
chars[10];
printf("輸入7個字符的字符串:");
gets(s);
fun(s,7);
printf("\n%s”,s);
wwjl();
voidwjt()
inri;
chara[100];
FILE*rf,*wf;
rf=fopen("in.dat","r");
wf=fopen("out.dat","w");
for(i=0;i<3;i++)
(
fscanf(rf,飛s",&a);
fun(a,7);
fprintf(wf,“$s”,a);
fprintf(wf,"\n");
fclose(rf);
fclose(wf);
答案:------------------
inti,j;
chart;
for(i=l;i<num-l;i++)
for(j=i+l;j<num-l;j++)
if(s[i]<s[j])
{t=s[i]:s[i]=s[j];s[j]=t;}
第2題(10.0分)題號:310
【程序設(shè)計(jì)】
功能:計(jì)算并輸出給定整數(shù)n的所芍因子之和(不包括1與
自身)。
注意:n的值不大于1000o
例如:n的值為855時,應(yīng)輸出704。
^include<stdio.h>
voidwwjt();
intfun(intn)
/**********Prograni**********/'
/**********End**********/
main()
(
printf(*s=%d\n*?fun(855));
wwjt0;
)
voidwwjt()
(
FILE*IN,*OUT;
intilN,iOUT,i;
IN=fopen("in.dat","r");
if(IN==NULL)
(
printf("PleaseVerifyTheCurrerntDir..itMayBeChanged");
)
0UT=fopen("out.dat","w");
if(OUT==NULL)
(
printf(*PleaseVerifyTheCurrentDir..itMayBeChanged*);
)
for(i=0;i<5;i++)
(
fscanf(IN,
iOUT=fun(iIN);
fprintf(OUT,iOUT);
)
fclose(IN);
fclose(OUT);
答案:
ints=0,i;
for(i=2;i<n;i++)
if(n%i==O)s=s+i;
returns;
第3題(10.0分)題號:378
/*--------------------------
【程序設(shè)計(jì)】
功能:編寫函數(shù)用冒泡排序法對數(shù)組中的數(shù)據(jù)進(jìn)行從小到
大的排序。
-----------------------------------------------------*/
樸include<stdlib.h>
#include<stdio.h>
voidwwjt();
voidsort(inta[],intn)
(
/**********Program**********/'
/**********End**********/
mainO
(
inta[16],i;
for(i=0;i<16;i++)
a[i]=random(30)+15;
for(i=0;i<16;i++)
printf(*%3d*,a[i]);
printf("\n--------------------\n");
sort(a,16);
for(i=0;i<16;i++)
printf(*%3d*,a[i]);
wwjt();
voidwwjt()
FILE*IN,*OUT;
intn;
inti[10];
IN=fopen("in.dat","r");
if(IN==NULL)
(
printfCReadFILEError*);
)
OUT=fopen(〃out.dat〃,"w");
if(OUT==NULL)
(
printffWriteFILEError*);
)
for(n=0;n<10;n++)
(
fscanf(IN,"%d”,&i[n]);
)
sort(i,10);
for(n=0;n<10;n++)
fprintf(OUT,*%d\n*,i[n]);
fclose(IN);
fclose(OUT);
)
答案:-
intitj,t;
for(i-0;i<n-l;i++)
for(j=0;;j++)
if(a[j]>a[j+l])
{t=a[j];
a[j]=a[j+l];
a[j+l]=t;
}
第4題(10.0分)題號:504
/*---------------------------
【程序設(shè)計(jì)】
功能:編寫程序打印如圖1所示圖形。
***
*****
*******
*****
***
*
要求:要求使用abs()o
*/
^include<stdio.h>
^include"math,h”
voidwjt();
voidfun(inti)
(
intm,n;
/**********Program**********/'
/**********End**********/
}
main()
(
fun(3);
)
答案:for(m=-i;m<=i;m++)
(
for(n=0;n<abs(m);n++)printf(*");
for(n=0;n<7-2*abs(m);n++)printf("*");
printf(*\n*);
)
第5題(10.0分)題號:367
/*--------------------------------------------------
【程序設(shè)計(jì)】
功能:找出一批正整數(shù)中的最大的偶數(shù)。
不3f//
#include<stdio.h>
voidwjt();
intfun(inta口,intn)
(
/**********Prograni**********/
/**********End**********/
mainO
(
inta□:{1,2,9,24,35,18},k;
k=fun(a,6);
printf("max=%d\n”,k);
wwjt();
)
voidwwjt()
(
FILE*IN,*OUT;
intilNtlOl.iOULi,j;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("PleaseVerifyTheCurrerntDir..itMayBeChanged*);
)
OUT=fopen(*out.dat〃,"w");
if(OUT==NULL)
printf(*PleaseVerifyTheCurrentDir..itMayBeChanged*);
)
for(j=0;j<10;j++)
(
for(i=0;i<10;i++)
fscanf(IN,ql”,&iIN⑴);
iOUT=fun(iIN,10);
)
fprintf(OUT,*%d\n\iOUT);
fclose(IN);
fclose(OUT);
)
答案:---------------------
inti,amax=1;
for(i=0;i<n;i++)
if(a[i]%2=0)
if(a[i]>amax)amax=a[i]:
returnamax;
第6題(10.0分)題號:383
/*---------------------------
【程序設(shè)計(jì)】
功能:用函數(shù)實(shí)現(xiàn)字符串的復(fù)制,不允許用strcpyO函數(shù)。
--------------------------------------------------+/
#include<stdio.h>
voidwjt();
voidcopy(charstrl[],charstr2[])
(
/**********Program**********/
/**********End**********/
)
main()
(
voidcopy();
charcl[40],c2[40];
gets(cl);
copy(cl,c2);
puts(c2);
wwjt();
)
voidwwjt()
(
FILE*IN,*OUT;
chari[100];
charo[100];
IN=fopcn(*in.dat*,"r");
if(IN==NULL)
(
printfCReadFILEError*);
)
OUT=fopen(*out.dat","w");
if(OUT=NULL)
(
printf(*WriteFILEError*);
)
fscanf(IN,i);
copy(i,o);
fprintf(OUT,*%s\n*,o);
fclose(IN);
fclose(OUT);
)
答案:-----------------------
inti;
for(i=0;strl[i]!=,\0*;i++)
str2[i]=strl[i];
str2[i]=\0*;
第7題(10.0分)題號:56
/*---------
【程序設(shè)計(jì)】
功能:找出?批正整數(shù)中的最大的偶數(shù)。
不3f//
#include<stdio.h>
voidwwjt();
intfun(inta口,intn)
(
/**********Prograni**********/
/**********End**********/
mainO
(
inta□:{1,2,9,24,35,18},k;
k=fun(a,6);
printf("max=%d\n”,k);
wwjt();
)
voidwwjt()
(
FILE*IN,*OUT;
intilNtlOl.iOULi,j;
IN=fopen("28.
if(IN==NULL)
{
printf("PleaseVerifyTheCurrerntDir..itMayBeChanged");
)
OUT=fopen(w28.out","w");
if(OUT==NULL)
printf(*PleaseVerifyTheCurrentDir..itMayBeChanged*);
)
for(j=0;j<10;j++)
(
for(i=0;i<10;i++)
fscanf(IN,ql”,&iIN⑴);
iOUT=fun(iIN,10);
fprintf(OUT,iOUT);
)
fclose(IN);
fclose(OUT);
答案:-
inti,amax=-l;
for(i=0;i<n;iii)
if(a[i]%2==0)
if(a[i]>amax)amax=a[i];
returnamax;
第8題(10.0分)題號:327
【程序設(shè)計(jì)】
功能:能計(jì)算從1開始到n的自然數(shù)的和,n由鍵盤輸入,
并在mainO函數(shù)中輸出。
--------------------------------------------------+/
#include<stdio.h>
voidwjt();
intfun(intn)
(
/**********Program**********/'
/**********End**********/
mainO
(
intm;
printf("Enterm:");
scanf("%d",&m);
printf(*\nTheresultis%d\n*?fun(m));
wwjtO;
)
voidwjt()
(
FILE*IN,*OUT;
intt;
into;
intc;
IN=fopcn(*in.dat*,〃r");
if(IN==NULL)
(
printf("ReadFILEError");
)
OUT=fopen(*out.dat","w");
if(OUT=NULL)
(
printf("WriteFILEError*);
)
for(c=l;c<=5;c++)
(
fscanf(IN,
o=fun(t);
fprintf(OUT,"%d\n”,o);
)
fclose(lN);
fclose(OUT);
}
答案:-
intsum,i;
sum=0;
for(i=l;i<=n;i++)
{sum=sum+i;}
return(sum);
第9題(10.0分)題號:42
/*------------------------
【程序設(shè)計(jì)】
功能:從字符串s中刪除指定的字符c。
★include<stdio.h>
voidwwjt();
fun(chars[],charc)
/**********End**********/
main()
staticcharstr[]=*turbocandborlandc++*;
charc-a;
fun(str,c);
printf(*str=%s\nw,str);
wwjtO;
voidwwjt()
FILE*IN,*OUT;
charsin[80],cIN;
inti;
IN二fopen("13.IN","r");
if(IN==NULL)
(
printf(^PleaseVerifyTheCurrerntDir..itMayBeChanged");
)
0UT=fopen(*13.out","w");
if(OUT==NULL)
(
printfCPleaseVerifyTheCurrentDir..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';
第10題(10.0分)題號:376
/*----------------------------
【程序設(shè)計(jì)】
功能:從鍵盤上輸入任意實(shí)數(shù)x,求出其所對應(yīng)的函數(shù)值。
z=(x-4)的二次案(x>4)
z=x的八次―(x>-4)
z=z=4/(x*(x+D)(x>-10)
z=|x|+20(其他)
*/
^include<math.h>
^include<stdio.h>
voidwjt();
floaty(floatx)
/**********Prograni**********/'
/**********End**********/
)
mainO
(
floatx;
scanf("與f',&x);
piintfry=%f\n",y(x));
wwjt();
)
voidwwjt()
(
FILE*IN,*OUT;
intn;
floati;
floato;
IN=fopenCxin.dat","r");
if(IN==NULL)
(
printf(*ReadFILEError*);
)
OUT=fopen(*out.dat","w");
if(OUT=NULL)
(
printfCWriteFILEError*);
)
for(n=0;n<10;n++)
(
fscanf(IN,
o=y(i);
fprintf(OUT,"%f\n",o);
)
fclosc(IN);
fclose(OUT);
答案:-------------------------
floatz;
if(x>4)z=sqrt(x-4):
elseif(x>-4)z=pow(x,8);
elseif(x>-10)z=4/(x*(x+l));
elsez=fabs(x)+20;
return(z);
第11題GO.O分)題號:362
【程序設(shè)計(jì)】
功能:求給定正整數(shù)m以內(nèi)的素?cái)?shù)之和。
例如:當(dāng)m=20時,函數(shù)值為77。
--------------------------------------------------*/
4include<stdio.h>
voidwjt();
intfun(intm)
/**********Program**********/
/**********End**********/
)
main()
(
inty;
y=fun(20);
printf("y=%d\n”,y);
wwjt();
voidwwjt()
(
FILE*IN,*OUT;
intilN,iOUT,i;
IN=fopen(*in.dat","r");
if(IN==NULL)
(
printf(^PleaseVerifyTheCurrerntDir..itMayBeChanged");
)
0UT=fopen(*out.dat","w");
if(OUT==NULL)
(
printf(*PleaseVerifyTheCurrentDir..itMayBeChanged");
)
for(i=0;i<5;in)
(
fscanf(IN,
iOUT=fun(iIN);
fprintf(OUT,iOUT);
)
fclose(IN);
fclose(OUT);
答案:-一
inti,k,s=0;
for(i=2;i<=m;i++)
{for(k=2;k<i;k++)
if(i%k—O)break;
if(k==i)s=s+i;
)
returns;
第12題(10.0分)題號:364
/*------
【程序設(shè)計(jì)】
功能:求?個四位數(shù)的各位數(shù)字的立方和。
#include<stdio.h>
voidwwjtO;
intfun(intn)
(
/**********Program**********/,
/**********End**********/
mainO
(
intk;
k=fun(1234);
printf(*k=%d\n*?k);
wwjt();
)
voidwwjt()
(
FILE*IN,*OUT;
intilN,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);
)
答案:-
intd,s=0;
while(n>0)
{d=n%10;
s+=d*d*d;
n/=10;
}
returns;
第13題(10.0分)題號:359
/*
【程序設(shè)計(jì)】
功能:實(shí)現(xiàn)兩個整數(shù)的交換。
例如:給a和b分別輸入:60和65,輸入為:a=65b=60
--------------------------------------------------*/
#include<stdio.h>
#include<conio.h>
voidwjt();
voidfun(int*a,int*b)
(
/**********Program**********/'
/**********End**********/
)
mainO
(
inta,b;
printf("Entera,b:*);
scanf(飛d%d”,&a,&b);
fun(&a,&b);
printf("a=%db=%d\n”,a,b);
wwjl();
}
voidwjt()
(
FILE*IN,*0UT;
inta,b,n;
IN=fopenC*in.dat*?"r");
if(IN=NULL)
(
printf(*ReadFILEError*);
)
OUT=fopenC*out.dat","w");
if(OUT=NULL)
(
printfCWriteFILEError*);
)
for(n=0;n<5;n++)
(
fscanf(IN,"%d%d",&a,&b);
fun(&a,&b);
fprintf(OUT,"a=%db=%d\n”,a,b);
}
fclose(IN);
fclose(OUT);
}
答案;-------------------------
intt;
t=*a;*a=*b;*b=t;
第14題(10.0分)題號:374
【程序設(shè)計(jì)】
功能:編寫函數(shù)實(shí)現(xiàn)兩個數(shù)據(jù)的交換,在主函數(shù)中輸入任
意三個數(shù)據(jù),調(diào)用函數(shù)對這三個數(shù)據(jù)從大到小排序。
史/
#include<stdio.h>
voidwwjtO;
voidswap(int*a,int*b)
(
/**********Progr<ini**********/
/**********End**********/
}
mainO
(
intx,y,z;
scanf(*%d%d%d*,&x,&y,&z);
if(x<y)swap(&x,&y);
if(x<z)swap(&x,&z);
if(y<z)swap(&y,&z);
printf("%3d%3d%3d”,x,y,z);
wwjt();
)
voidwwjt()
(
FILE*IN,*OUT;
intm,n;
int“2];
IN=fopen("in.dat","r");
if(IN==NULL)
(
printfCReadFILEError*);
)
OUT=fopen(*out.dat","w");
if(OUT==NULL)
{
printfCWriteFILEError*);
)
for(n=0;n<3;n++)
for(m=0;m<2;m++)
(
fscanf(IN,"$d",&i[m]);
)
swap(&i[O],&i[l]);
fprintf(OUT,"%d\n",i[0]);
fprintf(OUT,i[1]);
)
fclose(IN);
fclose(OUT);
)
答案:-
intk;
k=*a;
*a=*b;
*b=k;
第15題(10.0分)題號:337
【程序設(shè)計(jì)】
功能:將兩個兩位數(shù)的正整數(shù)a、b合并形成一個整數(shù)放在
c中。合并的方式是:將a數(shù)的十位和個位數(shù)依次放
在c數(shù)的百位和個位上,b數(shù)的十位和個位數(shù)依次放
在c數(shù)的十位和千位上。
例如:當(dāng)a=45,b=12,>調(diào)用該函數(shù)后,c=2415o
-----------------------------------------------------*/
4include<stdio.h>
voidwjt();
voidfun(inta,intb,long*c)
(
/**********Program**********/
/**********End**********/
mainO
(
inta,b;longc;
printf("inputa,b:');
scanf("%d%d”,&a,&b);
fun(a,b,&c);
printf(^Theresultis:%ld\n*,c);
wwjt();
}
voidwwjt()
(
FILE*rf,*wf;
inti,a,b;longc;
rf=fopen("in.dat","r");
wf=fopen("out.dat","w");
for(i=0;i<10;i++)
(
fscanf(rf,"鳧d,%d”,&a,&b);
fun(a,b,&c);
fprintf(wf,“a=%d,b=%d,c=%ld\n”,a,b,c);
)
fclose(rf);
fclose(wf);
}
答案;------------------------
*c=a/10*100+a%10+b/10*10+b%10*1000;
第16題GO.O分)題號:323
【程序設(shè)計(jì)】
功能:求1到w之間的奇數(shù)之和。(w是大于等于100小于等
于1000的整數(shù))
---------------------------------------------------------------?/
#include<stdio.h>
#include*conio.h"
voidwwjtO;
longfun(intw)
/**********End**********/
)
mainO
(
intm;
printf("Enterm:");
scanf("%d",&m);
printf("\nTheresultis%ld\n*,fun(m));
wwjt();
)
voidwwjtO
(
FILE*IN,*OUT;
intc;
intt;
longo;
IN=fopen("in.dat*,"r");
if(IN==NULL)
(
printf("ReadFILEError*);
)
OUT=fopen(*out.dat","w");
if(OUT==NULL)
{
printfCWriteFILEError*);
)
for(c=l;c<=5;c++)
fscanf(IN,"%d",&t);
o=fun(t);
fprintf(OUT,”$ld\n",o);
)
fclose(IN);
fclose(OUT);
)
答案:------------------------
longy=0;
inti;
for(i=l;i<=w;i++)
if(i%2==l)y+=i;
returny;
第17題(10.0分)題號:339
【程序設(shè)計(jì)】
功能:判斷整數(shù)x是否是同構(gòu)數(shù)。若是同構(gòu)數(shù),函數(shù)返回1:
否則返回0。x的值由主函數(shù)從鍵盤讀入,要求不大
于100o
說明:所謂“同構(gòu)數(shù)”是指這樣的數(shù),這個數(shù)出現(xiàn)在它的
平方數(shù)的右邊。
例如:輸入整數(shù)5,5的平方數(shù)是25,5是25中右側(cè)的數(shù),所
以5是同構(gòu)數(shù)。
*/
4include<stdio.h>
voidwwjt();
intfun(intx)
/**********Program**********/
/**********End**********/
main()
intx,y;
printf(*XnPleaseenteraintegernumbers:*);
scanf("雙!",&x);
if(x>100)
(
printf(*dataerror!\n*);
exit(0);
)
y=fun(x);
if(y)
printf(*%dYES\n",x);
else
printf(*%dN0\n*?x);
wwjt0;
)
voidwwjt()
(
FILE*IN,*OUT;
intn,t;
into;
IN=fopenC*in.dat*?"r");
if(IN==NULL)
(
printfCReadFILEError*);
)
0UT=fopen(*out.dat","w");
if(OUT—NULL)
(
printfCWriteFILEError");
)
for(t=0;t<5;t++)
(
fscanf(IN,"%d",&n);
o=fun(n);
fprintf(OUT,"%d\n”,o);
)
fclose(IN);
fclose(OUT);
答案:一-
intk;
k=x*x;
if((k%10==x)||(k%100==x))
return1;
else
return0;
第18題(10.0分)題號:452
/*-------------------------------
【程序設(shè)計(jì)】
功能:有一個一維數(shù)組score,內(nèi)放10個學(xué)生的成績,用一
個函數(shù)來求平均成績。
例如:如果10個學(xué)生的成績分別為92,87,68,56,92,84,
70,65,90,60則平均成績?yōu)椋?6.400000
*/
^include<stdio.h>
voidwjt();
floataverage(floatarray[10])
/**********Program**********/
/**********End**********/
)
mainO
(
floatscore[]={92,87,68,56,92,84,70,65,90,60};
printf(^averagescoreis%f\n*,average(score));
wwjtO;
)
voidwwjt()
FILE*IN,*OVT;
inti;
floatfINElO];
floatfOUT;
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,*%f*,&fIN[i]);
)
fOUT=average(fIN);
fprintf(OUT,fOUT);
fclose(IN);
fclose(OUT);
答案:-----------------------
inti;
floataver,sum二array[0];
for(i=l;i<10;i++)
sum=sum+array[i];
avcr-sum/10;
returnaver;
第19題(10.0分)題號:349
【程序設(shè)計(jì)】
功能:從低位開始取出長整型變量s奇數(shù)位上的數(shù),依次
構(gòu)成一?個新數(shù)放在t中。
例如:當(dāng)s中的數(shù)為:7654321時,t中的數(shù)為:7531o
*/
4include<srdio.h>
voidwwjt();
longfun(longs,longt)
(
/**********Prograiii**********/,
/**********End**********/
returnt;
}
mainO
(
longs,t=0,m;
printf(^XnPleaseenters:");scanf("%ld",&s);
m=fun(s,t);
printf(^Theresultis:m);
wwjt();
)
voidwjtO
(
FILE+IN,+OUT;
intn;
longi,t=0,m;
IN=fopenCyin.dat*,"r");
if(IN==NULL)
(
printf(*ReadFILEError*);
)
OUT=fopen(*out.dat","w");
if(OUT=NULL)
(
printfCWriteFILEError");
)
for(n=0;n<5;n++)
fscanf(IN,
m=fun(i,t);
z,
fprintf(OUT,%ld\n*,m);
fclose(IN);
fclose(OUT);
答案:-
longsl=10;
t=s%10;
while(s>0)
{s=s/100;
t=s%10*sl+t;
si=si*10;
)
第20題(10.0分)題號:318
【程序設(shè)計(jì)】
功能:輸入一個字符串,過濾此串,只保留串中的字母字
符,并統(tǒng)計(jì)新生成串中包含的字母個數(shù)。
例如:輸入的字符串為ab234$df4,新生成的串為abdf。
4include<stdio.h>
^include<conio.h>
#defineN80
voidwwjt();
fun(char*ptr)
/**********Prograni**********/'
/**********End***?*?***?/
}
main()
(
charstr[N];
ints;
printf("inputastring:");gets(str);
printf(""TheorigINalstringisputs(str);
s=fun(str);
printf(*Thenewstringisputs(str);
printf("Thereare%dcharINthenewstring.s);
wwjt();
}
voidwwjt()
(
FILE*IN,*OUT;
charsin[N];
intiOUT;
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);
iOUT=fun(sin);
fprintf(OUT,"%d%s\n”,iOUT,sin);
fclose(IN);
fclose(OUT);
}
答案:-----------------------
inti,j;
for(i=0,j=0;*(ptr+i)!-\0*;i++)
if(*(ptr+i)<=,z,&&*(ptr+i)>=,a**(ptr+i)<=*Z*&&*(ptr+i)>=,A')
{?(ptr+j)=*(ptr+i);
j++;}
*(prr+j)=>\0*;
return(j);
第21題(10.0分)題號:354
/?----------------------------------------
【程序設(shè)計(jì)】
功能:求小于lim的所有素?cái)?shù)并放在aa數(shù)組中,該函數(shù)返回
所求出素?cái)?shù)的個數(shù)。
------------------------------------------------------------------------*/
#include<stdio.h>
#include<conio.h>
^defineMAX100
voidwjt();
intfun(intlim,intaa[MAX])
(
/**********Prograiii**********/
/+?????**+?End+????+?*??/
)
mainO
(
intlimit,i,sum;
intaa[MAX];
printf(*Pleaseinputainteger:*);
scanf;
sum=fun(limit,aa);
for(i=0;i<sum;i++){
if(i%10==0&&i!=0)printf(*\n*);
printf("%5d”,aa[i]);
)
WWjtO;
}
voidwwjt()
(
inti,j,array[100],sum,lim;
FILE*rf,*wf:
rf=fopen("in.dat","r");
wf=fopen("out.dat","w");
for(j=0;j<=5;j++)
(
fscanf(rf,"%d”,&1im);
sum=fun(lim,array);
for(i=0;i<sum;i++)
fprintf(wf,"%7d”,array[i]);
fprintf(wf,"\n");
)
fclose(rf);
fclose(wf);
)
.___________________
intn=0
inti,j
for(i=2i<=lim;i++)
{for(j=2;j<i;j++)
if(i%j==O)break;
if(j==i)aa[n++]=i;
returnn;
第22題(10.0分)題號:363
/*----------------------------
【程序設(shè)計(jì)】
功能:求一個給定字符串中的字母的個數(shù)。
^include<stdio.h>
voidwwjt();
intfun(chars[])
/**********Prograni**********/'
/**********End**********/
)
mainO
(
charstr[]=*Bestwishesforyou!*;
intk;
k=fun(sti);
printf("k=%d\n”,k);
wwjt();
}
voidwwjt()
(
FILE*IN,*OUT;
charsin[80];
intiOUT,i;
IN=fopen(*in.dat","r");
if(IN==NULL)
(
printf(*PleaseVerifyTheCurrerntDir..itMayBeChanged*);
)
0UT=fopen(*out.dat","w");
if(OUT==NULL)
(
printf("PleaseVerifyTheCurrentDir..ItMayBeChanged");
)
for(i=0;i<10;i++)
(
fscanf(IN,飛s”,sin);
iOUT=fun(sin);
)
fprintf(OUT,飛d\n”,iOUT);
fclose(IN);
fclose(OUT);
)
答案:-----------------------
inti,k=0;
for(i=0;s[i]!=\0*;i++)
if(s[i]>=,a,&&s[i]<=,z*||s[i]>=,A'&&s[i]<='7!)
k++;
returnk;
第23題(10.0分)題號:372
/*-------------------------------
【程序設(shè)計(jì)】
題目:用函數(shù)求?個N階方陣右下三角元素的和(包括副
對角線上的元素)。
--------------------------------------------------------*/
4include<stdlib.h>
^include<stdio.h>
^defineN3
voidwjt();
intsum(inta[][N])
(
/**********Program**********/,
/**********End**********/
main()
(
inta[N][N],i,j;
for(i=0;i<N;i++)
for(j=0;j<N;j++)
a[i][j]=random(10)+10;
printf(*%3d*,a[i][j]);
)
printf('\n");
)
printf("================\n");
printf("sum=%5d\n”,sum(a));
wwjt();
}
voidwwjt()
(
FILE*IN,*OUT;
intm,n;
inti[3][3];
into;
IN=fopen(z,in.dat*?〃r");
if(IN==NULL)
(
printf("ReadFILEError*);
)
0UT=fopen(*out.dat","w");
if(OUT==NULL)
(
printf("WriteFILEError");
)
for(m=0;m<3;m++)
for(n=0;n<3;n++)
fscanf(IN,*%d*,&i[m][n]);
o-sum(i);
fprintf(OUT,"%d\n*,o);
fclose(IN);
fclose(OUT);
)
答案:---------------------
inti,j,k=0;
for(i=0;i<N;i++)
for(j=N-l-i;j<N;j++)
k=k+a[i][j];
return(k);
第24題(10.0分)題號:348
【程序設(shè)計(jì)】
功能:從低位開始取出長整型變量s中偶數(shù)位上的數(shù),依次
構(gòu)成一個新數(shù)放在t中。
例如:當(dāng)s中的數(shù)為:7654321時,t中的數(shù)為:642o
*/
^include<stdio.h>
voidwjt();
longfun(longs,longt)
/**********End**********/
returnt;
)
main()
(
longs,t=0,m;
printf(*XnPlcascenter3:");scanf("Id",&s):
m=fun(s,t);
printf(*Theresultis:%ld\n*?m);
wwjt();
)
voidwjt()
(
FILE*IN,*OUT;
intn;
longi,t=0,m;
IN=fopen(*in.dat","r");
if(IN==NULL)
printf(*ReadFILEError");
)
0UT=fopen(*out.dat","w");
if(OUT==NULL)
(
printfCWriteFILEError*);
)
for(n=0;n<5;n++)
(
fscanf(IN,&i);
m=fun(i,t);
fprintf(OUT,m);
)
fclose(IN);
fclose(OUT);
答案:-
longsl=10;
s/=10;
t=s%10:
while(s>0)
{s=s/100;
t=s%10*sl+t;
si=si*10;
)
第25題(10.0分)題號:410
【程序設(shè)計(jì)】
功能:編寫函數(shù)fun將?個數(shù)組中的值按逆序存放,并在
mainO函數(shù)中輸出。
例如:原來存順序?yàn)?,6,5,4,1。要求改為:1,4,5,6,8。
*/
^include<stdio.h>
^defineN5
voidwjt();
voidfun(intarr[],intn)
/**********Program**********/'
/**********End**********/
mainO
(
inta[N]={8,6,5,4>1},i;
for(i=0;i<N;i++)
printf("%4d”,a[i]);
printfCXn*);
fun(a,N);
for(i=0;i<N;i++)
wwjt();
)
voidwwjtO
(
FILE*IN,*OUT;
intn;
inti[10];
IN=fopen(*in.dal","r");
if(IN==NULL)
(
printfCReadFILEError*);
)
0UT=fopen(*out.dat","w");
if(OUT==NULL)
(
printfCWriteFILEError*);
)
for(n=0;n<10;n++)
fscanf(IN,*%d*,&i[n]);
)
fun(i,10);
for(n=0:n<10;n++)
(
fprintf(OUT,*%d\n*.iLn]);
)
fclose(IN);
fclose(OUT);
}
答案:-
inti,t;
for(i=0;i<n/2;i++)
{t=arr[i];
arr[i]=arr[n-l-i]:
arr[n-l-i]=t;
第26題(10.0分)題號:352
【程序設(shè)計(jì)】
功能:根據(jù)整型形參m,計(jì)算如下公式的值:y=l/2+l/4+
1/6+...+l/2mo
例如:若m=9,則應(yīng)輸出:1.414484
--------------------------------------------------------*/
^include<stdio.h>
voidwwjt();
doublefun(intm)
(
/**********Program**********/'
/**********End**********/
mainO
inrn;
printf(*Entern:");
scanf(“/d”,&n);
printf(*\nTheresultisfun(n));
wwjt();
}
voidwwjt()
(
FILE*IN,*OUT;
inti;
intt;
doubleo;
IN=fopen(*in.dat","r");
if(IN=NULL)
(
printf("ReadFILEError*);
)
OUT=fopen(*out.dat","w");
if(OUT==NULL)
(
printfCWriteFILEError*);
)
for(i=0;i<5;i++)
(
fscanf(IN,&t);
o=fun(t);
fprintf(OUT,"%f\n",o);
)
fclose(IN);
fclose(OUT);
)
答案:---------------------
doubley=0;
inti;
for(i=l;i<=m;i++)
{y+=l.0/(2*i);}
return(y);
第27題(10.0分)題號:50
【程序設(shè)計(jì)】
功能:求出菲波那契數(shù)列的前一項(xiàng)與后一項(xiàng)之比的極限的
近似值。
例如:當(dāng)誤差為0.0001時,函數(shù)值為0.618056。
#include<stdio.h>
4include"math,h”
voidwwjt();
floatfun()
/**********Program**********/
/**********End**********/
)
main()
(
prinlf("y=%f\n”,fun());
wwjt();
)
voidwwjtO
(
FILE*IN,*OUT;
floatfOUT;
IN=fopen("19.IN","r");
if(IN==NULL)
(
printf(^PleaseVerifyTheCurrerntDir..itMayBeChanged");
)
0UT=fopen("19.out","w");
if(OUT==NULL)
(
printf(*PleaseVerifyTheCurrentDir..itMayBeChanged*);
)
fOUT=fun();
fprintf(OUT,fOUT);
fclose(IN);
fclose(OUT);
_______________________
floatfl=l,f2=l,f3;
floatrl=2,r2;
do
{r2=rl;
rl=fl/f2;
f3=fl+f2;
fl=f2;
f2=f3;
}while(fabs(rl-r2)>le-4);
returnrl;
第28題(10.0分)題號:392
/*----------------------------
【程序設(shè)計(jì)】
功能:求一批數(shù)中最大值和最小值的積。
--------------------------------------------------*/
#defineN30
^include"stdlib.h"
4include<stdio.h>
voidwjt();
intmaxmin(inta[],intn)
(
,/**********Program**********/'
/**********End**********/
}
main()
(
inta[N],i,k;
for(i=0;i<N;i++)
a[i]=random(51)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 道路施工互助協(xié)議
- 2024-2030年鐵氧體永磁公司技術(shù)改造及擴(kuò)產(chǎn)項(xiàng)目可行性研究報(bào)告
- 2024-2030年苯扎貝特公司技術(shù)改造及擴(kuò)產(chǎn)項(xiàng)目可行性研究報(bào)告
- 2024-2030年硼鐵行業(yè)市場發(fā)展分析及前景趨勢與投資研究報(bào)告
- 2024-2030年版中國鐵皮石斛行業(yè)競爭策略及投資價(jià)值分析報(bào)告
- 2024-2030年版中國小品牌食用油行業(yè)市場競爭態(tài)勢及發(fā)展策略分析報(bào)告
- 2024年文化產(chǎn)業(yè)總經(jīng)理聘用合同范本3篇
- 2024年度情侶子女教育輔導(dǎo)合作協(xié)議3篇
- 怎樣課程設(shè)計(jì)
- 月餅營銷課程設(shè)計(jì)
- 壓力容器的保養(yǎng)、安全附件
- 《光伏發(fā)電工程安全預(yù)評價(jià)規(guī)程》(NBT 32039-2017)
- 24春國家開放大學(xué)《計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用》大作業(yè)1-4參考答案
- 銀企對接方案
- 大屏實(shí)施方案
- 反恐防范重點(diǎn)目標(biāo)檔案 空白模板2023年
- 預(yù)防物體打擊安全課件
- 2023-2024學(xué)年北京市東城區(qū)高一語文上學(xué)期期末統(tǒng)檢試卷附答案解析
- 腫瘤學(xué)腫瘤發(fā)生發(fā)展和治療的研究
- 2023醫(yī)院內(nèi)部審計(jì)工作計(jì)劃范文
- 華為招聘與人員配置
評論
0/150
提交評論