版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
考
試
題
庫
程序設(shè)計(jì)(老師)
題目:用函數(shù)求一個(gè)N階方陣右下三角元素的和(包括副對角線上的元素)。
^include<stdlib.h>
ttinclude-stdio.h〃
ttdefineN3
intsum(inta[][N])
(
/**********Program**********/
/**********End**********/
)
main()
{inta[N][N],i,j;
clrscr();
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(,zsum=%5d\n/z,sum(a));
yzj();
getchO;
yzjO
(
FILE*IN,*OUT;
intm,n;
inti[3][3];
into;
IN二fopen(〃in.dat〃,〃r〃);
if(IN=二NULL)
{printf("ReadFileError");
OUT=fopen("out.dat〃,〃w〃);
if(OUT=NULL)
{printf(z,WriteFileError");
i
for(m=0;m<3;m++)
for(n=0;n<3;n++)
fscanf(IN,〃%d〃,&i[m][n]);
o=sum(i);
fprintf(OUT,/z%d\n/z,o);
fclose(IN);
fclose(OUT);
I
答案:
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);
1
題目:編寫程序,實(shí)現(xiàn)矩陣(3行3歹U)的轉(zhuǎn)置(即行列互換)
例如,輸入下面的矩陣:
100200300
400500600
700800900
程序輸出:
100400700
200500800
300600900
^include"stdio.h"
intfun(intarray[3][3])
(
/**********Prograiii**********/
/**********End**********/
main()
inti,j;
intarray[3][3]={{100,200,300},
{400,500,600),
(700,800,900)};
clrscr();
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
printf(/,%7d,/,arrayEi][j]);
printf(〃\n〃);
I
fun(array);
printf(''Convertedarray:\n,z);
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
printf("%7d”,array[i][j]);
printf('\n");
)
getch();
NONOO;
}
NONOO
{
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”,arrayLi][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];
array[i][j]=array[j][i];
array[j]}
題目:請編寫一個(gè)函數(shù)fun,函數(shù)的功能是:統(tǒng)計(jì)出若干個(gè)學(xué)生的平均成績,最
高
分以及得最高分的人數(shù)。例如,輸入
10名學(xué)生的成績分別為92,87,68,
56,92,84,67,75,92,66,則輸
出平均成績?yōu)?7.9,最高分為92,得
最高分的人數(shù)為3人。
ttinclude"stdio.h
floatMax=0;
intJ=0;
floatfun(floatarray[],intn)
(
/**********Prograiii**********/
/**********End**********/
)
main()
(
floata[10],ave;
inti=0;
for(i=0;i<10;i++)
scanf(〃%f〃,&a[i]);
ave=fun(a,10);
printf(〃ave=%f\n〃,ave);
printf(〃max=%f\n〃,Max);
printf("Total:%d\n',J);
yzj0;
)
yzj0
(
FILE*IN,*0UT;
floatiIN[10],iOUT;
intiCOUNT;
IN=fopen("8.in","r");
if(IN==NULL)
{printf("PleaseVerifyTheCurrerntDir..ItMayBeChanged");
)
0UT=fopen(,z8.out","w");
if(OUT==NULL)
{printf("PleaseVerifyTheCurrentDir..ItMayBeChanged");
for(iC0UNT=0;iC0UNT<10;iC0UNT++)
fscanf(IN,,z%fz,,&iIN[iCOUNT]);iOUT-fun(ilN,10);
fprintf(OUT,z,%f%f\n〃,iOUT,Max);
fclose(IN);
fclose(OUT);
i
答案:
inti;floatsum=0,ave;
Max=array[0];
for(i=0;i<n;i++)
{if(Max<array[i])Max=array[i];
sum=sum+array[i];}
ave=sum/n;
for(i=0;i<n;i++)
if(array[i]==Max)J++;
return(ave);
題目:編寫函數(shù)fun求l!+2!+3!+……+n!
的和,在main函數(shù)中由鍵盤輸入n值,
并輸出運(yùn)算結(jié)果。請編寫fun函數(shù)。
例如:若n值為20,則結(jié)果為
268040729o
#include<stdio.h>
floatfun(intn)
{/**********Prograni**********/
/**********End**********/}main()
{inti,n;
longintresult;
scanf(〃%d〃,&n);
result=fun(n);
printf(〃%ld\n〃,result);
yzj0;}
yzj0
{FILE*IN,*0UT;
inti;
intilN;
longintiOUT;
IN=fopen("l.in","r");
if(IN==NULL)
{printf("PleaseVerifyTheCurrerntDir..ItMayBeChanged");
)
0UT=fopen(z,l.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;
floatf=l,s=0;
for(i=l;i<-n;i++)
{f=f*i;
s=s+f;}
returns;題目:編寫函數(shù)fun,函數(shù)的功能是:從字符串s中刪除指定的字符
ttinclude"stdio.h〃
fun(chars[],charc)
{/**********Prograni**********/
/**********End**********/
)
main()
(
staticcharstr口二〃turbocandborlandc++〃;charc='a';
fun(str,c);
printf(z/str=%s\n,z,str);
yzj();
yzj0
FILE*IN,*OUT;
charsIN[80],cIN;
inti;
IN二fopen(〃13?in”,〃r〃);
if(IN=NULL)
{printf(z,PleaseVerifyTheCurrerntDir..ItMayBeChanged");
)
0UT=fopen(/z13.out”,〃w〃);
if(OUT二二NULL)
{printf("PleaseVerifyTheCurrentDir..ItMayBeChanged");
)
for(i=0;i<10;i++)
fscanf(IN,/z%sz/,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';
題目:請編寫一個(gè)函數(shù)fun,函數(shù)的功能是:求出NXM整型數(shù)組的最大元素及
其所在的行坐標(biāo)及列坐標(biāo)(如果最大
元素不唯一,選擇位置在最前面的一
個(gè))。
例如:輸入的數(shù)組為:
123
41
56
12189
10112
求出的最大數(shù)為18,行坐標(biāo)為2,列坐標(biāo)為lottdefineN4
ttdefineM3
#include<stdio.h>
intRow,Col;
main()
(
inta[N][M],i,j,max,row,col;
printf("inputaarray/');
for(i=0;i<N;i++)
for(j=0;j<M;j++)
scanf(〃/d〃,&a[i][j]);
for(i=0;i<N;i++)
for(j=0;j<M;j++)
printf("%d",a[i][j]);
printf('\n");
)
max=fun(a);
printf(/,max=%d,row=%d,col=%d//,max,Row,Col);
yzj0;
)
intfun(intarray[N][M])
{
/**********Prograni**********/
/**********End**********/
)
yzj0
(
FILE*IN,*0UT;
intiIN[N][M],iOUT,i,j;
IN=fopen("9.in","r");
if(IN==NULL)
{printf("PleaseVerifyTheCurrerntDir..ItMayBeChanged");
)
0UT=fopen(/z9.out","w");
if(OUT==NULL)
{printf("PleaseVerifyTheCurrentDir..ItMayBeChanged");
)
for(i=0;i<N;i++)
for(j=0;j<M;j++)
fscanf(IN,[j]);
iOUT=fun(iIN);
fprintf(OUT,,z%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<N;i++)
{for(j=0;j<M;j++)
if(max<array[i][j])
{max=array[i][j];
Row二i;
Col=j;}
}
return(max);
題目:從鍵盤為一維整型數(shù)組輸入10個(gè)整數(shù),調(diào)用fun函數(shù)找出其中最小的數(shù),
并在main函數(shù)中輸出。請編寫fun
函數(shù)。
ttinclude"stdio.h〃
intfun(intx[],intn)
/**********Prograiii**********/
/**********End**********/
)
main()
(
inta[10],i,min;
for(i=O;i<10;i++)
scanf(/z%d,z,&a[i]);
for(i=0;i<10;i++)
printf(〃%3d”,a[i]);
printf(〃\n〃);
min=fun(a,10);
printf(〃/d\n〃,min);
yzj0;
yzj()
FILE*IN,*OUT;
intiIN[10],i;
intiOUT,iCOUNT;
IN=fopen(z/4.in","r");
if(IN==NULL)
{printf("PleaseVerifyTheCurrerntDir..ItMayBeChanged");
)
0UT=fopen(//4.out","w");
if(OUT==NULL)
{printf("PleaseVerifyTheCurrentDir..ItMayBeChanged");
)
for(i=0;i<10;i++)
{for(iC0UNT=0;iC0UNT<10;iC0UNT++)
fscanf(IN,&iIN[iCOUNT]);
iOUT=fun(iIN,10);
fprintf(OUT,"%d\n”,iOUT);
fclose(IN);
fclose(OUT);
)
答案:
intmin,i;
min=x[0];
for(i=l;i<n;i++)
{if(x[i]<min)min=x[i];}
returnmin;
題目:從鍵盤輸入一個(gè)大于3的整數(shù),調(diào)用函數(shù)fun判斷其是否素?cái)?shù),然后在
main函數(shù)中輸出相應(yīng)的結(jié)論信息。例
如:7是素?cái)?shù),8不是素?cái)?shù)。請編寫
fun函數(shù)。素?cái)?shù)是僅能被1和自身整
除的數(shù)
ttinclude"stdio.h"
main()
{intm,flag;
printf(z/inputaninteger:z,);
scanf(〃/d〃,&m);
flag=fun(m);
if(flag)
printf(〃%disaprime.\n〃,m);
else
printf(^%disnotaprime.\nz/,m);
yzj();
)
intfun(intn)
{/**********Prograni**********/
/**********End**********/}
yzj0
(
FILE*IN,*OUT;
intilN,iOUT,i;
IN=fopen("5.in","r");
if(IN==NULL)
{printf("PleaseVerifyTheCurrerntDir..ItMayBeChanged");
)
0UT=fopen(/z5.out",“『);
if(OUT==NULL)
{printf("PleaseVerifyTheCurrentDir..ItMayBeChanged");
)
for(i=0;i<10;i++)
{fscanf(IN,;
iOUT=fun(iIN);
fprintf(OUT,"%d\n",iOUT);
)
fclose(IN);
fclose(OUT);
)答案:
inti;
intj;
j=1;
for(i=2;i〈n;i++){if(n%i==O)j=0;}
returnj;
題目:編寫函數(shù)fun其功能是在鍵盤上輸入一個(gè)3行3列矩陣的各個(gè)元素的值
(值為整數(shù)),然后輸出主對角線元素的積,并在fun()函數(shù)中輸出。
ttinclude"stdio.h〃
main()
{inti,j,s,a[3][3];;
for(i=0;i<3;i++)
(
for(j=0;j<3;j++)
scanf(如d",&a[i][j]);}
s=fun(a);
printf("Sum=%d\n”,s);
yzj0;
getchO;}
intfun(inta[3][3])
/**********Prc)grani**********/
/**********End**********/
i
yzj0
(
FILE*IN,*OUT;
intm;
intn;
inti[3][3];
into;
IN=fopenCin.dat〃,〃r〃);
if(IN==NULL)
{printf(z,ReadFileError");
OUT=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=fun(i);
(
fprintf(OUT,z/%d\n/z,o);getchO;
)
fclose(IN);
fclose(OUT);
)
答案:
intsum;
inti,j;
sum=l;
for(i=0;i<3;i++)
sum=sum*a[i]Li];
returnsum;
題目:請編寫一個(gè)函數(shù)fun,函數(shù)的功能是:將主函數(shù)中輸入的字符串反序存
放。
例如:輸入字符串〃abcdefg〃,則應(yīng)輸
出〃gfedcba”。
#include<stdio.h>
ttinclude<conio.h>
ttdefineN81
charfun(char*str,intn)
(
/**********Program**********/
/**********End**********/
main()
chars[N];
int1;
clrscr();
printf("inputastring:,/);gets(s);
l=strlen(s);
fun(s,1);
printf(Z/Thenewstringis:");puts(s);
yzj0;
)
yzj0
(
FILE*IN,*OUT;
charsIN[20],*s0UT;
intiLENGTH;
IN=fopen("7.in","r");
if(IN==NULL)
{printf("PleaseVerifyTheCurrerntDir..ItMayBeChanged");
0UT=fopen("7.out","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-l;i<j;i++,j—)
/*或者for(i=0,j=n-l;i<n/2;i++,j--)*/{c=*(str+i);
*(str+i)=*(str+j);
*(str+j)=c;}
題目:請編寫一個(gè)函數(shù)fun,函數(shù)的功能是:輸入一個(gè)字符串,過濾此串,只保留
串中的字母字符,并統(tǒng)計(jì)新生成串中
包含的字母個(gè)數(shù)。例如:輸入的字符
串為ab234$df4,新生成的串為
abdfo
ttinclude<stdio.h>
ttinclude<conio.h>
ttdefineN80
main()
(
charstr[N];
ints;
clrscr();
printf("inputastring:zz);gets(str);
printf("Theoriginalstringis:〃);puts(str);
s=fun(str);
printf(z,Thenewstringis:〃);puts(str);
printf(''Thereare%dcharinthenewstring./z,s);
yzj();
fun(char*ptr)
{
/**********Progra田**********/
/**********End**********/
)
yzj0
{
FILE*IN,*OUT;
charsIN[N];
intiOUT;
IN=fopen("10.in","r");
if(IN==NULL)
{printf("PleaseVerifyTheCurrerntDir..ItMayBeChanged");
)
0UT=fopen(/z10.out","w");
if(OUT==NULL)
{printf("PleaseVerifyTheCurrentDir..ItMayBeChanged");
)
fscanf(IN,"%s”,sIN);
iOUT=fun(sIN);
fprintf(OUT,/z%d%s\n”,iOUT,sIN);
fclose(IN);
fclose(OUT):
)
答案:
inti,j;
for(i=0,j=O;*(ptr+i)!='\O';i++)
if(*(ptr+i)<=,z'&&
*(ptr+i)>='a'*(ptr+i)<='Z'&&*(ptr+i)>='A'){*(ptr+j)=*(ptr+i);
j++;}
*(ptr+j)=\0J;
return(j);
題目:編寫函數(shù)用選擇排序法對數(shù)組中的數(shù)據(jù)進(jìn)行從小到大的排序。
ttinclude<stdlib.h>
#include<stdio.h>
voidsort(inta[],intn)
(
/**********Prograni**********/
/**********End**********/
I
main()
{inta[13],i;
clrscr();
for(i=0;i<13;i++)
a[i]=random(20)-5;
for(i=0;i<13;i++)
printf(,z%3d/z,a[i]);
printf(〃\n-------------------\n〃);
sort(a,13);
for(i=0;i<13;i++)
printf(,z%3d,z,a[i]);
yzj0;
getchO;
}
yzjO
(
FILE*IN,*0UT;
intn;
inti[10];
into;
IN=fopen(,zin.dat〃,〃r〃);
if(IN=NULL)
{printf("ReadFileError");
}
OUT=fopen(〃out.dat〃,〃w〃);
if(OUT二二NULL)
(printf(z,WriteFileError");
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);
答案:
inti,j,k,t:
for(i=0;i<n-l;i++)
{k=i;
for(j=i+l;j<n;j++)
if(a[k]>a[j])k=j:
if(k!=i)
{t=a[i];
a[i]=a[k];
a[k]=t;
)
)
題目:編寫函數(shù)fun,函數(shù)的功能是:求一分?jǐn)?shù)序列2/1,3/2,5/3,8/5,13/8,
21/13…的前n項(xiàng)之和。
每一分?jǐn)?shù)的分母是前兩項(xiàng)的分母之
和
每一分?jǐn)?shù)的分子是前兩項(xiàng)的分子之
和
例如:求前20項(xiàng)之和的值為32.660259。ftinclude"stdio.h
floatfun(intn)
(
/**********Program**********/
/**********End**********/
)
main()
{floaty;
y=fun(20);
printf(〃y二%f\n〃,y);
yzj();
I
yzj0
(
FILE*IN,*0UT;
intilN,i;
floatfOUT;
IN=fopen("30.in","r");
if(IN==NULL)
{printf("PleaseVerifyTheCurrerntDir..ItMayBeChanged");
)
0UT=fopen(z/30.out","w");
if(OUT==NULL)
{printf("PleaseVerifyTheCurrentDir..ItMayBeChanged");
)
for(i=0;i<10;i++)
{fscanf(IN,"%d”,&iIN);
fOUT=fun(iIN);
fprintf(OUT,fOUT);
)
fclose(IN);
fclose(OUT);
}答案:inti;
floatf1=1,f2=l,f3,s=0;
for(i=l;i<=n;i++)
{f3=fl+f2;
fl=f2;
f2=f3;
s=s+f2/fl;
)
returns;
題目:調(diào)用函數(shù)fun判斷一個(gè)三位數(shù)是否"
水仙花數(shù)”。在main函數(shù)中從鍵盤輸
入一個(gè)三位數(shù),并輸出判斷結(jié)果。
請編寫fun函數(shù)。所謂“水仙花數(shù)〃是
指一個(gè)3位數(shù),其各位數(shù)字立方和等
于該數(shù)本身。例如,153是一個(gè)水仙
花數(shù),因?yàn)?53=13+53+33。
ttinclude"stdio.h〃
intfun(intn)
/**********Prograiii**********/
/**********End**********/
)
main()
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《電源轉(zhuǎn)移》課件
- 《實(shí)木家具調(diào)研報(bào)告》課件
- 《香港言語治療服務(wù)》課件
- 課件人力資源開發(fā)與
- 2024年醫(yī)療設(shè)備采購與供應(yīng)合同3篇
- 2024年生產(chǎn)車間承包與人力資源整合合同范本3篇
- 改裝環(huán)衛(wèi)三輪車協(xié)議書(2篇)
- 2024年物聯(lián)網(wǎng)技術(shù)在農(nóng)業(yè)中的應(yīng)用合同
- 2025年梧州貨運(yùn)從業(yè)資格證模擬考試
- 2025年珠海道路運(yùn)輸從業(yè)資格證考試內(nèi)容是什么
- 知識圖譜課件
- 新視野大學(xué)英語(第三版)視聽說教程3完整答案
- 人教部編版二年級語文上冊 第七單元主題閱讀【含答案】
- 叉車使用記錄表模板
- 受限空間中毒窒息事故現(xiàn)場處置專題方案
- 斯里蘭卡入境卡
- word企業(yè)管理封面-可編輯
- 小學(xué)《體育與健康》 人教版 三年級 體操-《跪跳起》 微課ppt 課件
- 新版《醫(yī)療器械監(jiān)督管理?xiàng)l例》知識考核題庫與答案
- 敬老院食品安全事故處置預(yù)案
- 《醫(yī)用化學(xué)》課程教學(xué)大綱
評論
0/150
提交評論