版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
IMBstandardizationoffice[IMB5AB-IMBK08-IMB2C]
試卷編號:9478
所屬語言:C語言
試卷總分:1260分
共有題型:1種
一、程序設(shè)計共126題(共計1260分)
第1題(分)題號:507難度:易第1章
/*--------------------------------------------------
【程序設(shè)計】
功能:編寫函數(shù)fun求一個字符串的長度,在main函數(shù)中
輸入字符串,并輸出其長度。
--------------------------------------------------*/
#include<>
voidwjt();
intfun(char*pl)
(
/**********Prc)grani**********/
/**********End**********/
)
main()
(
char*p,a[20];
intlen;
P=a;
printf(z/pleaseinputastring:\n,z);
gets(p);
len=fun(p);
printf(,zThestring*slengthis:%d\nz\len);
wwjt();
)
voidwwjt()
(
FILE*IN,*0UT;
char*pIN,sin[20];
intiOUT,i;
pIN=sin;
[N二fopen(〃〃,〃r〃);
if(IN=二NULL)
(
printfC'PleaseVerifyTheCurrerntDir..itMayBeChanged");
.1
OUT二fopen("〃,"w");
if(OUT==NULL)
(
printf(zzPleaseVerifyTheCurrentDir..itMayBeChanged");
)
for(i=0;i<10;i++)
(
fscanf(IN,〃%s〃,pIN);
iOUT=fun(pIN);
fprintf(OUT,〃%d\n〃,iOUT);
)
fclose(IN);
fclose(OUT);
)
答案:-----------------------
char*p;
intn=0;
P二pl;
while(*p++)
n++;
returnn;
第2題(分)題號:386難度:中第2章
/*--------------------------------------------------
【程序設(shè)計】
功能:用函數(shù)求N個[10,60]上的整數(shù)中能被5整除的最大
的數(shù),如存在則返回這個最大值,如果不存在則
返回0o
--------------------------------------------------*/
^defineN30
#include〃〃
#include<>
voidwwjt();
intfind(intarr[],intn)
(
intm=0;
/**********Prograrii**********/
/**********End**********/
return(m);
)
main()
inta[N],i,k;
for(i=0;i<N;i++)
a[i]=random(51)+10;
for(i=0;i<N;i++)
(
printf(〃%5d〃,a[i]);
if((i+l)%5==0)printf(〃\n〃);
)
k=find(a,N);
if(k==0)
printfCNOFOUND\n〃);
else
printf(zzthemaxis:%d\n〃,k);
wwjt();
}
voidwwjt()
(
FILE*IN,*OUT;
intn;
inti[5];
into;
IN=fopen(〃","/);
if(IN==NULL)
(
printf(z,ReadFILEError");
}
OUT二fopen(〃","w");
if(OUT==NULL)
(
printf("WriteFILEError");
}
for(n=0;n<5;n++)
(
fscanf(IN,〃%d〃,&i[n]);
}
o=find(i,5);
fprintf(OUT,"%d\n〃,o);
fclose(IN);
fclose(OUT);
)
答案:------------------------
inti;
for(i=0;i<n;i++)
if(arr[i]%5==0&&arr[i]>m)
m=arr[i];
第3題(分)題號:321難度:中第2章
/*--------------------------------------------------
【程序設(shè)計】
功能:編寫函數(shù)fun其功能是:根據(jù)整型形參m,計算如下
公式的值:y=l/2!+l/4!+-+l/m!(m是偶數(shù))
--------------------------------------------------*/
^include<>
voidwwjt();
doublefun(intm)
(
/**********Program**********/
/**********End**********/
}
main()
(
intn;
printf("Entern:〃);
scanf("%d",&n);
printf(〃\nTheresultis%lf\n〃,fun(n));
wwjt();
)
voidwwjt()
(
FILE*IN,*OUT;
intt;
doubleo;
intc;
IN二fopen(〃”,〃r〃);
if(IN=二NULL)
(
printf("ReadFILEError");
)
OUT二fopen(〃",;
if(OUT二二NULL)
(
printf("WriteFILEError");
for(c=l;c<=5;c++)
fscanf(IN,"%d〃,&t);
o=fun(t);
fprintf(OUT,o);
)
fclose(IN);
fclose(OUT);
)
答案:doubley=;
inti,j;
doubles=l;
for(i=2;i<=m;i+=2)
(
for(j=i-l;j<=i;j++)
s=s*j;
y=y+s;
)
returny;
第4題(分)題號:54難度:易第1章
/*--------------------------------------------------
【程序設(shè)計】
功能:求1到100之間的偶數(shù)之積。
--------------------------------------------------*/
#include<>
voidwjt();
doublefun(intm)
(
/**********Program**********/
/**********End**********/
)
main()
(
printf(,/ji=%f\n//,fun(100));
wwjt();
}
voidwwjt()
(
FILE*IN,*0UT;
intilN,i;
doubledOUT;
IN二fopen(〃〃,〃r");
if(IN:二NULL)
printf("PleaseVerifyTheCurrerntDir..itMayBeChanged");
)
OUT=fopen"w");
if(OUT==NULL)
(
printf("PleaseVerifyTheCurrentDir..itMayBeChanged");
)
for(i=0;i<10;i++)
(
fscanf(IN,"%d”,&iIN);
dOUT=fun(iIN);
fprintf(OUT,dOUT);
}
fclose(IN);
fclose(OUT);
)
答案:-------------------------
doubley=l;
inti;
for(i=l;i<=m;i++)
if(設(shè)2=0)y*=i;
returny;
第5題(分)題號:62難度:難第2章
【程序設(shè)計】
功能:求5行5列矩陣的主、副對角線上元素之和。注意,
兩條對角線相交的元素只加一次。
例如:主函數(shù)中給出的矩陣的兩條對角線的和為45。
--------------------------------------------------------*/
ttinclude<>
^defineM5
voidwwjt();
intfun(inta[M][M])
(
/**********Program**********/
/**********End**********/
)
main()
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);
printf("s=%d\n”,y);
wjt();
}
voidwwjt0
{
FILE*IN,*OUT;
intiIN[M][M],iOUT;
inti,j;
IN=fopen(","r"):
if(IN==NULL)
{
printf("PleaseVerifyTheCurrerntDir..itMayBeChanged");
}
OUT=fopen("","w");
if(OUT==NULL)
(
printf("PleaseVerifyTheCurrentDir..itMayBeChanged");
)
{for(i=0;i<M;i++)
for(j=0;j<M;j++)
fscanf(IN,"%d”,&iIN[i][j]);
iOUT=fun(iIN);
fprintf(OUT,iOUT);
}
fclose(IN);
fclose(OUT);
)
答案:---------------------
ints=0;
inti,j;
for(i=0;i<M;i++)
s=s+a[i][i]+a[i];
s=s-a[(M-l)/2][(M-l)/2]:
returns;
第6題(分)題號:37難度:較難第6章
/*
【程序設(shè)計】
功能:輸入2個學(xué)生3門課的成績,計算學(xué)生成績平均分,
課程平均分和最高分.
例如:輸入2名學(xué)生3門課的成績分別為92,87,68,56,
92,84則
學(xué)生1平均分:
學(xué)生2平均分:
課程1平均分:
課程2平均分:
課程3平均分:
最高分為:92
--------------------------------------------------*/
[include<>
voidwwjt();
/*定義全局變量*/
/*學(xué)生成績平均分*/
floatStuAgv[2];
/*課程平均分*/
floatCouAgv[3];
/*所有學(xué)生的所有課程最高分*/
floatMax=0;
/*說明:需要在下面函數(shù)中把題干要求中的結(jié)果賦值到上面定義一變量中*/
voidfun(floatscore[2][3])
{
/**********Program**********/
/**********End**********/
}
voidmain()
(
inti,j;
floatscore[2][3];
printf("輸入學(xué)生的成績:“);
for(i=0;i<2;i++)
for(j=0:j<3;j++)
scanf&score[i][j]);
printf("\n輸出學(xué)生的成績:“);
for(i=0;i<2;i++)
(
for(j=0;j<3;j++)
printf(/z%.2f",scoreti][j]);
printf("\n");
}
fun(score);
for(i=0;i<2;i++)
printf("第猊個學(xué)生的平均成績是:%\n”,i+1,StuAgv[i]);
for(j=0;j<3;j++)
printf("第%d門課的平均成績是:%\n”,j+1,CouAgv[j]);
printf("所有分數(shù)中的最高分為:%.2f\n/?,Max);
wwjt();
}
voidwwjt()
(
FILE*IN,*OUT;
floatiIN[2][3];
inti,j;
IN=fopen("","r");
if(IN==NULL)
(
printf("PleaseVerifyTheCurrerntDir..itMayBeChanged");
}
0UT=fopen("","w");
if(OUT==NULL)
(
printf("PleaseVerifyTheCurrentDir..itMayBeChanged");
)
for(i=0;i<2;i++)
for(j=0;j<3;j++)
fscanf(IN,&iIN[i][j]);
fun(iIN);
for(i=0;i<2;i++)
fprintf(OUT,"%.2f\n”,StuAgv[i]);
for(j=0;j<3;j++)
fprintf(OUT,z,%.2f\n”,CouAgv[j]);
fprintf(OUT,"%.2f\n”,Max);
fclose(IN);
fclose(OUT);
return;
}
答案:inti,j;
floatsum;
for(i=0;i<2;i++)/*計算第i個學(xué)生平均分*/
(
sum=0;
for(j=0;j<3;j++)
sum=sum+score[i][j];
StuAgv[i]=sum/3;
)
for(j=0;j<3;j++)/*計算第j門課的平均分*/
sum=0;
for(i=0;i<2;i++)
sum=sum+score[i][j];
CouAgv[j]=sum/2;
)
Max=score[0][0];
for(i=0;i<2;i++)
for(j=0;j<3;j++)
if(Max<=score[i][j])
(
Max=score[i][j];
)
return;
第7題(分)題號:322難度:中第2章
/*--------------------------------------------------
【程序設(shè)計】
功能:判斷一個整數(shù)w的各位數(shù)字平方之和能否被5整除,
可以被5整除則返回1,否則返回0。
--------------------------------------------------*/
#include<>
#include””
voidwjt();
intfun(intw)
(
/**********P]、ograni**********/
/**********End**********/
}
main()
(
intm;
printf("Enterm:〃);
scanf(〃%d〃,&m);
,,
printf(〃\nTheresultis%d\n)fun(m));
wwjt();
}
voidwwjt()
(
FILE*IN,*OUT;
intc;
intt;
into;
IN=fopen(“〃,〃r〃);
if(IN=二NULL)
printf(/zReadFILEError");
}
OUT二fopen(〃〃,〃w〃);
if(OUT==NULL)
(
printf(Z/WriteFILEError");
}for(c=l;c<=5;c++)
(
fscanf(IN,zz%d,z,&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=l;
elsek=0;
return(k);
第8題(分)題號53難度:中第95章
/*---------------------------------------------------------
【程序設(shè)計】
題目:編程序,輸入兩個字符串a(chǎn),b(<40個字符),將兩者連接后輸出c(不能用strcat庫函數(shù))。
#include<>
#include<>
voidmain()
/**********Pr()grani**********/
/**********End**********/
答案:chara[40],b[40],c[80];
inti,j;
printf(〃分二行輸入兩個字符串:\n〃)
gets(a);gets(b);
for(i=0;a[i]!=>\0*;i++)c[i]=a[i];
for(j=0;b[j]!=,\0J;j++)c[i+j]=b[j]:
c[i+j]='\0';
puts(c);
第9題(分)題號:594難度:中第1章
/*------------------------------------------------------------
【程序設(shè)計】
請編一個函數(shù)voidfun(inttt[M][N],intpp[N]),tt指向
一個M行N列的二維數(shù)組,求出二維數(shù)組每列中最大元素,并依次
放入pp所指的一維數(shù)組中。二維數(shù)組中的數(shù)已在主函數(shù)中給出。
注意:部分源程序給出如下。
請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)
fun的花括號中填入所編寫的若干語句。
試題程序:
------------------------------------------------------------*/
^include<>
#include<>
#include<>
#defineM3
^defineN4
voidfun(inttt[M][N],intpp[N])
(
inti,j,max;
/**********Program**********/
/**********End**********/
}
voidmain()
(
FILE*wf;
intt[M][N]={{68,32,54,12},{14,24,88,58},{42,22,44,56}};
intp[N],i,j,k;
system("CLS");
printf(zzTheriginaldatais:\n〃);
for(i=0;i<M;i++)
(
for(j=0;j<N;j++)
printf(〃%6d〃,t[i][j]);
printf(〃\n〃);
)
fun(t,p);
printf(/z\nTheresultis:\n");
for(k=0;k<N;k++)
printfC%4d",p[k]);
printf(〃\n〃);
wr=fopen(,w);
for(k=0;k<N;k++)
fprintf(wf,〃%4d〃,p[k]);
fclose(wf);
)
答案:for(j=0;j<N;j++)
(
max=tt[O][j];
for(i=0;i<M;i++)
if(tt[i][j]>max)
max=tt[i][j];
pp[j]=max;
}
第10題(分)題號:319難度:中第2章
/*--------------------------------------------------
【程序設(shè)計】
功能:判斷m是否為素數(shù)。
--------------------------------------------------*/
^include〃〃
voidwjt();
intfun(intm)
(
/**********Prc)grani**********/
/**********End**********/
)
main()
(
intm,k=0;
for(m=100;m<200;m++)
if(fun(m))
(
printf("%4d”,m);
k++;
if(k%5==0)
printf(〃\n〃);
)
printf("k=%d\n”,k);
wwjt();
}
voidwwjt()
FILE*IN,*OUT;
intilN,iOUT,i;
IN=fopen("","r");
if(IN==NULL)
{
printf("PleaseVerifyTheCurrerntDir..ItMayBeChanged");
)
0UT=fopen("","w");
if(OUT==NULL)
(
printf("PleaseVerifyTheCurrentDir..ItMayBeChanged");
}
for(i=0;i<10;i++)
(
fscanf(IN,W;&ilN);
iOUT=fun(iIN);
fprintf(OUT,"%d\n”,iOUT);
)
fclose(IN);
fclose(OUT);
)
答案:-----------------------
inti,k=l;
if(m<=l)k=0;
for(i=2;i<m;i++)
if(m%i==0)k=0;
returnk;
第11題(分)題號:366難度:易第2章
/*------------------------------------------------------------------------
【程序設(shè)計】
功能:求一組數(shù)中大于平均值的數(shù)的個數(shù)。
例如:給定的一組數(shù)為1,3,6,9,4,23,35,67,12,88時,函
數(shù)值為3。
------------------------------------------------------------------------*/
?tinclude<>
voidwjt();
intfun(inta[],intn)
/**********Program**********/
/**********End**********/
}
main()
inta[10]={l,3,6,9,4,23,35,67,12,88};
inty;
y=fun(a,10);
printfCy=%d\n',y);
wwjt();
)
voidwwjt()
(
FILE*IN,*OUT;
intiIN[10],i0UT,i,j;
IN二fopen(〃〃,〃r");
if(IN==NULL)
(
printf("PleaseVerifyTheCurrerntDir..itMayBeChanged");
)
OUT二fopen(〃","w〃);
if(OUT==NULL)
(
printf(''PleaseVerifyTheCurrentDir..itMayBeChanged");
)
for(j=0;j<10;j++)
(
for(i=0;i<10;i++)
fscanf(IN,"%dz,,&iIN[i]);
iOUT=fun(iIN,10);
)
fprintf(OUT/z%d\nz,,iOUT);
fclose(IN);
fclose(OUT);
)
答案:------------------------
inti,k=0;
floats=0,ave:
for(i=0;i<n;i++)
s+=a[i];
ave=s/n;
printf(/z%f”,ave);
for(i=0;i<n;i++)
if(a[i]>ave)k++;
returnk;
第12題(分)題號:589難度:中第1章
/*---------------------------------------------------------
【程序設(shè)計】
題目:請編寫程序,輸入一個華氏溫度,要求輸出攝氏溫度。
公式為C=5/9*(F-32)
要求:輸入為整型,輸出為實型,保留兩位小數(shù)。
^include<>
voidwjt();
doublefun(intf)
(
/**********Progrtini**********/
/**********End**********/
)
voidmain()
(
intf;
scanf("%d",&f);
printf("%.2f〃,fun(f));
wwjt();
)
voidwwjt()
(
FILE*IN,*OUT;
inti;
intilN;
doubleiOUT;
IN=fopen(〃〃,"r");
if(IN==NULL)
(
printf("PleaseVerifyTheCurrerntDir..ItMayBeChanged");
)
OUT二fopen(〃〃,〃w〃);
if(OUT二二NULL)
(
printf(,zPleaseVerifyTheCurrentDir..ItMayBeChanged");
)
for(i=0;i<5;i++)
fscanf(IN,,z%d",&iIN);
iOUT=fun(ilN);
fprintf(OUT,"%.2f\n〃,iOUT);
)
fclose(IN);
fclose(OUT);
)
答案:doublec;
c=/*(f-32);
returnc;
第13題(分)題號:586難度:中第1章
/*------------------------------------------------------------
【程序設(shè)計】
題目:對從鍵盤輸入的10個整數(shù)進行降序排序;
排序后輸出第2大的數(shù),請編fun函數(shù)。
------------------------------------------------------------*/
#include〃〃
voidwwjt();
intfun(inta[])
(
/**********Program**********/
/**********End**********/
)
voidmain()
(
inta[10],i,m;
for(i=0;i<10;i++)
scanf;
m=fun(a);
printfCz%d”,m);
wwjt();
)
voidwwjt()
(
FILE*IN,*0UT;
intiIN[10],i;
intiOUT,iCOUNT;
IN=fopen(〃〃,〃r");
if(IN==NULL)
(
printf(Z/PleaseVerifyTheCurrerntDir..itMayBeChanged");
)
OUT二fopen(〃〃,〃w〃);
if(OUT二二NULL)
printfC'PleaseVerifyTheCurrentDir..ItMayBeChanged");
}
for(i=0;i<5;i++)
(
for(iC0UNT=0;iC0UNT<10;iCOUNT++)
fscanf(IN,〃%d〃,&iIN[iCOUNT]);
iOUT=fun(iIN);
fprintf(OUT,〃%d\n〃,iOUT);
)
fclose(IN);
fclose(OUT);
}
答案:inti,j,t;
for(i=0;i<9;i++)
for(j=0;j<9-i;j++)
if(a[j]<a[j+l])
t=a[j];
a[j]=a[j+l];
returna[l];
第14題(分)題號:338難度:中第2章
【程序設(shè)計】
功能:編寫程序,實現(xiàn)矩陣(3行3歹IJ)的轉(zhuǎn)置(即行列互換)
例如:輸入下面的矩陣:
100200300
400500600
700800900
程序輸出:
100400700
200500800
300600900
#include<>
voidwjt();
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(zz\nz/);
)
fun(array);
printf(""Convertedarray:\n'z);
for(i=0;i<3;i++)
(
for(產(chǎn)0;j<3;j++)
printf(,,%7d,/,array[i][j]);
printf(〃\n〃);
)
wwjt();
)
voidwwjt()
(
inti,j,array[3][3];
FILE*rf,*wf;
rfc=cfope/n〃(〃,〃,r,、);
wr=fopent,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<i;j++)
{t=array[i][j];
arrayti][j]=array[j][i];
array[j][i]=t;}
第15題(分)題號:53難度:中第1章
【程序設(shè)計】
功能:求一個四位數(shù)的各位數(shù)字的立方和
--------------------------------------------------*/
#include<>
voidwjt();
intfun(intn)
(
/**********Prc)gran)**********/
/**********End**********/
}
main()
(
intk;
k=fun(1234);
printf(,/k=%d\n//,k);
wwjt();
)
voidwwjt()
(
FILE*IN,*OUT;
intilN,iOUT,i;
IN二fopen(〃”,〃r〃);
if(IN=二NULL)
(
printf("PleaseVerifyTheCurrerntDir..itMayBeChanged");
)
OUT二fopen(〃",;
if(OUT==NULL)
(
printf("PleaseVerifyTheCurrentDir..itMayBeChanged");
for(i=0;i<10;i++)
fscanf(IN,W,&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;
第16題(分)題號:318難度:中第2章
【程序設(shè)計】
功能:輸入一個字符串,過濾此串,只保留串中的字母字
符,并統(tǒng)計新生成串中包含的字母個數(shù)。
例如:輸入的字符串為ab234$df4,新生成的串為abdf。
-----------------------------------------------------*/
4include<>
^include<>
ttdefineN80
voidwwjt();
fun(char*ptr)
(
/**********Program**********/
/**********End**********/
}
main()
(
charstr[N];
ints;
printf("inputastring:^);gets(str);
printf(Z/TheorigINalstringis:〃);puts(str);
s=fun(str);
printfC'Thenewstringis:〃);puts(str);
printf("Thereare%dcharTNthenewstring.”,s);
wwjt();
}
voidwwjt()
(
FILE*IN,*OUT;
charsin[N];
intiOUT;
IN二fopen(〃〃,〃/);
if(IN=二NULL)
(
printf(,zPleaseVerifyTheCurrerntDir..itMayBeChanged");
)
OUT二fopen(〃〃,〃w〃);
if(OUT==NULL)
(
printf("PleaseVerifyTheCurrentDir..itMayBeChanged");
)
fscanf(IN,〃%s",sin);
iOUT=fun(sin);
fprintf(OUT,z,%d%s\n,z,iOUT,sin);
fclose(IN);
fclose(OUT);
)
答案:-----------------------
inti,j;
for(i=0,j=O;*(ptr+i)!=\0';i++)
if(*(ptr+i)<=,z*&&*(ptr+i)>=,a*||*(ptr+i)<=,Z*&&*(ptr+i)>=,A1)
{*(ptr+j)=*(ptr+i);
j++;}
*(ptr+j)=,\0*;
return(j);
第17題(分)題號:587難度:中第1章
/*---------------------------------------------------------
【程序設(shè)計】
題目:假設(shè)m是一個三位數(shù),編寫程序輸出由m的個位、十位、百
位反序而成的三位數(shù)(例如:123反序為321)。請編fun函數(shù)。
---------------------------------------------------------*/
#include”〃
voidwwjt();
intfun(inta)
/**********Program**********/
/**********End**********/
)
voidmain()
{
inta,k;
scanf(,z%dzz,&a);
k=fun(a);
printf(〃k=%d〃,k);
wjt();
}
voidwwjt()
(
FILE*IN,*OUT;
intilN,i;
intdOUT;
IN二fopen(“〃,〃r");
if(IN==NULL)
(
printf(/zPleaseVerifyTheCurrerntDir..itMayBeChanged");
)
OUT二fopen(〃",〃w〃);
if(OUT二二NULL)
(
printf(z,PleaseVerifyTheCurrentDir..itMayBeChanged");
)
for(i=0;i<5;i++)
(
fscanf(IN,zz%d",&iIN);
dOUT=fun(iIN);
fprintf(OUT,〃%d\n〃,dOUT);
)
fclose(IN);
fclose(OUT);
)
答案:intm,k,n,b;
m=a/l00;
n=(a-m*100)/10;
b=a%10;
k=b*100+n*10+m;
returnk;
第18題(分)題號:365難度:易第2章
/*
【程序設(shè)計】
功能:求I到100之間的偶數(shù)之積。
*/
#include<>
voidwwjt();
doublefun(intm)
(
/**********Program**********/
/**********End**********/
}
main()
(
printf(z/ji=%f\n/,,fun(100));
wwjt();
)
voidwwjt()
(
FILE*IN,*OUT;
intilN,i;
doubledOUT;
IN二fopen(〃",〃r");
if(IN==NULL)
(
printf("PleaseVerifyTheCurrerntDir..itMayBeChanged");
)
OUT二fopen(〃”,〃w〃);
if(OUT二二NULL)
(
printf(z,PleaseVerifyTheCurrentDir..itMayBeChanged");
)
for(i=0;i<5;i++)
(
fscanf(IN,z/%dz/,&iIN);
dOUT=fun(iIN);
fprintf(OUT,dOUT);
)
fclose(IN);
fclose(OUT);
)
答案:-----------------------
doubley=l;
inti;
for(i=l;i<=m;i++)
if(i%2==0)y*=i;
returny;
第19題(分)題號:593難度:中第1章
【程序設(shè)計】
編寫函數(shù)fun(),它的功能是求n以內(nèi)(不包括n)同時能被5與11整
除的所有自然數(shù)之和的平方根s,并作為函數(shù)值返回。
例如:n為1000時,函數(shù)值應(yīng)為s=。
注意:部分源程序給出如下。
請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)
fun的花括號中填入所編寫的若干語句。
試題程序:
ttinclude<>
[include<>
^include<>
#include<>
doublefun(intn)
(
doubles=;
inti;
/**********Program**********/
/**********End**********/
)
voidmainO
(
FILE*wf;
system(〃CLS〃);
printf(z,s=%f\n/z,fun(1000));
wi=fopen(,w);
fprintf(wf,fun(1000));
fclose(wf);
答案:for(i=0;i<n;i++)
if(i%5==0&&i%11==0)
s=s+i;
s=sqrt(s);
returns;
第20題(分)題號:391難度:易第2章
【程序設(shè)計】
功能:將字符串中的小寫字母轉(zhuǎn)換為對應(yīng)的大寫字母,
其它字符不變。
^include””
^include<>
voidwjt();
voidchange(charstr[])
(
/**********Prc)grani**********/
/**********End**********/
)
main()
(
voidchange();
charstr[40];
gets(str);
change(str);
puts(str);
wwjt();
)
voidwwjt()
(
FILE*IN,*OUT;
chari[200];
IN二fopen(〃〃,〃r〃);
if(IN==NULL)
(
printf(z,ReadFILEError");
)
OUT二fopen(〃〃,“w〃);
if(OUT==NULL)
(
printf("WriteFILEError");
}
fscanf(IN,,,%sz/,i);
change(i);
fprintf(OUT,〃%s\n〃,i);
fclose(IN);
fclose(OUT);
)
答案:--
inti;
for(i=0;str[i]!=\0';i++)
if(str[i]>=,a*&&str[i]<=,z*)
str[i]=str[i]-32;
第21題(分)題號:384難度:易第2章
【程序設(shè)計】
功能:產(chǎn)生20個[30,120]上的隨機整數(shù)放入二維數(shù)組a[5][4]
中,求每行元素的和。
--------------------------------------------------------*/
ttinclude〃〃
^include<>
voidwjt();
voidrow_sum(inta[5][4],intb[5])
(
/**********Program**********/
/**********End**********/
}
main()
(
voidrow_sum();
inta[5][4],b[5],i,j;
for(i=0;i<5;i++)
for(j=0;j<4;j++)
a[i][j]=random(120-30+1)+30;
for(i=0;i<5;i++)
(
for(j=0;j<4;j++)
printf(〃%5d〃,a[i][j]);
printfCW);
)
row_sum(a,b);
for(i=0;i<5;i++)
printf(,z%6d,z,b[i]);
printf("\n〃);
wwjt();
)
voidwwjt()
(
FILE*IN,*0UT;
intm,n;
inti[5][4];
into[5];
IN二fopen(〃〃,〃r〃);
if(IN==NULL)
printf(zzReadFILEError");
)
OUT二fopen(〃〃,〃w〃);
if(OUT==NULL)
(
printf("WriteFILEError");
}
for(m=0;m〈5;m++)
for(n=0;n<4;n++)
fscanf(IN,〃%d〃,&i[m][n]);
row_sum(i,o);
for(n=0;n<5;n++)
fprintf(OUT,z,%d\n,z,o[n]);
fclose(IN);
fclose(OUT);
)
答案:-----------------------
inti,j;
for(i=0;i<5;i++)
{b[i]=0;
for(j=0;j<4;j++)
b[i]=b[i]+a[i][j];
)
第22題(分)題號:329難度:中第2章
/*--------------------------------------------------------
【程序設(shè)計】
功能:對某一正數(shù)的值保留2位小數(shù),并對第三位進行四舍
五入。
--------------------------------------------------------*/
#include<>
#include”〃
voidwjt();
doublefun(floath)
(
/**********Program**********/
/**********End**********/
main()
floatm;
printf("Enterm:〃);
scanf&m);
printf(,z\nTheresultis%\n〃,fun(m));
wwjt();
)
voidwwjt()
(
FILE*IN,*OUT;
ints;
floatt;
doubleo;
IN二fopen(〃〃,〃r〃);
if(IN==NULL)
(
printf("ReadFILEError");
}
OUT=fopen(〃〃,〃w〃);
if(OUT==NULL)
(
printf(Z/WriteFILEError");
)
for(s=l;s<=5;s++)
(
fscanf(IN,"%f",&t);
o=fun(t);
fprintf(OUT,o);
)
fclose(IN);
fclose(OUT);
}
答案:------------------------
inti;
i=(int)(h*1000)%10:
if(i>=5)
return(int)(h*100+l)/;
else
return(int)(h*100)/;
第23題(分)題號:591難度:中第1章
/*------------
【程序設(shè)計】
題目:從鍵盤上輸入一個字符串,放在數(shù)組中,要求將字符串中
的大寫字母轉(zhuǎn)換成小寫字母,小寫字母轉(zhuǎn)換成大寫字母,
非字母字符不變,并輸出
^include<>
#include<>
4include<>
^defineN80
voidwjt();
charfun(chara[])
(
/**********Program**********/
/**********End**********/
)
voidmain()
(
chara[80];
chars;
gets(a);
s=fun(a);
puts(a);
wwjt();
)
voidwwjt()
(
FILE*IN,*0UT;
charsin[N];
chariOUT;
IN二fopen(〃〃,;
if(IN==NULL)
(
printf(''PleaseVerifyTheCurrerntDir..itMayBeChanged");
}
OUT二fopen(〃”,〃w〃);
if(OUT==NULL)
(
printf(,zPleaseVerifyTheCurrentDir..itMayBeChanged");
)
fscanf(IN,〃%s〃,sin);
iOUT=fun(sin);
fprintf(OUT,sin);
fclose(IN);
fclose(OUT);
}
答案:inti;
for(i=0;i<(strlen(a));i++)
if(a[i]>='A'&&a[i]<='Z')
a[i]=a[i]+32;
elseif(a[i]>='a'&&a[i]<='z')
a[i]=a[i]-32;
returna[i];
第24題(分)題號:353難度:中第2章
/*--------------------------------------------------
【程序設(shè)計】
功能:對長度為7個字符的字符串,除首、尾字符外,將其
余5個字符按降序排列。
例如:原來的字符串為CEAedca,排序后輸出為CedcEAao
--------------------------------------------------*/
#include<>
#include<>
#include<>
voidwjt();
voidfun(char*s,intnum)
(
/**********P]、ograni**********/
/**********End**********/
}
main()
(
chars[10];
printf(〃輸入7個字符的字符串:〃);
gets(s);
fun(s,7);
printf(〃\n%s〃,s);
wjt0;
)
voidwwjt()
(
inti;
chara[100];
FILE*rf,*wf;
rf
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 貴州大學(xué)《影視音樂欣賞》2023-2024學(xué)年第一學(xué)期期末試卷
- 貴陽幼兒師范高等??茖W(xué)?!段枧_語言基礎(chǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025江蘇省建筑安全員A證考試題庫及答案
- 貴陽學(xué)院《復(fù)合材料學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025重慶建筑安全員-B證考試題庫附答案
- 2025年-浙江省安全員C證考試(專職安全員)題庫附答案
- 2025貴州省建筑安全員-C證考試(專職安全員)題庫及答案
- 廣州醫(yī)科大學(xué)《材料創(chuàng)新導(dǎo)論》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025四川省建筑安全員知識題庫附答案
- 2025遼寧建筑安全員B證(項目經(jīng)理)考試題庫
- 2024年道路清障拖車服務(wù)合同協(xié)議3篇
- 2025年1月八省聯(lián)考河南新高考物理試卷真題(含答案詳解)
- 建設(shè)工程檢試驗工作管理實施指引
- 軟件租賃合同范例
- 匯川技術(shù)在線測評題及答案
- 廣東省廣州市2023-2024學(xué)年高一上學(xué)期期末物理試卷(含答案)
- 安徽省蕪湖市2023-2024學(xué)年高一上學(xué)期期末考試 物理 含解析
- 食品企業(yè)產(chǎn)品出廠檢驗報告
- 鍋爐本體水壓試驗記錄
- 綜治工作中心信訪穩(wěn)定和矛盾糾紛排查化解工作流程圖
- 牛初乳知識課件
評論
0/150
提交評論