




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
IMBstandardizationoffice[IMB5AB-IMBK08-IMB2C]
試卷編號:9478
所屬語言:C語言
試卷總分:1260分
共有題型:1種
一、程序設計共126題(共計1260分)
第1題(分)題號:507難度:易第1章
/*--------------------------------------------------
【程序設計】
功能:編寫函數fun求一個字符串的長度,在main函數中
輸入字符串,并輸出其長度。
--------------------------------------------------*/
#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章
/*--------------------------------------------------
【程序設計】
功能:用函數求N個[10,60]上的整數中能被5整除的最大
的數,如存在則返回這個最大值,如果不存在則
返回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章
/*--------------------------------------------------
【程序設計】
功能:編寫函數fun其功能是:根據整型形參m,計算如下
公式的值:y=l/2!+l/4!+-+l/m!(m是偶數)
--------------------------------------------------*/
^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章
/*--------------------------------------------------
【程序設計】
功能:求1到100之間的偶數之積。
--------------------------------------------------*/
#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(設2=0)y*=i;
returny;
第5題(分)題號:62難度:難第2章
【程序設計】
功能:求5行5列矩陣的主、副對角線上元素之和。注意,
兩條對角線相交的元素只加一次。
例如:主函數中給出的矩陣的兩條對角線的和為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章
/*
【程序設計】
功能:輸入2個學生3門課的成績,計算學生成績平均分,
課程平均分和最高分.
例如:輸入2名學生3門課的成績分別為92,87,68,56,
92,84則
學生1平均分:
學生2平均分:
課程1平均分:
課程2平均分:
課程3平均分:
最高分為:92
--------------------------------------------------*/
[include<>
voidwwjt();
/*定義全局變量*/
/*學生成績平均分*/
floatStuAgv[2];
/*課程平均分*/
floatCouAgv[3];
/*所有學生的所有課程最高分*/
floatMax=0;
/*說明:需要在下面函數中把題干要求中的結果賦值到上面定義一變量中*/
voidfun(floatscore[2][3])
{
/**********Program**********/
/**********End**********/
}
voidmain()
(
inti,j;
floatscore[2][3];
printf("輸入學生的成績:“);
for(i=0;i<2;i++)
for(j=0:j<3;j++)
scanf&score[i][j]);
printf("\n輸出學生的成績:“);
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("第猊個學生的平均成績是:%\n”,i+1,StuAgv[i]);
for(j=0;j<3;j++)
printf("第%d門課的平均成績是:%\n”,j+1,CouAgv[j]);
printf("所有分數中的最高分為:%.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個學生平均分*/
(
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章
/*--------------------------------------------------
【程序設計】
功能:判斷一個整數w的各位數字平方之和能否被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章
/*---------------------------------------------------------
【程序設計】
題目:編程序,輸入兩個字符串a,b(<40個字符),將兩者連接后輸出c(不能用strcat庫函數)。
#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章
/*------------------------------------------------------------
【程序設計】
請編一個函數voidfun(inttt[M][N],intpp[N]),tt指向
一個M行N列的二維數組,求出二維數組每列中最大元素,并依次
放入pp所指的一維數組中。二維數組中的數已在主函數中給出。
注意:部分源程序給出如下。
請勿改動主函數main和其他函數中的任何內容,僅在函數
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章
/*--------------------------------------------------
【程序設計】
功能:判斷m是否為素數。
--------------------------------------------------*/
^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章
/*------------------------------------------------------------------------
【程序設計】
功能:求一組數中大于平均值的數的個數。
例如:給定的一組數為1,3,6,9,4,23,35,67,12,88時,函
數值為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章
/*---------------------------------------------------------
【程序設計】
題目:請編寫程序,輸入一個華氏溫度,要求輸出攝氏溫度。
公式為C=5/9*(F-32)
要求:輸入為整型,輸出為實型,保留兩位小數。
^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章
/*------------------------------------------------------------
【程序設計】
題目:對從鍵盤輸入的10個整數進行降序排序;
排序后輸出第2大的數,請編fun函數。
------------------------------------------------------------*/
#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章
【程序設計】
功能:編寫程序,實現矩陣(3行3歹IJ)的轉置(即行列互換)
例如:輸入下面的矩陣:
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(產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章
【程序設計】
功能:求一個四位數的各位數字的立方和
--------------------------------------------------*/
#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章
【程序設計】
功能:輸入一個字符串,過濾此串,只保留串中的字母字
符,并統計新生成串中包含的字母個數。
例如:輸入的字符串為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章
/*---------------------------------------------------------
【程序設計】
題目:假設m是一個三位數,編寫程序輸出由m的個位、十位、百
位反序而成的三位數(例如:123反序為321)。請編fun函數。
---------------------------------------------------------*/
#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章
/*
【程序設計】
功能:求I到100之間的偶數之積。
*/
#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章
【程序設計】
編寫函數fun(),它的功能是求n以內(不包括n)同時能被5與11整
除的所有自然數之和的平方根s,并作為函數值返回。
例如:n為1000時,函數值應為s=。
注意:部分源程序給出如下。
請勿改動主函數main和其他函數中的任何內容,僅在函數
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章
【程序設計】
功能:將字符串中的小寫字母轉換為對應的大寫字母,
其它字符不變。
^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章
【程序設計】
功能:產生20個[30,120]上的隨機整數放入二維數組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章
/*--------------------------------------------------------
【程序設計】
功能:對某一正數的值保留2位小數,并對第三位進行四舍
五入。
--------------------------------------------------------*/
#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章
/*------------
【程序設計】
題目:從鍵盤上輸入一個字符串,放在數組中,要求將字符串中
的大寫字母轉換成小寫字母,小寫字母轉換成大寫字母,
非字母字符不變,并輸出
^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章
/*--------------------------------------------------
【程序設計】
功能:對長度為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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 服務行業教學
- 中年人抑郁癥個案護理
- 工藝規程培訓課件
- 0到6歲幼兒安全課件
- 【名校密卷】人教版數學四年級下冊期中測試卷(六)及答案
- 浙江工商職業技術學院《社會市場調研》2023-2024學年第二學期期末試卷
- 5年級體育理論知識課件
- 四川外國語大學《外國文學經典作品選講》2023-2024學年第一學期期末試卷
- 河北省承德市圍場滿族蒙古族自治縣2024-2025學年數學四年級第二學期期末檢測模擬試題含解析
- 海南軟件職業技術學院《建筑設計A3》2023-2024學年第一學期期末試卷
- 幼兒園優質公開課:中班數學活動《營救汪汪隊》超清有聲動態課件
- 加油站安全生產投入臺賬
- 人教版七年級數學下冊 (實際問題與二元一次方程組)二元一次方程組課件(第2課時)
- 對聯知識及練習題有答案
- 2023裝配式箱泵一體化消防給水泵站應用技術規程
- 二年級勞動課-摘菜與洗菜
- (完整)消化性潰瘍PPT課件ppt
- 倉庫每日檢查記錄表
- 用A4紙做會議《姓名牌》模版
- 醫院陪護服務投標方案(技術標 )
- 幼兒園小班音樂教案《做客》含反思
評論
0/150
提交評論