C語言期末復習試題_第1頁
C語言期末復習試題_第2頁
C語言期末復習試題_第3頁
C語言期末復習試題_第4頁
C語言期末復習試題_第5頁
已閱讀5頁,還剩87頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

試卷編號:10767

所屬語言:C語言

試卷方案:TC」50604083824

試卷總分:570分

共有題型:1種

一、程序設計共57題(共計570分)

第1題(10.0分)題號:374難度:易第2章

/*------------------------------------------------

【程序設計】

功能:編寫函數(shù)實現(xiàn)兩個數(shù)據(jù)的交換,在主函數(shù)中輸入任

意三個數(shù)據(jù),調用函數(shù)對這三個數(shù)據(jù)從大到小排序。

*/

#include<stdio.h>

voidwwjt();

voidswap(int*a,int*b)

(

/**********Program**********/

/**********End**********/

}

main()

I

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();

)

voidwjt()

FILE*IN,*OUT:

intm,n;

inti[2];

IN=fopen(*in.dat","r");

if(IN==NULL)

(

printf(*ReadFILEError");

)

0UT=fopen(*out.dal","w");

if(OUT==NULL)

{

printf("WriteFILEError");

)

for(n=0;n<3;n++)

(

for(m=0;m<2;m++)

(

fscanf(IN,*%d*,&i[m]);

)

swap(&i[0],&i[1]);

fprintf(OUT,*%d\n*,i[0]);

fprintf(OUT,"%d\n",i[l]);

)

fclose(IN);

fclose(OUT);

答案:------------------------

intk;

k=*a;

*a=*b;

*b=k;

第2題(10.0分)題號:381難度:易第2章

【程序設計】

功能:求一批數(shù)中小于平均值的數(shù)的個數(shù)。

*/

#include<stdio.h>

voidwwjt();

intaverage_num(inta[],intn)

(

/**********Prograni**********/

/**********End**********/

)

main()

(

intn,a[100],i,num;

scanf&n);

for(i=0;i<n;i++)

scanf(歿d",&a[i]);

num=average_num(a,n);

printf(*thenumis:%d\n*?num);

wwjtO;

)

voidwwjtO

{

FILE*1N,*OUT;

intn;

inti[10];

into;

IN=fopen(*in.dat","r");

if(IN==NULL)

{

printf("ReadBILEError");

)

OUT=fopen("out.dat","w");

if(OUT==NULL)

(

printf(*WriteFILEError*);

}

for(n=0;n<5;n++)

{

fscanf(IN,"*d",&i[n]);

)

o=average_num(i,5);

fprintf(OUT,"%d\n〃,o);

fclose(IN);

fclose(OUT);

)

答案:-----------------------

inti,sum=0,k=0;

doubleaverage;

for(i=0;i<n;i++)

sum=sum+a[i];

average=sum*l.0/n;

for(i=0;i<n;iii)

if(average>a[i])k++;

return(k):

第3題(10.0分)題號:406難度:易第2章

/*--------------------------------------------------

【程序設計】

功能:編寫函數(shù)fun求1000以內全部7的倍數(shù)之和。

--------------------------------------------------*/

^defineN1000

#include<stdio.h>

voidwjt0;

intfun(intm)

(

/**********Prograrn**********/

/**********End**********/

voidmainO

intsum;

sum=fun(7);

printfC%d以內全部%d的倍數(shù)之和為:%d\n*,N,7,sum);

wwjtO;

)

voidwwjl()

(

FILE*IN,*OUT;

intn;

inti[10];

into;

OUT=fopen(*out.dat","w");

if(OUT==NULL)

{

printfCWriteFILEError");

)

o=fun(6);

fprintf(OUT,“與d\n",o);

fclose(IN);

fclose(OUT);

)

答案:-

ints=0,i;

for(i-l:i<N;i++)

if(i%m==0)

s+=i;

returns;

第4題(10.0分)題號:324難度:易第2章

/*---------------------------------------------------

【程序設計】

功能:能計算從1開頭到n的自然數(shù)中偶數(shù)的平方的和,n由

鍵盤輸入,并在main。函數(shù)中輸出。(n是偶數(shù))

-------------------------------------------------------------------------*/

4include<stdio.h>

voidwwjt();

intfun(intn)

(

/**********Program**********/'

/**********End**********/

)

mainO

(

intm;

printf(^Enterm:");

scanf&m);

printf(*\nTheresultis%d\n",fun(m));

wwjt();

}

voidwwjt()

(

FILE*IN,*OUT;

intt;

into;

intc;

IN=fopen(*in.dal","r");

if(IN==NULL)

{

printf(*ReadFILEError");

)

OUT:fopen("out.dat","w");

if(OUT==NULL)

{

printfCWriteFILEError");

)

for(c=l;c<=5;c++)

o=fun(t);

fprintf(OUT,"%d\n",o);

)

fclose(IN);

fclose(OUT);

}

答案:---------------------

intsum,i;

sum=0;

for(i=2;i<=n;i=i+2)

(

sum=sum+i*i;}

return(sum);

第5題(10.0分)題號:2難度:中第1章

/*---------------------------------------------------------

【程序設計】

題目:寫程序求1-3+5-7+…-99+101的值

要求:使用程序中定義的變量

---------------------------------------------------------*/

#include*stdio.h"

voidwwjt();

〃函數(shù)功能:求l-3+5-7+?-+n的值

intfun(intn)

(

inti,s=0,f=l;//i定義為循環(huán)變量,s為1-3+5-7+…-n的值

/**********Program**********/

/**********End**********/

returns;

main()

printf(飛d”,fun(lOl));

wwjtO;

)

voidwjt()

(

FILE*IN,*OUT;

inti,n;

IN=fopen(*in.dat","r");

if(IN==NULL)

{

printf(^PleaseVerifyTheCurrentDir..ItMayBeChanged*);

)

OUT=fopen("out.dat","w");

if(OUT=NULL)

{

printf(^PleaseVerifyTheCurrentDir..ItMayBeChanged");

)

for(i=0;i<5;i++)

{

fscanf(IN,"%i",&n);

fprintf(OUT,*%ld\n*,fun(n));

}

fclose(IN);

fclose(OUT);

}

答案:for(i=l;i<=n;i+=2)

(

s=s+i*f;

f=-f;

)

第6題(10.0分)題號:357難度:易第2章

【程序設計】

功能:依據(jù)整型形參m,計算如下公式的值:

y=l/5+l/6+1/7+1/8+1/9+1/10...+l/(m+5)

例如:若m=9,則應輸出:1.168229

------------------------------------------------------------------------*/

^include<stdio.h>

voidwwjt();

doublefun(intm)

(

/**********Program**********/'

/**********End**********/

)

main()

(

intn;

printf("Entern:");

scanf("%d",&n);

printf(^XnTheresultisfun(n));

wwjt();

)

voidwjt()

(

FILE*IN,*0UT;

inti;

intt;

doubleo;

IN=fopen(*in.dat","r");

if(IN==NULL)

(

printf("ReadFILEError");

}

OUT=fopen(*out.dat","w");

if(OUT==NULL)

printf("WriteFILEError*);

)

for(i=0;i<5;i++)

(

fscanf(IN,

o=fun(t);

fprintf(OUT,o);

)

fclose(IN);

fclose(OUT);

}

答案:-

doubley=0;

inti;

for(i=0;i<=m;i++)

{y?=l.0/(i*5);}

return(y);

第7題(10.0分)題號:392難度:中第2章

/*--------------------------------------------------

【程序設計】

功能:求一批數(shù)中最大值和最小值的積。

itdefineN30

ttincludc"stdlib.h"

#include<stdio.h>

voidwjt0;

intmax_min(inta[],intn)

(

/**********Prograrn**********/

/**********End**********/

mainO

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(*\nO;

)

k=maxmin(a,N);

printf(*theresultis:%d\n*,k);

wwjt();

)

voidwwjt()

(

FILE*IN,*OUT;

intn;

inti[10];

into;

IN=fopen(*in.dat","r");

if(IN=NULL)

(

printfCReadFILEError");

)

OUT=fopen("out.dat","w");

if(OUT==NULL)

(

printfCWriteFILEError");

)

for(n=0;n<10;n++)

{

fscanf(IN,"%d”,&i[n]);

)

o=max_min(i,10);

fprintf(OUT,o);

fclose(IN);

fclose(OUT);

答案:-

inti,max,min;

max=min=a[O];

for(i=l;i<n;i++)

if(a[i]>max)max=a[i];

elseif(a[i]<min)min=a[i];

return(max*min);

第8題(10.0分)題號:342難度:中第2章

/*----------

【程序設計】

功能:在鍵盤上輸入?個3行3列矩陣的各個元素的值(值

為整數(shù)),然后輸出矩陣第一行與第三行元素之和,

并在fun()函數(shù)中輸出。

^include<stdio.h>

voidwwjt();

voidfun(inta[3][3])

(

/**********Prograni**********/

/**********End**********/

)

main()

(

inti,j,s,a[3][3];

for(i=0;i<3;i++)

(

for(j=0;j<3;j++)

scanf&a[i][j]);

)

s=fun(a);

printf(*Sum=%d\n*,s);

wwjt();

}

voidwwjt()

(

FILE*IN,*OUT;

intm;

intn;

inti[3][3];

into;

IN=fopen(*in.dat","r");

if(IN==NULL)

{

printf("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,"%d\n”,o);

getch();

}

fclose(IN);

fclose(OUT);

}

答案:-

intsum;

inti,j;

sum=0;

for(i=0;i<3;i+=2)

for(j=0;j<3;j++)

sum=sum+a[i][j];

returnsum;

笫9題(10.0分)題號:364難度:中笫2章

/*------------------------------------------------------------------------

【程序設計】

功能:求一個四位數(shù)的各位數(shù)字的立方和。

-----------------------------------------------------------------------*/

^include<stdio.h>

voidwwjt();

intfun(intn)

(

/**********Prograrn**********/

/**********End**********/

)

mainO

{

intk;

k=fun(1234);

printf("k=%d\n”,k);

wwjl();

)

voidwjt()

(

FILE*IN,*OUT;

intilN,iOUT,i;

IN=fopen("in.dat","r");

if(IN==NULL)

(

printf(*PleaseVerifyTheCurrerntDir..itMayBeChanged");

}

OUT=fopen("out.dat","\v");

if(OUT=NULL)

{

printf(*PleaseVerifyTheCurrentDir..itMayBeChanged");

)

for(i=0;i<5;i++)

{

fscanfdN,

iOUT=fun(iIN);

fprintf(OUT,iOUT);

)

fclose(IN);

fclose(OUT);

)

答案:---------------------

intd,s=0;

while(n>0)

{d=n%10;

s+=d*d*d;

n/=10;

1

returns;

第10題(10.0分)題號:502難度:中第20章

^include<stdio.h>

/*-----------------------------------------------------------------------------------

【程序設計】

題目:用while語句求1?100的累計和。

-----------------------------------------------------------------------------------*/

voidwjt();

intfun(intn)

/**********Program**********/

/**********End**********/

}

voidmain()

(

intsum=0;

sum=fun(100);

printf("sum=%d\n",sum);

wwjtO;

)

voidwwjt()

(

FILE*IN,*0UT;

inti;

intilN,iOUT;

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);

)

答案:inti=l,sum=0;

while(i<=n)

sum=sum+i;

i++;

)

returnsum;

第11題(10.0分)題號:53難度:中第1章

【程序設計】

功能:求一個四位數(shù)的各位數(shù)字的立方和

--------------------------------------------------------*/

^include<stdio.h>

voidwjt();

intfun(intn)

(

/**********Program**********/'

/**********End**********/

mainO

{

intk;

k=fun(1234);

printf(*k=%d\n*?k);

wwjt();

)

voidwwjt()

(

FILE*IN,*OUT;

intilN,iOUT,i;

IN=fopen("22.

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,

iOUT=fun(iIN);

fprintf(OUT,v%d\n",iOUT);

)

fclose(IN);

fclose(OUT);

答案:-

intd,k,s=0;

while(n>0)

{d=n%10;

s+=d*d*d;

n/=10;

}

returns;

第12題(10.0分)題號:409難度:易第20章

【程序設計】

題目:輸入華氏溫度求攝氏溫度。轉換公式為c=5/9(f-32),

輸出結果取兩位小數(shù)。

---------------------------------------------------------*/

^include<stdio.h>

voidwjt();

doublefun(doublem)

/**********Prograrn**********/

/**********End**********/

voidmain()

(

doublec,f;

prinlf("請輸入一個華氏溫度:");

scanf&f);

c=fun(f);

printf("攝氏溫度為:%5.2f\n*?c);

wwjt();

voidwjt()

(

FILE*IN,*OUT;

inti;

doubleilN,iOUT;

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,*%f*,&iIN);

iOUT=fun(iIN);

fprintf(OUT,iOUT);

)

fclose(IN);

fclose(OUT);

答案:floatn;

n=(5.0/9.0)*(m-32);

returnn;

第13題(10.0分)題號:345難度:中第2章

/+-----------------------------------------------------

【程序設計】

功能:將兩個兩位數(shù)的正整數(shù)a、b合并形成?個整數(shù)放在c

中。合并的方式是:將a數(shù)的十位和個位數(shù)依次放在

c數(shù)的千位和十位上,b數(shù)的十位和個位數(shù)依次放在

c數(shù)的個位和百位上。

例如:當a=45,b=12.調用該函數(shù)后,c=425U

-----------------------------------------------------*/

^include<stdio.h>

voidwjt();

voidfun(inta,intb,long*c)

(

/**********Prograrn**********/

/**********End**********/

)

main()

(

inta,b;

longc;

printf("inputa,b:');

scanf(“對*d",&a,&b);

fun(a,b,&c);

printf(*Theresultis:%ld\n*?c);

WWjtO;

}

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*1000+a%10*10+b/10+b%10*100;

第14題(10.0分)題號:335難度:中第2章

/*--------------------------------------

【程序設計】

功能:求一個n位自然數(shù)的各位數(shù)字的積。n是小于10的

自然數(shù))

----------*/

^include<stdio.h>

ftinclude^conio.h"

voidwwjt();

longfun(longn)

(

/**********Prograrn**********/

/**********End**********/

)

mainO

{

longm;

printf(*Enlerm:");

scanf&m);

printfC\nTheresultis%ld\n*,fun(m));

wwjt();

)

voidwwjtO

FILE*IN,*OUT;

intc;

longt;

longo;

IN=fopen(*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,*%ld\n*?o);

}

fclose(IN);

fclose(OUT);

)

答案:-

longd,s=l;

while(n>0)

{d=n%10;

s*=d;

n/=10;

)

returns;

第15題(10.0分)題號:337難度:中第2章

【程序設計】

功能:將兩個兩位數(shù)的正整數(shù)a、b合并形成一個整數(shù)放在

c中。合并的方式是:將a數(shù)的十位和個位數(shù)依次放

在c數(shù)的百位和個位上,b數(shù)的十位和個位數(shù)依次放

在c數(shù)的十位和千位上。

例如:當a=45,b=12?調用該函數(shù)后,c=2415o

--------------------------------------------------*/

^include<stdio.h>

voidwjt();

voidfun(inta,intb,long*c)

(

/**********Prograni**********/

/**********End**********/

)

main()

(

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題(10.0分)題號:325難度:中第2章

/?------------------------------------------------------------------------

【程序設計】

功能:在鍵盤上輸入一個3行3列矩陣的各個元素的值(值

為整數(shù)),然后輸出主對角線元素的平方和,并在

fun()函數(shù)中輸出。

------------------------------------------------------------------------*/

#include<stdio.h>

voidwwjt();

main()

(

inti,j,sta[3][3];;

for(i=0;i<3;i++)

for(j=0;j<3;j++)

scanf&a[i][j]);

)

s=fun(a);

printf("Sum=%d\n”,s);

wwjtO;

)

intfun(inta[3][3])

(

/**********Prograni**********/'

/**********End**********/

voidwwjt()

(

FILE*IN,*OUT;

intm;

intn;

inti[3][3];

into;

IN=fopen(*in.dat","r");

if(IN==NULL)

{

printf(*RcadFILEError");

)

OUT=fopenC*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,"%d\n",o);

getch();

)

fclose(IN);

fclose(OUT);

}

答案:-

intsum;

inti;

sum=0;

for(i=0;i<3;i++)

sum=sum+a[i][i];

returnsum;

第17題(10.0分)題號:352難度:易第2章

/*-----------------------------------------------------

【程序設計】

功能:依據(jù)整型形參m,計算如下公式的值:y=l/2+l/4+

1/6+...+l/2mo

例如:若m=9,則應輸出:1.414484

#include<stdio.h>

voidwwjt();

doublefun(intm)

(

/**********Program**********/'

/**********End**********/

)

main()

intn;

printf("Entern:");

scanf("$d",&n);

printf(^XnTheresultisfun(n));

wwjtO;

)

voidwjt()

{

FILE*IN,*OUT;

inti;

intt;

doubleo;

IN=fopen(*in.dat","r");

if(IN==NULL)

{

printfCReadFILEError*);

)

OUT=fopen("out.dat","w"):

if(OUT=NULL)

{

printf(*WriteFILEError*);

)

for(i=0;i<5;i++)

{

fscanf(IN,飛d",&t);

o=fun(t);

fprintf(OUT,"$f\n”,o);

)

fclosc(IN);

fclose(OUT);

答案:------------------

doubley=0;

inti;

for(i=l;i<=m;i++)

{y+=1.0/(2*i);}

return(y);

第18題(10.0分)題號:312難度:中第2章

/?----------------------------------

【程序設計】

功能:調用函數(shù)fun推斷一個三位數(shù)是否〃水仙花數(shù):

在main函數(shù)中從鍵盤輸入一個三位數(shù),并輸

出推斷結果。請編寫fun函數(shù)。

說明:所謂"水仙花數(shù)”是指一3位數(shù),其各位數(shù)字立方和

等于該數(shù)本身。

例如:153是一個水仙花數(shù),由于153=1+125+27。

------------------------------------------------------------------------*/

^include<stdio.h>

voidwjt();

intfun(intn)

,/**********Program**********/'

/**********End**********/

mainO

{

intn,flag;

scanf&n);

flag=fun(n);

if(flag)

printf(*%d是水仙花數(shù)\n”,n);

else

printf(*%d不是水仙花數(shù)\n”,n);

wjt();

)

voidwwjt()

FILE*IN,*OUT;

intilN,i;

intiOUT;

IN=fopen("in.dai","r");

if(IN==NULL)

{

printf(*PleaseVerifyTheCurrerntDir..itMayBGChanged");

)

OUT=fopen("out.dat","w");

if(OUT==NULL)

{

printf(*PleaseVerifyTheCurrentDir..itMayBeChanged");

)

for(i=0;i<10;i++)

{

fscanfdN,^d'.&ilN);

iOUT=fun(iIN);

fprintf(OUT,"%d\ir,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*sur*sw+gu'*gw*gw)return1;

elsereturn0;

第19題(10.0分)題號:29難度:中第4章

/?----------------------------------------------------------------------------

【程序設計】

功能:對任意輸入的X,用下式計算并輸出y的值。

5x<10

y=0x=10

-5x>10

----------------------------------------------------------------------------*/

#include<stdio.h>

void\nvjt();

intfun(intn)

/**********Pr()gram**********/

/**********End**********/

}

voidmain()

(

intx,y;

printf(*enterx:*);

scanf&x);

y=fun(x);

printf(*x=%d,y=%d\n*,x,y);

wwjt();

}

voidwjt()

{

FILE*IN,*OUT;

inti;

intilN;

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,

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;

第20題(10.0分)題號:316難度:易第2章

/*--------------------------------------------------

【程序設計】

功能:統(tǒng)計出若干個同學的平均成果,最高分以及得最高

分的人數(shù)。

例如:輸入10名同學的成果分別為92,87,68,56,92,

84,67,75,92,66,則輸出平均成果為77.9,

最高分為92,得最高分的人數(shù)為3人。

--------------------------------------------------*/

^include<stdio.h>

voidwwjt();

floatMax=0;

intJ=0;

floatfun(floatarray[],intn)

/**********Program**********/

/**********End**********/

)

main()

(

floata[10],ave;

inti=0;

for(i=0;i<10;i++)

scanf(*%f&a[i]);

ave=fun(a,10);

printfC"ave=%f\n*,ave);

printf("max=%f\n”,Max);

printf(*Total:%d\n*,J);

wwjtO;

)

voidwwjtO

{

FILE*1N,*OUT;

floatiIN[10],iOUT;

intiCOUNT;

IN=fopen(*in.dal","r");

if(IN==NULL)

{

printf("PleaseVerifyTheCurrerntDir..itMayBeChanged");

)

OUT:fopen("out.dat","w");

if(OUT==NULL)

{

printf("PleaseVerifyTheCurrentDir..itMayBeChanged");

)

for(iC0UNT=0;iC0UNT<10;iCOUNT++)

fscanf(IN,"%f*,&iIN[iCOUNT]);

iOUT=fun(iIN,10);

fprintf(OUT,舟f\n〃,iOUT,Max);

fclose(IN);

fclose(OUT);

)

答案:-

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);

第21題(10.0分)題號:389難度:易第2章

/*------------------------------------------------

【程序設計】

功能:編寫函數(shù)求表達式的和(n的值由主函數(shù)輸入)。

1-1/2+1/3-1/4+......+l/m

例如:當n=20時,表達式的值為0.668771。

-----------------------------------------------*/

ttincludc<3tdio.h>

voidwjt();

doublesum(intn)

{

/**********Prograni**********/

/**********End**********/

}

main()

intn;

scanf(飛d",&n);

printf(z,sum=%f\n*,sum(n));

wwjtO;

}

voidwjt()

(

FILE*IN,*OUT;

intn;

inti[10]:

doubleo;

IN=fopen(*in.dat","r");

if(IN==NULL)

{

printf("ReadFILEError");

)

OUT=fopen(*out.dat","w");

if(OUT==NULL)

{

printf("WriteFILEError");

)

for(n=0;n<5;n++)

fscanf(IN,"%d”,&i[n]);

for(n=0;n<5;n++)

{

o=sum(i[n]);

fprintf(OUT,o);

)

fclose(IN);

fclose(OUT);

)

答案:---------------------

floats=0;

inti,k=l;

for(i=l;i<=n;i++)

{s=s+k*l.0/i;

k=-k;

)

return(s);

笫22題(10.0分)題號:322難度:中笫2章

/*------------------------------------------------------------------------

【程序設計】

功能:推斷一個整數(shù)w的各位數(shù)字平方之和能否被5整除,

可以被5整除則返回1,否則返回0。

------------------------------------------------------------------------*/

^include<stdio.h>

ftinclude^conio.h"

voidwjt();

intfun(intw)

(

/**********Program**********/

/**********End**********/

)

main()

(

intm;

printf("Enterm:");

scanf("%d",&m);

printf(*\nTheresultis%d\n*?fun(m));

wwjt();

)

voidwwjt()

(

FILE*IN,*0UT;

intc;

intt;

into;

IN=fopen("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,*%d*,&t);

o=fun(t);

fprintf(OUT,“與d\n”,o);

)

fclose(IN);

fclose(OUT);

)

答案:-

intk,s=0;

do

{s=s+0)*(w%l0);

w=w/10:

}while(w!=0);

if(s%5==0)k=l;

elsek=0;

return(k);

第23題GO.O分)題號:22難度:易第1章

【程序設計】

功能:從鍵盤為一維整型數(shù)組輸入10個整數(shù),調用fun

函數(shù)找出其中最小的數(shù),并在main函數(shù)中輸出。

請編寫fun函數(shù)。

---------------------------------------------------*/

4include"stdio.h"

void\nvjt();

intfun(intx[],intn)

/**********Pr()gram**********/

/**********End**********/

}

main()

(

inta[10],i,min;

for(i=0;i<10;i++)

scanf;

for(i=0;i<10;i++)

printf(*%3d*,a[i]);

printf("\n");

min=fun(a,10);

printf("與d\n",min);

wwjtO;

)

voidwwjtO

{

FILE+1N,*OUT;

intiIN[10],i;

intiOUT,iCOUNT;

IN=fopen(*4.IN*,*r*);

if(IN==NULL)

{

printf(*PleaseVerifyTheCurrerntDir..itMayBeChanged*);

)

OUT二fopen("4.out","w");

if(OUT=NULL)

{

printf("PleaseVerifyTheCurrentDir..itMayBeChanged");

)

for(i=0;i<10;i++)

for(iCOUNT=O;iC0UNT<10;iCOUNT++)

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;

第24題(10.0分)題號:327難度:易第2章

/*--------------------------------------------------

【程序設計】

功能:能計算從1開頭到n的自然數(shù)的和,n由鍵盤輸入,

并在main。函數(shù)中輸出。

--------------------------------------------------*/

#include<stdio.h>

voidwwjt();

intfun(intn)

(

/**********Program**********/'

/**********End**********/

)

mainO

intm;

printf(^Enterm:");

scanf("*d”,&m);

printf(^XnTheresultis%d\n",fun(m));

wwjtO;

}

voidwjt()

(

FILE*IN,*OUT;

intt;

into;

intc;

IN=fopen(*in.dat","r");

if(IN==NULL)

{

printf(*ReadFILEError");

)

OUT=fopen(*out.dat","w");

if(OUT==NULL)

{

printf(*VriteFILEError");

)

for(c=l:c<=5;c++)

{

fscanf(IN,"%d",&t);

o=fun(t);

fprintf(OUT,"$d\n",o);

}

fclose(IN);

fclose(OUT);

}

答案:-

intsum,i;

sum=0;

for(i=l;i<=n;i++)

{sum=sum+i;}

return(sum);

第25題(10.0分)題號:347難度:易第2章

/*-------------

【程序設計】

功能:把20個隨機數(shù)存入一個數(shù)組,然后輸出該數(shù)組中的

最小值。其中確定最小值的下標的操作在fun函數(shù)中

實現(xiàn),請給出該函數(shù)的定義,

------------------------------------------------------------------------*/

#include<stdio.h>

^defineVSIZE20

voidwwjt();

intvector[VSIZE];

intfun(intlist[],intsize)

(

/**********Prograni**********/'

/**********End**********/

)

main()

(

inti;

for(i=O;i<VSIZE;i++)

{

vector[i]=rand();

printf("Vector[詠i]=%6d\n”,i,vector[i]);

)

i=fun(vector,VSIZE);

printf(*\nMininum:Vector[%d]=%6d\n*,i,vector[i]);

wwjt();

voidwwjt()

inti,t;

FILE*fp;

fp=fopen(*out.dat*,'w");

for(i=O;i<VSIZE;i++)

{

fprintf(fp,*Vector[%d]=%6d\n*?i,vector[i]);

)

t=fun(vector,VSIZE);

fprintf(fp,*\nMininum:Vector[%d]=%6d\n*,t,vector[t]);

fclose(fp);

}

答案:------------------------

inti,min=0;

for(i=l;i<size;i++)

if(list[min]>list[i])

min=i;

returnmin;

第26題(10.0分)題號:360難度:易第2章

【程序設計】

功能:把20個隨機數(shù)存入一個數(shù)組,然后輸出該數(shù)組中的

最大值。

--------------------------------------------------*/

#include<stdio.h>

^defineVSIZE20

void

intvector[VSIZE];

intfun(intlist[],intsize)

/**********Prograrn**********/

/**********End**********/

)

main()

(

inti;

for(i=O;i<VS!ZE;i++)

{

vector[i]=rand();

printf(*Vector[%d]=%6d\n*,i,v

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論