C语言期末考试题库试题及答案

余年寄山水
802次浏览
2020年08月03日 02:20
最佳经验
本文由作者推荐

黄冈人事网-刘禹锡陋室铭


1【程序填空】
-------------------------------- -------------------------

题目:下面函数为二分法查找key值。数组中元素已递增排序,
若找到key则返回对应的下标,否则返回-1。

------------------ -------------------------------------*
#include
fun(int a[],int n,int key)
{
int low,high,mid;
low=0;
high=n-1;
***********SPACE***********
while(【low<=high】)
{
mid=(low+high)2;
***********SPACE***********
if(key***********SPACE***********
else if(key>a[mid]) 【low=mid+1】;
***********SPACE***********
else 【return(mid)】;
}
return -1;
}

void main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10};
int b,c;
b=4;
c=fun(a,10,b);
if(c==-1)printf(
else printf(
}

*------------------------------------------------- ------
2 【程序填空】
-------------------------- -------------------------------

题目:求n!,n值由键盘输入。

--------------------- ----------------------------------*


#include
void main()
{
int n,i;
float t;
printf(
***********SPACE***********
scanf(【&n】);
i=1;
t=1.0;
***********SPACE***********
while(【i<=n】)
***********SPACE***********
{ 【t*=i】
i++;
}
printf(
}

a*----------------------------------------------- --------
3 【程序填空】
------------------------ ---------------------------------

题目:以下程序的功能是统计一个字符串中的字母、数字、空格、
和其它字符的个数。

------------------------------- ------------------------*

#include
main ()
{
char s1[80];int a[4]={0};
int k;
***********SPACE***********
【void fun(char s[],int[])】;
gets(s1);
***********SPACE***********
【fun(s1,a)】;
puts(s1);
for(k=0;k<4;k++)
printf(
}
void fun(char s[],int b[])
{


int i;
for (i=0;s[i]!='0';i++)
if ('a'<=s[i]&&s[i]<='z'||'A'<=s[i]&&s[i]<='Z') b[0]++;
***********SPACE***********
else if (【'0'<=s[i]&&s[i]<='9'】) b[1]++;
***********SPACE***********
else if (【s[i]==32】 ) b[2]++;
else b[3]++;
} < br>*---------------------------------------------- ---------
4 【程序填空】
----------------------- ----------------------------------

题目:判断一个给定的整数是否为素数。

------------------ -------------------------------------*
#include
#include
void main( )
{ int m,i,k;
scanf(
k=sqrt(m);
***********SPACE***********
for(i=2;【i<=k】;i++)
***********SPACE***********
if(【m%i==0】) break;
***********SPACE***********
if(【i>k】)
printf(
else
printf(
}

*-- -------------------------------------------------- ---
5 【程序填空】
----------------------------- ----------------------------

题目:以下程序的功能:计算并输出500以内最大的10个能被
13或17整除的自然数之和。

-------------------------- -----------------------------*

#include
***********SPACE***********


int fun(【int k】 )
{
int m=0, mc=0;
***********SPACE***********
while (k >= 2 && 【mc<10】)
{
***********SPACE***********
if (k%13 == 0 || 【k%17==0】)
{ m = m+ k; mc++; }
k--;
}
***********SPACE***********
【return(m)】;
}

void main ( )
{
printf(
}

*--------------------------- ----------------------------
6 【程序填空】
---- -------------------------------------------------- ---

题目:输入N个数据存入数组中,将其倒置存放,并打印输出。

------------------------------------------------- ------*
#include
#define N 10
void main( )
{ int i, t, a[N];
printf(
for(i=0;i***********SPACE***********
scanf(【&a[i]】);
***********SPACE***********
for(i=0;i<【n2】;i++)
{ t=a[i];
***********SPACE***********
a[i]=【a[n-i-1]】;
a[N-i-1]=t;
}
for(i=0;i printf(


}
*------------------------- ------------------------------
7 【程序填空】
-- -------------------------------------------------- -----
题目:输出Fibonacci数列的前15项,要求每行输出5项。
Fibonacci数列:1,1,2,3,5,8,13...........
-------- -----------------------------------------------*

#include

void main()

{
***********SPACE***********
int 【fib】[15],i;
fib[0]=1;fib[1]=1;
for (i=2;i<15;i++)
***********SPACE***********
fib[i]=【fib[i-2]+fib[i-1]】;
for(i=0;i<15;i++)
{
printf(
***********SPACE***********
if ( 【i%5==4】 ) printf(
}
}
*---------- ---------------------------------------------
8 【程序填空】
--------------------------------- ------------------------

题目:以下程序的功能是求100-999之间的水仙花数(水仙花数
是指一个三位数的各个位数字的立方和是这个数本身,
如:153=1^3+5^3+3^3)。

--------------------- ----------------------------------*
#include
int fun(int n)
{ int i,j,k,m;
m=n;
***********SPACE***********
【k=0】
for(i=1;i<4;i++)
{
***********SPACE***********


【j=m%10】
m=(m-j)10;
k=k+j*j*j;
}
***********SPACE***********
if(k==n) 【return(1)】
else return(0);}

void main()
{
int i;
for(i=100;i<1000;i++)
***********SPACE***********
if(【fun(i)】==1)printf(
}
*----------------- --------------------------------------
9 【程序填空】
--------------------------------------- ------------------

题目:某次大奖赛,有10个评委打分,下面的程序是对一名参赛者评分,输入10个评
委的打分分数,去掉一个最高分,一个最低分后,求出平均分即为该参赛者的得分。

------------------------------------------------- ------*
#include
void main()
{
float mark,max,min,aver=0.0,sum=0.0;
int i;
for(i=1;i<=10;i++)
{ printf(输入第%d位评委的打分n
scanf(
if(i==1)
{ max=mark;
***********SPACE***********
【min=mark】;
}
else if(mark min=mark;
***********SPACE***********
else if(【mark>max】)
max=mark;
***********SPACE***********
【sum+=mark】;
}


aver=(sum-max- min)8;
printf(
}
*------------------ -------------------------------------
10 【程序填空】
--------------------------------------- ------------------

题目:输出9*9口诀。
------ -------------------------------------------------*
#include
void main()
{int i,j,result;
printf(
***********SPACE***********
for (i=1;【i<10】;i++)
***********SPACE***********
{ for(j=1;j<10;【j++】)
{
result=i*j;
***********SPACE***********
printf(【result】);
}
printf(
}
}

*---------------------------------------- ---------------
11【程序填空】
----------------- ----------------------------------------

题目:用辗转相除法求两个整数的最大公约数、最小公倍数。

--------- ----------------------------------------------*
#include
void main()
{ int n,m,nm,r,t;
printf(
scanf(
nm=n*m;
if (m { t=m; m=n; n=t; }
r=m%n;
***********SPACE***********
while (【r!=0】)


{ m=n;
***********SPACE***********
【n=r】
***********SPACE***********
【r=m%n】
}
printf(
***********SPACE***********
printf(【nmn】);
}

*------------------ -------------------------------------
12【程序填空】
---------------------------------------------- -----------

题目:以下程序的功能是将一个数组中的元素按逆序存放。

----------------------------------------- --------------*

#define N 7
#include
void main ()
{
static int a[N]={12,9,16,5,7,2,1},k,s;
printf(
for (k=0;k printf(
***********SPACE***********
for (k=0;k<【N2】; k++ )
{
s=a[k];
***********SPACE***********
【a[k]=a[N-k-1]】
***********SPACE***********
【a[N-k-1]=s】
}
printf(
for (k=0;k***********SPACE***********
【printf】(
}

*------------------------- ------------------------------
13 【程序填空】

< p>
-------------------------------------------- -------------

题目:输入3个整数,输出最大数。

- -------------------------------------------------- ----*
#include
void main( )
{ int a,b,c, max;
printf(
scanf(
***********SPACE***********
if(【a>b】)
max=a;
***********SPACE***********
【else】
max=b;
if(max***********SPACE***********
【max=c】
printf(
}
*--------------- ----------------------------------------
14 【程序填空】
--------------------------------------- ------------------

题目:输入三个整数x,y,z,请把这三个数由小到大输出。
------------- ------------------------------------------*
#include
void main()
{int x,y,z,t;
scanf(
if (x>y)
***********SPACE***********
{【t=x;x=y;y=t;】}
if(x>z)
***********SPACE***********
{【t=z;z=x;x=t;】}
if(y>z)
***********SPACE***********
{【t=y;y=z;z=t;】}
printf(
}

*----- --------------------------------------------------


15 【程序填空】
------------------------- --------------------------------

题目:打印出如下图案(菱形)

*
***
*****
*******
*****
***
*
------------------------------- ------------------------*
#include
void main()
{
int i,j,k;
***********SPACE***********
for(i=0;【i<4】;i++)
{
for(j=0;j<=4-i;j++)
printf(
***********SPACE***********
for(k=1;k<=【2*i+1】;k++)
printf(
printf(
}
***********SPACE***********
for(【j=0】;j<3;j++)
{
for(k=0;k printf(
***********SPACE***********
for(k=0;k<【5-2*j】;k++)
printf(
printf(
}
}

*-------------------- -----------------------------------
16 【程序填空】
---------------------------------------------- -----------

题目:以下程序的功能:计算并输出high以内最大的10个素数


之和,high由主函数传给fun函数,若high的值为100,
则函数的值为732。

------------------------------ -------------------------*

#include
#include
int fun( int high )
{
int sum = 0, n=0, j, yes;
***********SPACE***********
while ((high >= 2) && (【n<10】))
{
yes = 1;
for (j=2; j<=high2; j++ )
***********SPACE***********
if (【high%j==0】)
***********SPACE***********
{yes=0; 【break】;}
if (yes)
{ sum +=high; n++; }
high--;
}
***********SPACE***********
【return(sum)】;
}

void main ( )
{
printf(
}

*-------------------- -----------------------------------
17 【程序填空】
---------------------------------------------- -----------

题目:输入如下形式的二项式系数列标。要求表的行数运行时输入,
若小于1或者大于10则重新输入。
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1



--- -------------------------------------------------- --*

#include
void main()
{
int a[10][10]={{0}}, i, j, n;
while(scanf(
for(i=0;i<10;i++)
{ a[i][0]=1;
***********SPACE***********
【a[i][i]=1】;
}
for(i=2;i for(j=1;j***********SPACE***********
a[i][j]=a[i-1][j]+【a[i-1][j-1]】;
for(i=0;i { for(j=0;j<=i;j++)
printf(
***********SPACE***********
【printf(】;
}
}



*---- --------------------------------------------------
18 【程序改错】
-------------------------------- ------------------------

题目:函数fun的功能是:求1到20的阶乘的和。
请改正程序中的错误,使它能得出正确的结果。

------------------- -------------------------------------
注意:不可以增加或删除程序行,也不可以更改程序的结构。
-------------- ----------------------------------------*


fun()
{
int n,j;
double s=0.0,t=1.0;
for(n=1;n<=20;n++)


{
**********FOUND**********
t=1;
for(j=1;j<=n;j++)
**********FOUND**********
t=t*j;
**********FOUND**********
s=s+t;
}
**********FOUND**********
printf(
}
main()
{
fun();
}

*----- -------------------------------------------------
19 【程序改错】
-------------------------------- ------------------------

题目:给定程序MODI1.C中函数 fun 的功能是:
用选择法对数组中的n个元素按从小到大
的顺序进行排序。
-------- ------------------------------------------------
注意:不可以增加或删除程序行,也不可以更改程序的
结构。
--- -------------------------------------------------- -*
#include
#define N 20
void fun(int a[], int n)
{ int i, j, t, p;
for (j = 0 j < n-1 j++) {
**********FOUND**********
p = j;
for (i = j;i < n; i++)
**********FOUND**********
if(a[i] **********FOUND**********
p=i;
t = a[p] a[p] = a[j] a[j] = t;
}
}


void main()
{
int a[N]={9,6,8,3,-1},i, m = 5;
printf(排序前的数据:
for(i = 0;i < m;i++) printf(
fun(a,m);
printf(排序后的数据:
for(i = 0;i < m;i++) printf(

}
*-------------- ----------------------------------
20【程序改错】 ------------------------------------------------ --

题目:编写函数fun,求两个整数的最小公倍数,然后用主
函数main()调用这个函数并输出结果,两个整数由
键盘输入。

------------------------------------------------- -
注意:部分源程序给出如下。请勿改动主函数main和其
它函数中的任何内容,仅在函数fun的花括号中填
入所编写的若干语句。
- -----------------------------------------------*
#include
void main()
{
unsigned int m,n,q;
printf(
scanf(
**********FOUND**********
q=fun(m,n);
printf(

}
int fun(int m,int n)
{

int i;
**********FOUND**********
if (m{i=m;m=n;n=i;}
for(i=m;i<=m*n;i+=m)
**********FOUND**********
if(i%n==0)


return(i);

}

*------- -----------------------------------------------
21【程序改错】
--------------------------------- -----------------------

题目:下列程序中,函数fun的功能是:找出一个大
于给定整数m且紧随m的素数,并作为函数值返回。
---------------------- ----------------------------------
注意:不可以增加或删除程序行,也不可以更改程序的
结构。
--- -------------------------------------------------- -*
#include
#include
int fun(int m)
**********FOUND**********
{ int i,k;
for(i=m+1;;i++){
for(k=2;k**********FOUND**********
if(i%k==0)
break;
**********FOUND**********
if(k==i)
return(i);
}
}
void main()
{
int n;

printf(
scanf(
printf(

}

*--------------------------------------------- ---------
22 【程序改错】
------------------ --------------------------------------

题目:打印出如下杨辉三角形(要求打印出6行).


1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
------------------------ --------------------------------
注意:不可以增加或删除程序行,也不可以更改程
序的结构。
--- -------------------------------------------------- -*
#include
void main()
{ int i,j;
int a[6][6];
printf(
**********FOUND**********
for(i=0;i<6;i++)
{ a[i][0]=1;
a[i][i]=1;
}
**********FOUND**********
for(i=2;i<6;i++)
for(j=1;j **********FOUND**********
a[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=0;i<6;i++)
{
**********FOUND**********
for(j=0;j<=i;j++)
printf(
printf(
}

}

*--------- ---------------------------------------------
23 【程序改错】
-------------------------------- ------------------------

题目:给定程序MODI1.C中函数 fun 的功能是:计算正整数num的
各位上的数字之积。例如,若输入:252,则输出应该是:20。若
输入:202,则输出应该是:0。
------------------------- -------------------------------
注意:不可以增加或删除程序行,也不可以更改程序的结构。


------- -----------------------------------------------*
#include
long fun (long num)
**********FOUND**********
{long k=1;

do
{ k*=num%10
**********FOUND**********
num=10;
**********FOUND**********
} while(num)
return (k)
}

void main( )
{ long n
printf(
printf(

}

*------------------------------------------------ ------
24 【程序改错】
--------------------- -----------------------------------

题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当
即吃了一半,还不过瘾,又多吃了一个,第二天
早上又将剩下的桃子吃掉一半,又多吃了一个。
以后每天早上都吃了前一天剩下的一半零一个。
到第10天早上想再吃时,见只剩下一个桃子了。
求第一天共摘了多少。
-- -------------------------------------------------- ----
注意:不可以增加或删除程序行,也不可以更改程序的
结构。 ------------------------------------------------ ------*
#include
void main()
{
int day,x1,x2;
day=9;
**********FOUND**********
x2=1;
while(day>0)


**********FOUND**********
{x1=(x2+1)*2;
x2=x1;
**********FOUND**********
day--;
}
printf(

}

*------------------ ------------------------------------
25【程序改错】
--------------------------------- -----------------------

题目:一个5位数,判断它是不是回文数。即12321是回
文数,个位与万位相同,十位与千位相同。
-------------------------- ------------------------------
注意:不可以增加或删除程序行,也不可以更改程序
的结构。
--- -------------------------------------------------- -*
#include
void main( )
{
**********FOUND**********
long ge,shi,qian,wan,x;
scanf(
**********FOUND**********
wan=x10000;
qian=x%100001000;
shi=x%10010;
ge=x%10;
**********FOUND**********
if(ge==wan&&shi==qian)
printf(
else
printf(

}

*------------------ ------------------------------------
26 【程序改错】
--------------------------------------- -----------------

题目:编写函数fun求20以内所有5的倍数之积。


---------- ----------------------------------------------
注意:不可以增加或删除程序行,也不可以更改程序的结构。
-------------- ----------------------------------------*
#define N 20
#include
void main()
{ int sum;
sum=fun(5);
printf(以内所有%d的倍数之积为: %dn

}
int fun(int m)
{
**********FOUND**********
int s=1,i;
for(i=1;i**********FOUND**********
if(i%m==0)
**********FOUND**********
s=s*i;
return s;

}

*------------------- -----------------------------------
27【程序改错】
--------------------------------- -----------------------

题目:请编写一个函数fun,函数的功能是:统计出若干
个学生的平均成绩,最低分以及得最低分的人数。
例如,输入10名学生的成绩分别为92,87,68,56,
92,84,67,75,92,66,则输出平均成绩为77.9,
最低分为56,得最低分的人数为1人。

---------------------- ----------------------------------
注意:不可以增加或删除程序行,也不可以更改程序的结构。
-------------- ----------------------------------------*
#include

float Min=0;
int J=0;
float fun(float array[],int n)
{
int i;float sum=0,ave;


Min=array[0];
for(i=0;i{ if(Min>array [i]) Min=array [i];
**********FOUND**********
sum=sum+array[i]; }
**********FOUND**********
ave=sumn;
for(i=0;i**********FOUND**********
if(array[i]==Min) J++;
return(ave);

}

void main( )
{
float a[10],ave;
int i=0;
printf(
for(i=0;i<10;i++)
scanf(
ave=fun(a,10);
printf(
printf(
printf(

}

*--- -------------------------------------------------- -
28 【程序改错】
---------------------- ----------------------------------

题目:有一数组内放10个整数,要求求出平均值,并打印.

--------- -----------------------------------------------
注意:不可以增加或删除程序行,也不可以更改程序的结构。
-------------- ----------------------------------------*
#include
float average(float array[10])
{
int i;
float aver,sum=array[0];
***********FOUND***********
for(i=1;i<10;i++)


sum=sum+array[i];
aver=sum10.0;
return(aver);
}
void main( )
{
***********FOUND***********
float score[10],aver
int i;
printf(
for(i=0;i<10;i++)
***********FOUND***********
scanf(
printf(
***********FOUND***********
aver=average(score);
printf(
}

*------------------------------------------------ ------
29【程序改错】
---------------------- ----------------------------------

题目:利用递归方法求5!。
---------------------------- ----------------------------
注意:不可以增加或删除程序行,也不可以更改程序
的结构。
--- -------------------------------------------------- -*
#include
void main()
{
int fact(int j);
printf(
}
int fact(int j)
{
int sum;
**********FOUND**********
if(j==0)
**********FOUND**********
sum=1;
else
sum=j*fact(j-1);
**********FOUND**********


return sum;

*----------------- -------------------------------------
30 【程序改错】
--------------------------------------- -----------------

题目:编写函数求2!+4!+6!+8!+10+12!+14!。
---------- ----------------------------------------------
注意:不可以增加或删除程序行,也不可以更改程序的结构。
-------------- ----------------------------------------*
#include
long sum(int n)
{
**********FOUND**********
int i,j;
long t,s=0;
**********FOUND**********
for(i=2;i<=n;i+=2)
{t=1;
for(j=1;j<=i;j++)
t=t*j;
s=s+t;}
**********FOUND**********
return(s);
}
void main()
{
printf(


}

*--------------- ---------------------------------------
31 【程序改错】
--------------------------------------- -----------------

题目:下列给定程序中,函数fun的功能是:判断m是否为素数,
若是返回1,否则返回0。主函数的功能是:按每行5个输
出1-100之间的全部素数。
请改正程序中的4个错误,使它能得出正确的结果。

----------------------------------------- ---------------
注意:不可以增加或删除程序行,也不可以更改程序的结构。 ------------------------------------------------ ------*



#include

**********FOUND**********
void fun( int m)
{
int i,k=1;
if(m<=1) k=0;
**********FOUND**********
for(i=2;i**********FOUND**********
if(m%i==0) k=0;
**********FOUND**********
return k;
}

void main()
{
int m,k=0;
for(m=1;m<100;m++)
if(fun(m)==1)
{
printf(
if(k%5==0)printf(
}
}

*------------------------------- -----------------------
32 【程序改错】
---- -------------------------------------------------- --

题目:求100以内(包括100)的偶数之和.
----------- ---------------------------------------------
注意:不可以增加或删除程序行,也不可以更改程序
的结构。
--- -------------------------------------------------- -*
#include
void main()
{
**********FOUND**********
int i,sum=0;
**********FOUND**********
for(i=2;i<=100;i+=2)
sum+=i;


**********FOUND**********
printf(

}

*------------------ ------------------------------------
33 【程序改错】
--------------------------------------- -----------------

题目:用起泡法对10个整数从小到大排序。
程序中共有4条错误语句,请改正错误。

------------ --------------------------------------------
注意:不可以增加或删除程序行,也不可以更改程序的结构。
-------------- ----------------------------------------*

#include
**********FOUND**********
void sort(int x[],int n)
{
int i,j,k,t;
for(i=0;i**********FOUND**********
for(j=0;j**********FOUND**********
if(x[j]>x[j+1])
{ t=x[j];x[j]=x[j+1];x[j+1]=t;}
}
void main()
{
int i,n,a[100];
printf(
scanf(
for(i=0;i scanf(
sort(a,n);
printf(
for(i=0;i<=n-1;i++)
printf(
printf(
}

*-------- ----------------------------------------------
34 【程序改错】


------------------------- -------------------------------

题目:函数fun的功能是:求出两个非零正整数的最大公约数,
并作为函数值返回。例如,若给num1和num2分别输入49
和21,则输出的最大公约数为7。
请改正程序中的错误,使它能得出正确的结果。

----------------------------------------- ---------------
注意:不可以增加或删除程序行,也不可以更改程序的结构。 ------------------------------------------------ ------*

#include
int fun(int a,int b)
{
int r,t;
if(a{
t=a;
**********FOUND**********
a=b;
**********FOUND**********
b=t;
}
r=a%b;
while(r!=0)
{
a=b;
b=r;
**********FOUND**********
r=a%b;}
**********FOUND**********
return b;
}
void main()
{
int num1,num2,a;
printf(
scanf(
a=fun(num1,num2);
printf(
}

*--------------------------- ---------------------------
35【程序改错】

< p>
-------------------------------------------- ------------

题目:请编写一个函数fun,函数的功能是:求出N×M整
型数组的最小元素及其所在的行坐标及列坐标(如
果最小元素不唯一,选择位置在最前面的一个)。
例如:输入的数组为:
9 2 3
4 15 6
12 1 9
10 11 2

求出的最小数为1,行坐标为2,列坐标为1。
------------------------------------------------- -------
注意:不可以增加或删除程序行,也不可以更改程序的结构。
------ ------------------------------------------------*
#define N 4
#define M 3
#include

int Row,Col;
void main()
{
int a[N][M],i,j,min,row,col;
printf(
for(i=0;i for(j=0;j scanf(
for(i=0;i {
for(j=0;j printf(
printf(
}
min=fun(a);
printf(


}
int fun(int array[N][M])
{
int min,i,j;
min=array [0][0];
Row=0;
Col=0;


for(i=0;i**********FOUND**********
{for(j=0;j**********FOUND**********
if(min >array [i][j])
{min=array [i][j];
Row=i;
**********FOUND**********
Col=j;}
}
return(min);

}


*------- -----------------------------------------------
36 【程序改错】
-------------------------------- ------------------------

题目:求n!,n值由键盘输入。
程序中共有4条错误语句,请改正错误。

------------ --------------------------------------------
注意:不可以增加或删除程序行,也不可以更改程序的结构。
-------------- ----------------------------------------*
#include
void main()
{
int n,i;
**********FOUND**********
float t;
printf(
**********FOUND**********
scanf(
i=1;
**********FOUND**********
t=1;
while(i<=n)
**********FOUND**********
{ t*=i;
i++;
}
printf(
}





*----------------------- -------------------------
37 【程序设计】
------ --------------------------------------------

题目:编写函数fun,函数的功能是:求1到
m之间(包括m)的偶数之积。

-------------------------- ------------------------
注意:部分源程序给出如下。请勿改动主函数
main和其它函数中的任何内容,仅在函
数fun的花括号中填入所编写的若干语句。
------------------------- -----------------------*

#include

double fun(int m)
{

**********Program**********


double y=1
int i;
for(i=1;i<=m;i++)
if(i%2==0)
y*=i;
return y;



********** End **********

}
void main()
{
printf(
yzj();
}
yzj()
{
FILE *IN,*OUT;


int iIN,i;
double dOUT;
IN=fopen(
if(IN==NULL)
{printf(
}
OUT=fopen(
if(OUT==NULL)
{printf(
}
for(i=0;i<5;i++)
{fscanf(IN,
dOUT=fun(iIN);
fprintf(OUT,
}
fclose(IN);
fclose(OUT);
}
*---------------------- --------------------------
38【程序设计】
------ --------------------------------------------

题目:编写函数fun其功能是: 找出一个大于给定整
数且紧随这个整数的素数,并作为函数值返回。
------------------------ --------------------------
注意:部分源程序给出如下。请勿改动主函数main
和其它函数中的任何内容,仅在函数fun的花
括号中填入所编写的若干语句。
------------------------------------------------*
#include

int fun(int n)
{
**********Program**********


int i,k;
for(i=n+1;;i++)
{
for(k=2;k if(i%k==0)
break;
if(k==i)
return(i);


}



********** End **********

}

void main()
{ int m;
printf(
scanf(
printf(
yzj();
}

yzj()
{

FILE *IN,*OUT;
int s
int t;
int o;

IN=fopen(
if(IN==NULL)
{printf(
}
OUT=fopen(
if(OUT==NULL)
{printf(
} for(s=1;s<=5;s++)
{ fscanf(IN,
o=fun(t);
fprintf(OUT,
}
fclose(IN);
fclose(OUT);
}

*- -----------------------------------------------
39 【程序设计】
-------------------------------- ------------------


题目:编写函数fun将一个数组中的值按逆序存放,
并在main()函数中输出。
例如,原来存顺序为8,6,5,4,1。要求改为:
1,4,5,6,8。

------------------ --------------------------------
注意:部分源程序给出如下。请勿改动主函数
main和其它函数中的任何内容,仅在函
数fun的花括号中填入所编写的若干语句。
---------------------------------------------- --*
#include
#define N 5


void main()
{void fun(int arr[],int n);
int a[N]={8,6,5,4,1},i;
for(i=0;i printf(
printf(
fun(a,N);
for(i=0;i printf(
yzj();
}

void fun(int arr[],int n)
{
**********Program**********


int i,t;
for(i=0;i { t=arr[i];
arr[i]=arr[n-1-i];
arr[n-1-i]=t;
}



********** End **********

}
yzj()


{
FILE *IN,*OUT;
int n;
int i[10];
int o;
IN=fopen(
if(IN==NULL)
{printf(
}
OUT=fopen(
if(OUT==NULL)
{printf(
}
for(n=0;n<10;n++)
{
fscanf(IN,
}
fun(i,10);
for(n=0;n<10;n++)
{
fprintf(OUT,
}
fclose(IN);
fclose(OUT);
}

*---------------------------------- --------------
40 【程序设计】
----------------- ---------------------------------

题目:请编写一个函数fun,函数的功能是:统计出若干
个学生的平均成绩,最高分以及得最高分的人数。
例如,输入10名学生的成绩分别为92,87,68,56,
92,84,67,75,92,66,则输出平均成绩为77.9,
最高分为92,得最高分的人数为3人。

---------------------- ----------------------------
注意:部分源程序给出如下。请勿改动主函数main和其
它函数中的任何内容,仅在函数fun的花括号中填
入所编写的若干语句。
- -----------------------------------------------*
#include

float Max=0;


int J=0;
float fun(float array[],int n)
{

**********Program**********


int i;
float sum=0,ave;
Max=array[0];
for(i=0;i{ if(Max sum=sum+array[i]; }
ave=sumn;
for(i=0;i if(array[i]==Max) J++;
return(ave);

********** End **********

}

void main( )
{
float a[10],ave;
int i=0;
printf(请输入10个数:n
for(i=0;i<10;i++)
scanf(
ave=fun(a,10);
printf(
printf(
printf(
yzj();
}
yzj()
{
FILE *IN,*OUT;
float iIN[10],iOUT;
int iCOUNT;
IN=fopen(
if(IN==NULL)
{printf(
}


OUT=fopen(
if(OUT==NULL)
{printf(
}
for(iCOUNT=0;iCOUNT<10;iCOUNT++)
fscanf(IN,
iOUT=fun(iIN,10);

fprintf(OUT,

fclose(IN);
fclose(OUT);
}


*------------ ------------------------------------
41 【程序设计】
---------------------------------------------- ----

题目:编写函数fun,函数的功能是:找出一批正整数中
的最大的偶数。

--------------------------------- -----------------
注意:部分源程序给出如下。请勿改动主函数main和其
它函数中的任何内容,仅在函数fun的花括号中填
入所编写的若干语句。
----------------------------------- -------------*
#include

int fun(int a[],int n)
{

**********Program**********


int i,amax=-1;
for(i=0;iif(a[i]%2==0)
if(a[i]>amax)
amax=a[i];
return amax;




********** End **********

}

void main()
{
int a[]={1,2,9,24,35,18},k;
k=fun(a,6);
printf(
yzj();
}

yzj()
{
FILE *IN,*OUT;
int iIN[10],iOUT,i,j;
IN=fopen(
if(IN==NULL)
{printf(
}
OUT=fopen(
if(OUT==NULL)
{printf(
}
for(j=0;j<10;j++)
{ for(i=0;i<10;i++)
fscanf(IN,
iOUT=fun(iIN,10);
fprintf(OUT,
}
fclose(IN);
fclose(OUT);
}

*- -----------------------------------------------
42 【程序设计】
-------------------------------- ------------------

题目:编写函数判断一个整数m的各位数字之和
能否被7整除, 可以被7整除则返回1,否则
返回0。调用该函数找出100~200之间满足
条件的所有数。
----- ---------------------------------------------


注意:部分源程序给出如下。请勿改动主函数
main和其它函数中的任何内容,仅在函
数的花括号中填入所编写的若干语句。 ------------------------------------------------ *
#include
int sub(int m)
{
**********Program**********


int k,s=0;
do
{
s=s+m%10;
m=m10;
}
while(m!=0);
if(s%7==0)
k=1;
else k=0;
return(k);



********** End **********
}
void main()
{ int i;
for(i=100;i<=200;i++)
if(sub(i)==1)printf(
yzj();

}
yzj()
{
FILE *IN,*OUT;
int n;
int i[10];
int o;
IN=fopen(
if(IN==NULL)
{printf(
}
OUT=fopen(


if(OUT==NULL)
{printf(
}
for(n=0;n<10;n++)
{
fscanf(IN,
}
for(n=0;n<10;n++)
{
o=sub(i[n]);
fprintf(OUT,
}
fclose(IN);
fclose(OUT);
}


*----------------------------- -------------------
43 【程序设计】
------------ --------------------------------------

题目:编写函数fun,函数的功能是:计算n门课程的平
均值,计算结果作为函数值返回。
例如,若有5门课程的成绩是:92,76,69,58,
88,则函数的值为76.600000。

--------------------- -----------------------------
注意:部分源程序给出如下。请勿改动主函数main和其
它函数中的任何内容,仅在函数fun的花括号中填
入所编写的若干语句。
- -----------------------------------------------*

#include
float fun(int a[],int n)
{

**********Program**********


int i;
float y=0;
for(i=0;i y+=a[i];
y=yn;


return y;




********** End **********

}

void main()
{
int a[]={92,76,69,58,88};
printf(
yzj();
}
yzj()
{
FILE *IN,*OUT;
int iIN[10],i,j;
float fOUT;
IN=fopen(
if(IN==NULL)
{printf(
}
OUT=fopen(
if(OUT==NULL)
{printf(
}
for(j=0;j<10;j++)
{ for(i=0;i<5;i++)
fscanf(IN,
fOUT=fun(iIN,5);
fprintf(OUT,
}
fclose(IN);
fclose(OUT);
}

*----------------- -------------------------------
44 【程序设计】
--------------------------------------------------

题目:将字符串中的小写字母转换为对应的大写字母,
其它字符不变。



-------------------------- ------------------------
注意:部分源程序给出如下。请勿改动主函数
main和其它函数中的任何内容,仅在函
数的花括号中填入所编写的若干语句。
---------------------------- --------------------*
void change(char str[])
{
**********Program**********


int i;
for(i=0;str[i]!='0';i++)
if(str[i]>='a' && str[i]<='z')
str[i]=str[i]-32;



********** End **********
}
#include
#include
void main()
{
void change();
char str[40];
gets(str);
change(str);
puts(str);
yzj();

}

yzj()
{
FILE *IN,*OUT;
int n;
char i[200];
IN=fopen(
if(IN==NULL)
{printf(
}
OUT=fopen(
if(OUT==NULL)


{printf(
}
fscanf(IN,
change(i);
fprintf(OUT,
fclose(IN);
fclose(OUT);
}


*----------------------------- -------------------
45 【程序设计】
------------ --------------------------------------

题目:请编写函数fun,它的功能是:判断m是否为素数
。主函数的功能是:求出100到200之间的素数的
个数。

-- ------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数main和其
它函数中的任何内容,仅在函数fun的花括号中填
入所编写的若干语句。
- -----------------------------------------------*

#include
int fun(int m);
void main()
{
int m,k=0;
for(m=100;m<200;m++)
if(fun(m))
{
printf(
k++;
if(k%5==0)
printf(
}
printf(
yzj();
}

int fun(int m)
{


**********Program**********


int i,k=1;
if(m<=1)
k=o;
for(i=2;iif(m%i==0)
k=0;
return k;



********** End **********

}

yzj()
{
FILE *IN,*OUT;
int iIN,iOUT,i;
IN=fopen(
if(IN==NULL)
{printf(
}
OUT=fopen(
if(OUT==NULL)
{printf(
}
for(i=0;i<10;i++)
{ fscanf(IN,
iOUT=fun(iIN);
fprintf(OUT,
}
fclose(IN);
fclose(OUT);
}

*- -----------------------------------------------
46 【程序设计】
-------------------------------- ------------------

题目: 给定n个数据, 求最小值出现的位置
(如果最小值出现多次,求出第一次出


现的位置即可)。

-------------------------------- ------------------
注意:部分源程序给出如下。请勿改动主函数
main和其它函数中的任何内容,仅在函数
station的花括号中填入所编写的若干语句。
---------------------- --------------------------*
#include
int station(int s[],int n)
{
**********Program**********


int i,k;
k=0;
for(i=1;iif(s[i] k=i;
return k;



********** End **********
}

void main()
{
int a[100],n,i,t;
printf(请输入n值:
scanf(
printf(请输入%d个数:n
for(i=0;i scanf(
t=station(a,n);
printf(
yzj();

}
yzj()
{
FILE *IN,*OUT;
int n;
int i[10];
int o;


IN=fopen(
if(IN==NULL)
{printf(
}
OUT=fopen(
if(OUT==NULL)
{printf(
}
for(n=0;n<10;n++)
{
fscanf(IN,

}
o=station(i,10);
fprintf(OUT,
fclose(IN);
fclose(OUT);

}

*----------------------------- -------------------
47 【程序设计】
------------ --------------------------------------

题目:编写函数fun求1000以内所有m的倍数之和。

---------- ----------------------------------------
注意:部分源程序给出如下。请勿改动主函数
main和其它函数中的任何内容,仅在函
数fun的花括号中填入所编写的若干语句。
---------------------------------------------- --*
#define N 1000
#include
#include
int yzj();
int fun(int m);
void main()
{int sum;
sum=fun(7);
printf(以内所有%d的倍数之和为:%dn

yzj();
}
int fun(int m)


{
**********Program**********


int s=0,i;
for(i=1;iif(i%m==0)
s+=i;
return s;



********** End **********
}

yzj()
{
FILE *IN,*OUT;
int n;
int i[10];
int o;

OUT=fopen(
if(OUT==NULL)
{printf(
}
o = fun(6);
fprintf(OUT,

fclose(OUT);
}
< br>*---------------------------------------------- --
48【程序设计】
------------------------------ --------------------

题目:调用函数fun判断一个三位数是否水仙花数。
在main函数中从键盘输入一个三位数,并输
出判断结果。请编写fun函数。所谓水仙花
数是指一3位数,其各位数字立方和等于该
数本身。
例如,153是一个水仙花数,因为153=1+125+27。
---------------- ----------------------------------
注意:部分源程序给出如下。请勿改动主函数main


和其它函数中的任何内容,仅在函数fun的花
括号中填入所编写的若干语句。
------------------------------------------------*
#include
int fun(int n)
{

**********Program**********


int bw,sw,gw;
bw=n100;sw=(n-bw*100)10;gw=n%10;
if(n==bw*bw*bw+sw*sw*sw+gw*gw*gw)
return 1;
else
return 0;



********** End **********


}
void main()
{
int n,flag;
scanf(
flag=fun(n);
if(flag)
printf(是水仙花数n
else
printf(不是水仙花数n

yzj();
}
yzj()
{
FILE *IN,*OUT;
int iIN,i;
int iOUT;
IN=fopen(
if(IN==NULL)
{printf(
}


OUT=fopen(
if(OUT==NULL)
{printf(
}
for(i=0;i<10;i++)
{ fscanf(IN,
iOUT=fun(iIN);
fprintf(OUT,
}
fclose(IN);
fclose(OUT);
}


*----------------------------- -------------------
49【程序设计】
------------- -------------------------------------

题目:编写函数fun其功能是:能计算从1开始到n的
自然数的和,n由键盘输入,并在main()函数
中输出。
------- -------------------------------------------
注意:部分源程序给出如下。请勿改动主函数main
和其它函数中的任何内容,仅在函数fun的花
括号中填入所编写的若干语句。
------------------------------------------------*
#include


int fun(int n)
{
**********Program**********


int sum,i;
sum =0;
for(i=1;i<=n;i++)
{sum=sum+i;}
return(sum);



********** End **********


}

void main()
{ int m;
printf(
scanf(
printf(
yzj();


}

yzj()
{

FILE *IN,*OUT;

int t;
int o;
int c;
IN=fopen(
if(IN==NULL)
{printf(
}
OUT=fopen(
if(OUT==NULL)
{printf(
}
for(c=1;c<=5;c++)
{ fscanf(IN,
o=fun(t);
fprintf(OUT,
}
fclose(IN);
fclose(OUT);


1【程序填空 】
--------------------------------------------- ------------

题目:下面函数为二分法查找key值。数组中元素已递增排序,
若找到key则返回对应的下标,否则返回-1。

------------------ -------------------------------------*
#include
fun(int a[],int n,int key)
{
int low,high,mid;
low=0;
high=n-1;
***********SPACE***********
while(【low<=high】)
{
mid=(low+high)2;
***********SPACE***********
if(key***********SPACE***********
else if(key>a[mid]) 【low=mid+1】;
***********SPACE***********
else 【return(mid)】;
}
return -1;
}

void main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10};
int b,c;
b=4;
c=fun(a,10,b);
if(c==-1)printf(
else printf(
}

*------------------------------------------------- ------
2 【程序填空】
-------------------------- -------------------------------

题目:求n!,n值由键盘输入。

--------------------- ----------------------------------*


#include
void main()
{
int n,i;
float t;
printf(
***********SPACE***********
scanf(【&n】);
i=1;
t=1.0;
***********SPACE***********
while(【i<=n】)
***********SPACE***********
{ 【t*=i】
i++;
}
printf(
}

a*----------------------------------------------- --------
3 【程序填空】
------------------------ ---------------------------------

题目:以下程序的功能是统计一个字符串中的字母、数字、空格、
和其它字符的个数。

------------------------------- ------------------------*

#include
main ()
{
char s1[80];int a[4]={0};
int k;
***********SPACE***********
【void fun(char s[],int[])】;
gets(s1);
***********SPACE***********
【fun(s1,a)】;
puts(s1);
for(k=0;k<4;k++)
printf(
}
void fun(char s[],int b[])
{


int i;
for (i=0;s[i]!='0';i++)
if ('a'<=s[i]&&s[i]<='z'||'A'<=s[i]&&s[i]<='Z') b[0]++;
***********SPACE***********
else if (【'0'<=s[i]&&s[i]<='9'】) b[1]++;
***********SPACE***********
else if (【s[i]==32】 ) b[2]++;
else b[3]++;
} < br>*---------------------------------------------- ---------
4 【程序填空】
----------------------- ----------------------------------

题目:判断一个给定的整数是否为素数。

------------------ -------------------------------------*
#include
#include
void main( )
{ int m,i,k;
scanf(
k=sqrt(m);
***********SPACE***********
for(i=2;【i<=k】;i++)
***********SPACE***********
if(【m%i==0】) break;
***********SPACE***********
if(【i>k】)
printf(
else
printf(
}

*-- -------------------------------------------------- ---
5 【程序填空】
----------------------------- ----------------------------

题目:以下程序的功能:计算并输出500以内最大的10个能被
13或17整除的自然数之和。

-------------------------- -----------------------------*

#include
***********SPACE***********


int fun(【int k】 )
{
int m=0, mc=0;
***********SPACE***********
while (k >= 2 && 【mc<10】)
{
***********SPACE***********
if (k%13 == 0 || 【k%17==0】)
{ m = m+ k; mc++; }
k--;
}
***********SPACE***********
【return(m)】;
}

void main ( )
{
printf(
}

*--------------------------- ----------------------------
6 【程序填空】
---- -------------------------------------------------- ---

题目:输入N个数据存入数组中,将其倒置存放,并打印输出。

------------------------------------------------- ------*
#include
#define N 10
void main( )
{ int i, t, a[N];
printf(
for(i=0;i***********SPACE***********
scanf(【&a[i]】);
***********SPACE***********
for(i=0;i<【n2】;i++)
{ t=a[i];
***********SPACE***********
a[i]=【a[n-i-1]】;
a[N-i-1]=t;
}
for(i=0;i printf(


}
*------------------------- ------------------------------
7 【程序填空】
-- -------------------------------------------------- -----
题目:输出Fibonacci数列的前15项,要求每行输出5项。
Fibonacci数列:1,1,2,3,5,8,13...........
-------- -----------------------------------------------*

#include

void main()

{
***********SPACE***********
int 【fib】[15],i;
fib[0]=1;fib[1]=1;
for (i=2;i<15;i++)
***********SPACE***********
fib[i]=【fib[i-2]+fib[i-1]】;
for(i=0;i<15;i++)
{
printf(
***********SPACE***********
if ( 【i%5==4】 ) printf(
}
}
*---------- ---------------------------------------------
8 【程序填空】
--------------------------------- ------------------------

题目:以下程序的功能是求100-999之间的水仙花数(水仙花数
是指一个三位数的各个位数字的立方和是这个数本身,
如:153=1^3+5^3+3^3)。

--------------------- ----------------------------------*
#include
int fun(int n)
{ int i,j,k,m;
m=n;
***********SPACE***********
【k=0】
for(i=1;i<4;i++)
{
***********SPACE***********


【j=m%10】
m=(m-j)10;
k=k+j*j*j;
}
***********SPACE***********
if(k==n) 【return(1)】
else return(0);}

void main()
{
int i;
for(i=100;i<1000;i++)
***********SPACE***********
if(【fun(i)】==1)printf(
}
*----------------- --------------------------------------
9 【程序填空】
--------------------------------------- ------------------

题目:某次大奖赛,有10个评委打分,下面的程序是对一名参赛者评分,输入10个评
委的打分分数,去掉一个最高分,一个最低分后,求出平均分即为该参赛者的得分。

------------------------------------------------- ------*
#include
void main()
{
float mark,max,min,aver=0.0,sum=0.0;
int i;
for(i=1;i<=10;i++)
{ printf(输入第%d位评委的打分n
scanf(
if(i==1)
{ max=mark;
***********SPACE***********
【min=mark】;
}
else if(mark min=mark;
***********SPACE***********
else if(【mark>max】)
max=mark;
***********SPACE***********
【sum+=mark】;
}


aver=(sum-max- min)8;
printf(
}
*------------------ -------------------------------------
10 【程序填空】
--------------------------------------- ------------------

题目:输出9*9口诀。
------ -------------------------------------------------*
#include
void main()
{int i,j,result;
printf(
***********SPACE***********
for (i=1;【i<10】;i++)
***********SPACE***********
{ for(j=1;j<10;【j++】)
{
result=i*j;
***********SPACE***********
printf(【result】);
}
printf(
}
}

*---------------------------------------- ---------------
11【程序填空】
----------------- ----------------------------------------

题目:用辗转相除法求两个整数的最大公约数、最小公倍数。

--------- ----------------------------------------------*
#include
void main()
{ int n,m,nm,r,t;
printf(
scanf(
nm=n*m;
if (m { t=m; m=n; n=t; }
r=m%n;
***********SPACE***********
while (【r!=0】)


{ m=n;
***********SPACE***********
【n=r】
***********SPACE***********
【r=m%n】
}
printf(
***********SPACE***********
printf(【nmn】);
}

*------------------ -------------------------------------
12【程序填空】
---------------------------------------------- -----------

题目:以下程序的功能是将一个数组中的元素按逆序存放。

----------------------------------------- --------------*

#define N 7
#include
void main ()
{
static int a[N]={12,9,16,5,7,2,1},k,s;
printf(
for (k=0;k printf(
***********SPACE***********
for (k=0;k<【N2】; k++ )
{
s=a[k];
***********SPACE***********
【a[k]=a[N-k-1]】
***********SPACE***********
【a[N-k-1]=s】
}
printf(
for (k=0;k***********SPACE***********
【printf】(
}

*------------------------- ------------------------------
13 【程序填空】

< p>
-------------------------------------------- -------------

题目:输入3个整数,输出最大数。

- -------------------------------------------------- ----*
#include
void main( )
{ int a,b,c, max;
printf(
scanf(
***********SPACE***********
if(【a>b】)
max=a;
***********SPACE***********
【else】
max=b;
if(max***********SPACE***********
【max=c】
printf(
}
*--------------- ----------------------------------------
14 【程序填空】
--------------------------------------- ------------------

题目:输入三个整数x,y,z,请把这三个数由小到大输出。
------------- ------------------------------------------*
#include
void main()
{int x,y,z,t;
scanf(
if (x>y)
***********SPACE***********
{【t=x;x=y;y=t;】}
if(x>z)
***********SPACE***********
{【t=z;z=x;x=t;】}
if(y>z)
***********SPACE***********
{【t=y;y=z;z=t;】}
printf(
}

*----- --------------------------------------------------


15 【程序填空】
------------------------- --------------------------------

题目:打印出如下图案(菱形)

*
***
*****
*******
*****
***
*
------------------------------- ------------------------*
#include
void main()
{
int i,j,k;
***********SPACE***********
for(i=0;【i<4】;i++)
{
for(j=0;j<=4-i;j++)
printf(
***********SPACE***********
for(k=1;k<=【2*i+1】;k++)
printf(
printf(
}
***********SPACE***********
for(【j=0】;j<3;j++)
{
for(k=0;k printf(
***********SPACE***********
for(k=0;k<【5-2*j】;k++)
printf(
printf(
}
}

*-------------------- -----------------------------------
16 【程序填空】
---------------------------------------------- -----------

题目:以下程序的功能:计算并输出high以内最大的10个素数


之和,high由主函数传给fun函数,若high的值为100,
则函数的值为732。

------------------------------ -------------------------*

#include
#include
int fun( int high )
{
int sum = 0, n=0, j, yes;
***********SPACE***********
while ((high >= 2) && (【n<10】))
{
yes = 1;
for (j=2; j<=high2; j++ )
***********SPACE***********
if (【high%j==0】)
***********SPACE***********
{yes=0; 【break】;}
if (yes)
{ sum +=high; n++; }
high--;
}
***********SPACE***********
【return(sum)】;
}

void main ( )
{
printf(
}

*-------------------- -----------------------------------
17 【程序填空】
---------------------------------------------- -----------

题目:输入如下形式的二项式系数列标。要求表的行数运行时输入,
若小于1或者大于10则重新输入。
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1



--- -------------------------------------------------- --*

#include
void main()
{
int a[10][10]={{0}}, i, j, n;
while(scanf(
for(i=0;i<10;i++)
{ a[i][0]=1;
***********SPACE***********
【a[i][i]=1】;
}
for(i=2;i for(j=1;j***********SPACE***********
a[i][j]=a[i-1][j]+【a[i-1][j-1]】;
for(i=0;i { for(j=0;j<=i;j++)
printf(
***********SPACE***********
【printf(】;
}
}



*---- --------------------------------------------------
18 【程序改错】
-------------------------------- ------------------------

题目:函数fun的功能是:求1到20的阶乘的和。
请改正程序中的错误,使它能得出正确的结果。

------------------- -------------------------------------
注意:不可以增加或删除程序行,也不可以更改程序的结构。
-------------- ----------------------------------------*


fun()
{
int n,j;
double s=0.0,t=1.0;
for(n=1;n<=20;n++)


{
**********FOUND**********
t=1;
for(j=1;j<=n;j++)
**********FOUND**********
t=t*j;
**********FOUND**********
s=s+t;
}
**********FOUND**********
printf(
}
main()
{
fun();
}

*----- -------------------------------------------------
19 【程序改错】
-------------------------------- ------------------------

题目:给定程序MODI1.C中函数 fun 的功能是:
用选择法对数组中的n个元素按从小到大
的顺序进行排序。
-------- ------------------------------------------------
注意:不可以增加或删除程序行,也不可以更改程序的
结构。
--- -------------------------------------------------- -*
#include
#define N 20
void fun(int a[], int n)
{ int i, j, t, p;
for (j = 0 j < n-1 j++) {
**********FOUND**********
p = j;
for (i = j;i < n; i++)
**********FOUND**********
if(a[i] **********FOUND**********
p=i;
t = a[p] a[p] = a[j] a[j] = t;
}
}


void main()
{
int a[N]={9,6,8,3,-1},i, m = 5;
printf(排序前的数据:
for(i = 0;i < m;i++) printf(
fun(a,m);
printf(排序后的数据:
for(i = 0;i < m;i++) printf(

}
*-------------- ----------------------------------
20【程序改错】 ------------------------------------------------ --

题目:编写函数fun,求两个整数的最小公倍数,然后用主
函数main()调用这个函数并输出结果,两个整数由
键盘输入。

------------------------------------------------- -
注意:部分源程序给出如下。请勿改动主函数main和其
它函数中的任何内容,仅在函数fun的花括号中填
入所编写的若干语句。
- -----------------------------------------------*
#include
void main()
{
unsigned int m,n,q;
printf(
scanf(
**********FOUND**********
q=fun(m,n);
printf(

}
int fun(int m,int n)
{

int i;
**********FOUND**********
if (m{i=m;m=n;n=i;}
for(i=m;i<=m*n;i+=m)
**********FOUND**********
if(i%n==0)


return(i);

}

*------- -----------------------------------------------
21【程序改错】
--------------------------------- -----------------------

题目:下列程序中,函数fun的功能是:找出一个大
于给定整数m且紧随m的素数,并作为函数值返回。
---------------------- ----------------------------------
注意:不可以增加或删除程序行,也不可以更改程序的
结构。
--- -------------------------------------------------- -*
#include
#include
int fun(int m)
**********FOUND**********
{ int i,k;
for(i=m+1;;i++){
for(k=2;k**********FOUND**********
if(i%k==0)
break;
**********FOUND**********
if(k==i)
return(i);
}
}
void main()
{
int n;

printf(
scanf(
printf(

}

*--------------------------------------------- ---------
22 【程序改错】
------------------ --------------------------------------

题目:打印出如下杨辉三角形(要求打印出6行).


1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
------------------------ --------------------------------
注意:不可以增加或删除程序行,也不可以更改程
序的结构。
--- -------------------------------------------------- -*
#include
void main()
{ int i,j;
int a[6][6];
printf(
**********FOUND**********
for(i=0;i<6;i++)
{ a[i][0]=1;
a[i][i]=1;
}
**********FOUND**********
for(i=2;i<6;i++)
for(j=1;j **********FOUND**********
a[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=0;i<6;i++)
{
**********FOUND**********
for(j=0;j<=i;j++)
printf(
printf(
}

}

*--------- ---------------------------------------------
23 【程序改错】
-------------------------------- ------------------------

题目:给定程序MODI1.C中函数 fun 的功能是:计算正整数num的
各位上的数字之积。例如,若输入:252,则输出应该是:20。若
输入:202,则输出应该是:0。
------------------------- -------------------------------
注意:不可以增加或删除程序行,也不可以更改程序的结构。


------- -----------------------------------------------*
#include
long fun (long num)
**********FOUND**********
{long k=1;

do
{ k*=num%10
**********FOUND**********
num=10;
**********FOUND**********
} while(num)
return (k)
}

void main( )
{ long n
printf(
printf(

}

*------------------------------------------------ ------
24 【程序改错】
--------------------- -----------------------------------

题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当
即吃了一半,还不过瘾,又多吃了一个,第二天
早上又将剩下的桃子吃掉一半,又多吃了一个。
以后每天早上都吃了前一天剩下的一半零一个。
到第10天早上想再吃时,见只剩下一个桃子了。
求第一天共摘了多少。
-- -------------------------------------------------- ----
注意:不可以增加或删除程序行,也不可以更改程序的
结构。 ------------------------------------------------ ------*
#include
void main()
{
int day,x1,x2;
day=9;
**********FOUND**********
x2=1;
while(day>0)


**********FOUND**********
{x1=(x2+1)*2;
x2=x1;
**********FOUND**********
day--;
}
printf(

}

*------------------ ------------------------------------
25【程序改错】
--------------------------------- -----------------------

题目:一个5位数,判断它是不是回文数。即12321是回
文数,个位与万位相同,十位与千位相同。
-------------------------- ------------------------------
注意:不可以增加或删除程序行,也不可以更改程序
的结构。
--- -------------------------------------------------- -*
#include
void main( )
{
**********FOUND**********
long ge,shi,qian,wan,x;
scanf(
**********FOUND**********
wan=x10000;
qian=x%100001000;
shi=x%10010;
ge=x%10;
**********FOUND**********
if(ge==wan&&shi==qian)
printf(
else
printf(

}

*------------------ ------------------------------------
26 【程序改错】
--------------------------------------- -----------------

题目:编写函数fun求20以内所有5的倍数之积。


---------- ----------------------------------------------
注意:不可以增加或删除程序行,也不可以更改程序的结构。
-------------- ----------------------------------------*
#define N 20
#include
void main()
{ int sum;
sum=fun(5);
printf(以内所有%d的倍数之积为: %dn

}
int fun(int m)
{
**********FOUND**********
int s=1,i;
for(i=1;i**********FOUND**********
if(i%m==0)
**********FOUND**********
s=s*i;
return s;

}

*------------------- -----------------------------------
27【程序改错】
--------------------------------- -----------------------

题目:请编写一个函数fun,函数的功能是:统计出若干
个学生的平均成绩,最低分以及得最低分的人数。
例如,输入10名学生的成绩分别为92,87,68,56,
92,84,67,75,92,66,则输出平均成绩为77.9,
最低分为56,得最低分的人数为1人。

---------------------- ----------------------------------
注意:不可以增加或删除程序行,也不可以更改程序的结构。
-------------- ----------------------------------------*
#include

float Min=0;
int J=0;
float fun(float array[],int n)
{
int i;float sum=0,ave;


Min=array[0];
for(i=0;i{ if(Min>array [i]) Min=array [i];
**********FOUND**********
sum=sum+array[i]; }
**********FOUND**********
ave=sumn;
for(i=0;i**********FOUND**********
if(array[i]==Min) J++;
return(ave);

}

void main( )
{
float a[10],ave;
int i=0;
printf(
for(i=0;i<10;i++)
scanf(
ave=fun(a,10);
printf(
printf(
printf(

}

*--- -------------------------------------------------- -
28 【程序改错】
---------------------- ----------------------------------

题目:有一数组内放10个整数,要求求出平均值,并打印.

--------- -----------------------------------------------
注意:不可以增加或删除程序行,也不可以更改程序的结构。
-------------- ----------------------------------------*
#include
float average(float array[10])
{
int i;
float aver,sum=array[0];
***********FOUND***********
for(i=1;i<10;i++)


sum=sum+array[i];
aver=sum10.0;
return(aver);
}
void main( )
{
***********FOUND***********
float score[10],aver
int i;
printf(
for(i=0;i<10;i++)
***********FOUND***********
scanf(
printf(
***********FOUND***********
aver=average(score);
printf(
}

*------------------------------------------------ ------
29【程序改错】
---------------------- ----------------------------------

题目:利用递归方法求5!。
---------------------------- ----------------------------
注意:不可以增加或删除程序行,也不可以更改程序
的结构。
--- -------------------------------------------------- -*
#include
void main()
{
int fact(int j);
printf(
}
int fact(int j)
{
int sum;
**********FOUND**********
if(j==0)
**********FOUND**********
sum=1;
else
sum=j*fact(j-1);
**********FOUND**********


return sum;

*----------------- -------------------------------------
30 【程序改错】
--------------------------------------- -----------------

题目:编写函数求2!+4!+6!+8!+10+12!+14!。
---------- ----------------------------------------------
注意:不可以增加或删除程序行,也不可以更改程序的结构。
-------------- ----------------------------------------*
#include
long sum(int n)
{
**********FOUND**********
int i,j;
long t,s=0;
**********FOUND**********
for(i=2;i<=n;i+=2)
{t=1;
for(j=1;j<=i;j++)
t=t*j;
s=s+t;}
**********FOUND**********
return(s);
}
void main()
{
printf(


}

*--------------- ---------------------------------------
31 【程序改错】
--------------------------------------- -----------------

题目:下列给定程序中,函数fun的功能是:判断m是否为素数,
若是返回1,否则返回0。主函数的功能是:按每行5个输
出1-100之间的全部素数。
请改正程序中的4个错误,使它能得出正确的结果。

----------------------------------------- ---------------
注意:不可以增加或删除程序行,也不可以更改程序的结构。 ------------------------------------------------ ------*



#include

**********FOUND**********
void fun( int m)
{
int i,k=1;
if(m<=1) k=0;
**********FOUND**********
for(i=2;i**********FOUND**********
if(m%i==0) k=0;
**********FOUND**********
return k;
}

void main()
{
int m,k=0;
for(m=1;m<100;m++)
if(fun(m)==1)
{
printf(
if(k%5==0)printf(
}
}

*------------------------------- -----------------------
32 【程序改错】
---- -------------------------------------------------- --

题目:求100以内(包括100)的偶数之和.
----------- ---------------------------------------------
注意:不可以增加或删除程序行,也不可以更改程序
的结构。
--- -------------------------------------------------- -*
#include
void main()
{
**********FOUND**********
int i,sum=0;
**********FOUND**********
for(i=2;i<=100;i+=2)
sum+=i;


**********FOUND**********
printf(

}

*------------------ ------------------------------------
33 【程序改错】
--------------------------------------- -----------------

题目:用起泡法对10个整数从小到大排序。
程序中共有4条错误语句,请改正错误。

------------ --------------------------------------------
注意:不可以增加或删除程序行,也不可以更改程序的结构。
-------------- ----------------------------------------*

#include
**********FOUND**********
void sort(int x[],int n)
{
int i,j,k,t;
for(i=0;i**********FOUND**********
for(j=0;j**********FOUND**********
if(x[j]>x[j+1])
{ t=x[j];x[j]=x[j+1];x[j+1]=t;}
}
void main()
{
int i,n,a[100];
printf(
scanf(
for(i=0;i scanf(
sort(a,n);
printf(
for(i=0;i<=n-1;i++)
printf(
printf(
}

*-------- ----------------------------------------------
34 【程序改错】


------------------------- -------------------------------

题目:函数fun的功能是:求出两个非零正整数的最大公约数,
并作为函数值返回。例如,若给num1和num2分别输入49
和21,则输出的最大公约数为7。
请改正程序中的错误,使它能得出正确的结果。

----------------------------------------- ---------------
注意:不可以增加或删除程序行,也不可以更改程序的结构。 ------------------------------------------------ ------*

#include
int fun(int a,int b)
{
int r,t;
if(a{
t=a;
**********FOUND**********
a=b;
**********FOUND**********
b=t;
}
r=a%b;
while(r!=0)
{
a=b;
b=r;
**********FOUND**********
r=a%b;}
**********FOUND**********
return b;
}
void main()
{
int num1,num2,a;
printf(
scanf(
a=fun(num1,num2);
printf(
}

*--------------------------- ---------------------------
35【程序改错】

< p>
-------------------------------------------- ------------

题目:请编写一个函数fun,函数的功能是:求出N×M整
型数组的最小元素及其所在的行坐标及列坐标(如
果最小元素不唯一,选择位置在最前面的一个)。
例如:输入的数组为:
9 2 3
4 15 6
12 1 9
10 11 2

求出的最小数为1,行坐标为2,列坐标为1。
------------------------------------------------- -------
注意:不可以增加或删除程序行,也不可以更改程序的结构。
------ ------------------------------------------------*
#define N 4
#define M 3
#include

int Row,Col;
void main()
{
int a[N][M],i,j,min,row,col;
printf(
for(i=0;i for(j=0;j scanf(
for(i=0;i {
for(j=0;j printf(
printf(
}
min=fun(a);
printf(


}
int fun(int array[N][M])
{
int min,i,j;
min=array [0][0];
Row=0;
Col=0;


for(i=0;i**********FOUND**********
{for(j=0;j**********FOUND**********
if(min >array [i][j])
{min=array [i][j];
Row=i;
**********FOUND**********
Col=j;}
}
return(min);

}


*------- -----------------------------------------------
36 【程序改错】
-------------------------------- ------------------------

题目:求n!,n值由键盘输入。
程序中共有4条错误语句,请改正错误。

------------ --------------------------------------------
注意:不可以增加或删除程序行,也不可以更改程序的结构。
-------------- ----------------------------------------*
#include
void main()
{
int n,i;
**********FOUND**********
float t;
printf(
**********FOUND**********
scanf(
i=1;
**********FOUND**********
t=1;
while(i<=n)
**********FOUND**********
{ t*=i;
i++;
}
printf(
}





*----------------------- -------------------------
37 【程序设计】
------ --------------------------------------------

题目:编写函数fun,函数的功能是:求1到
m之间(包括m)的偶数之积。

-------------------------- ------------------------
注意:部分源程序给出如下。请勿改动主函数
main和其它函数中的任何内容,仅在函
数fun的花括号中填入所编写的若干语句。
------------------------- -----------------------*

#include

double fun(int m)
{

**********Program**********


double y=1
int i;
for(i=1;i<=m;i++)
if(i%2==0)
y*=i;
return y;



********** End **********

}
void main()
{
printf(
yzj();
}
yzj()
{
FILE *IN,*OUT;


int iIN,i;
double dOUT;
IN=fopen(
if(IN==NULL)
{printf(
}
OUT=fopen(
if(OUT==NULL)
{printf(
}
for(i=0;i<5;i++)
{fscanf(IN,
dOUT=fun(iIN);
fprintf(OUT,
}
fclose(IN);
fclose(OUT);
}
*---------------------- --------------------------
38【程序设计】
------ --------------------------------------------

题目:编写函数fun其功能是: 找出一个大于给定整
数且紧随这个整数的素数,并作为函数值返回。
------------------------ --------------------------
注意:部分源程序给出如下。请勿改动主函数main
和其它函数中的任何内容,仅在函数fun的花
括号中填入所编写的若干语句。
------------------------------------------------*
#include

int fun(int n)
{
**********Program**********


int i,k;
for(i=n+1;;i++)
{
for(k=2;k if(i%k==0)
break;
if(k==i)
return(i);


}



********** End **********

}

void main()
{ int m;
printf(
scanf(
printf(
yzj();
}

yzj()
{

FILE *IN,*OUT;
int s
int t;
int o;

IN=fopen(
if(IN==NULL)
{printf(
}
OUT=fopen(
if(OUT==NULL)
{printf(
} for(s=1;s<=5;s++)
{ fscanf(IN,
o=fun(t);
fprintf(OUT,
}
fclose(IN);
fclose(OUT);
}

*- -----------------------------------------------
39 【程序设计】
-------------------------------- ------------------


题目:编写函数fun将一个数组中的值按逆序存放,
并在main()函数中输出。
例如,原来存顺序为8,6,5,4,1。要求改为:
1,4,5,6,8。

------------------ --------------------------------
注意:部分源程序给出如下。请勿改动主函数
main和其它函数中的任何内容,仅在函
数fun的花括号中填入所编写的若干语句。
---------------------------------------------- --*
#include
#define N 5


void main()
{void fun(int arr[],int n);
int a[N]={8,6,5,4,1},i;
for(i=0;i printf(
printf(
fun(a,N);
for(i=0;i printf(
yzj();
}

void fun(int arr[],int n)
{
**********Program**********


int i,t;
for(i=0;i { t=arr[i];
arr[i]=arr[n-1-i];
arr[n-1-i]=t;
}



********** End **********

}
yzj()


{
FILE *IN,*OUT;
int n;
int i[10];
int o;
IN=fopen(
if(IN==NULL)
{printf(
}
OUT=fopen(
if(OUT==NULL)
{printf(
}
for(n=0;n<10;n++)
{
fscanf(IN,
}
fun(i,10);
for(n=0;n<10;n++)
{
fprintf(OUT,
}
fclose(IN);
fclose(OUT);
}

*---------------------------------- --------------
40 【程序设计】
----------------- ---------------------------------

题目:请编写一个函数fun,函数的功能是:统计出若干
个学生的平均成绩,最高分以及得最高分的人数。
例如,输入10名学生的成绩分别为92,87,68,56,
92,84,67,75,92,66,则输出平均成绩为77.9,
最高分为92,得最高分的人数为3人。

---------------------- ----------------------------
注意:部分源程序给出如下。请勿改动主函数main和其
它函数中的任何内容,仅在函数fun的花括号中填
入所编写的若干语句。
- -----------------------------------------------*
#include

float Max=0;


int J=0;
float fun(float array[],int n)
{

**********Program**********


int i;
float sum=0,ave;
Max=array[0];
for(i=0;i{ if(Max sum=sum+array[i]; }
ave=sumn;
for(i=0;i if(array[i]==Max) J++;
return(ave);

********** End **********

}

void main( )
{
float a[10],ave;
int i=0;
printf(请输入10个数:n
for(i=0;i<10;i++)
scanf(
ave=fun(a,10);
printf(
printf(
printf(
yzj();
}
yzj()
{
FILE *IN,*OUT;
float iIN[10],iOUT;
int iCOUNT;
IN=fopen(
if(IN==NULL)
{printf(
}


OUT=fopen(
if(OUT==NULL)
{printf(
}
for(iCOUNT=0;iCOUNT<10;iCOUNT++)
fscanf(IN,
iOUT=fun(iIN,10);

fprintf(OUT,

fclose(IN);
fclose(OUT);
}


*------------ ------------------------------------
41 【程序设计】
---------------------------------------------- ----

题目:编写函数fun,函数的功能是:找出一批正整数中
的最大的偶数。

--------------------------------- -----------------
注意:部分源程序给出如下。请勿改动主函数main和其
它函数中的任何内容,仅在函数fun的花括号中填
入所编写的若干语句。
----------------------------------- -------------*
#include

int fun(int a[],int n)
{

**********Program**********


int i,amax=-1;
for(i=0;iif(a[i]%2==0)
if(a[i]>amax)
amax=a[i];
return amax;




********** End **********

}

void main()
{
int a[]={1,2,9,24,35,18},k;
k=fun(a,6);
printf(
yzj();
}

yzj()
{
FILE *IN,*OUT;
int iIN[10],iOUT,i,j;
IN=fopen(
if(IN==NULL)
{printf(
}
OUT=fopen(
if(OUT==NULL)
{printf(
}
for(j=0;j<10;j++)
{ for(i=0;i<10;i++)
fscanf(IN,
iOUT=fun(iIN,10);
fprintf(OUT,
}
fclose(IN);
fclose(OUT);
}

*- -----------------------------------------------
42 【程序设计】
-------------------------------- ------------------

题目:编写函数判断一个整数m的各位数字之和
能否被7整除, 可以被7整除则返回1,否则
返回0。调用该函数找出100~200之间满足
条件的所有数。
----- ---------------------------------------------


注意:部分源程序给出如下。请勿改动主函数
main和其它函数中的任何内容,仅在函
数的花括号中填入所编写的若干语句。 ------------------------------------------------ *
#include
int sub(int m)
{
**********Program**********


int k,s=0;
do
{
s=s+m%10;
m=m10;
}
while(m!=0);
if(s%7==0)
k=1;
else k=0;
return(k);



********** End **********
}
void main()
{ int i;
for(i=100;i<=200;i++)
if(sub(i)==1)printf(
yzj();

}
yzj()
{
FILE *IN,*OUT;
int n;
int i[10];
int o;
IN=fopen(
if(IN==NULL)
{printf(
}
OUT=fopen(


if(OUT==NULL)
{printf(
}
for(n=0;n<10;n++)
{
fscanf(IN,
}
for(n=0;n<10;n++)
{
o=sub(i[n]);
fprintf(OUT,
}
fclose(IN);
fclose(OUT);
}


*----------------------------- -------------------
43 【程序设计】
------------ --------------------------------------

题目:编写函数fun,函数的功能是:计算n门课程的平
均值,计算结果作为函数值返回。
例如,若有5门课程的成绩是:92,76,69,58,
88,则函数的值为76.600000。

--------------------- -----------------------------
注意:部分源程序给出如下。请勿改动主函数main和其
它函数中的任何内容,仅在函数fun的花括号中填
入所编写的若干语句。
- -----------------------------------------------*

#include
float fun(int a[],int n)
{

**********Program**********


int i;
float y=0;
for(i=0;i y+=a[i];
y=yn;


return y;




********** End **********

}

void main()
{
int a[]={92,76,69,58,88};
printf(
yzj();
}
yzj()
{
FILE *IN,*OUT;
int iIN[10],i,j;
float fOUT;
IN=fopen(
if(IN==NULL)
{printf(
}
OUT=fopen(
if(OUT==NULL)
{printf(
}
for(j=0;j<10;j++)
{ for(i=0;i<5;i++)
fscanf(IN,
fOUT=fun(iIN,5);
fprintf(OUT,
}
fclose(IN);
fclose(OUT);
}

*----------------- -------------------------------
44 【程序设计】
--------------------------------------------------

题目:将字符串中的小写字母转换为对应的大写字母,
其它字符不变。



-------------------------- ------------------------
注意:部分源程序给出如下。请勿改动主函数
main和其它函数中的任何内容,仅在函
数的花括号中填入所编写的若干语句。
---------------------------- --------------------*
void change(char str[])
{
**********Program**********


int i;
for(i=0;str[i]!='0';i++)
if(str[i]>='a' && str[i]<='z')
str[i]=str[i]-32;



********** End **********
}
#include
#include
void main()
{
void change();
char str[40];
gets(str);
change(str);
puts(str);
yzj();

}

yzj()
{
FILE *IN,*OUT;
int n;
char i[200];
IN=fopen(
if(IN==NULL)
{printf(
}
OUT=fopen(
if(OUT==NULL)


{printf(
}
fscanf(IN,
change(i);
fprintf(OUT,
fclose(IN);
fclose(OUT);
}


*----------------------------- -------------------
45 【程序设计】
------------ --------------------------------------

题目:请编写函数fun,它的功能是:判断m是否为素数
。主函数的功能是:求出100到200之间的素数的
个数。

-- ------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数main和其
它函数中的任何内容,仅在函数fun的花括号中填
入所编写的若干语句。
- -----------------------------------------------*

#include
int fun(int m);
void main()
{
int m,k=0;
for(m=100;m<200;m++)
if(fun(m))
{
printf(
k++;
if(k%5==0)
printf(
}
printf(
yzj();
}

int fun(int m)
{


**********Program**********


int i,k=1;
if(m<=1)
k=o;
for(i=2;iif(m%i==0)
k=0;
return k;



********** End **********

}

yzj()
{
FILE *IN,*OUT;
int iIN,iOUT,i;
IN=fopen(
if(IN==NULL)
{printf(
}
OUT=fopen(
if(OUT==NULL)
{printf(
}
for(i=0;i<10;i++)
{ fscanf(IN,
iOUT=fun(iIN);
fprintf(OUT,
}
fclose(IN);
fclose(OUT);
}

*- -----------------------------------------------
46 【程序设计】
-------------------------------- ------------------

题目: 给定n个数据, 求最小值出现的位置
(如果最小值出现多次,求出第一次出


现的位置即可)。

-------------------------------- ------------------
注意:部分源程序给出如下。请勿改动主函数
main和其它函数中的任何内容,仅在函数
station的花括号中填入所编写的若干语句。
---------------------- --------------------------*
#include
int station(int s[],int n)
{
**********Program**********


int i,k;
k=0;
for(i=1;iif(s[i] k=i;
return k;



********** End **********
}

void main()
{
int a[100],n,i,t;
printf(请输入n值:
scanf(
printf(请输入%d个数:n
for(i=0;i scanf(
t=station(a,n);
printf(
yzj();

}
yzj()
{
FILE *IN,*OUT;
int n;
int i[10];
int o;


IN=fopen(
if(IN==NULL)
{printf(
}
OUT=fopen(
if(OUT==NULL)
{printf(
}
for(n=0;n<10;n++)
{
fscanf(IN,

}
o=station(i,10);
fprintf(OUT,
fclose(IN);
fclose(OUT);

}

*----------------------------- -------------------
47 【程序设计】
------------ --------------------------------------

题目:编写函数fun求1000以内所有m的倍数之和。

---------- ----------------------------------------
注意:部分源程序给出如下。请勿改动主函数
main和其它函数中的任何内容,仅在函
数fun的花括号中填入所编写的若干语句。
---------------------------------------------- --*
#define N 1000
#include
#include
int yzj();
int fun(int m);
void main()
{int sum;
sum=fun(7);
printf(以内所有%d的倍数之和为:%dn

yzj();
}
int fun(int m)


{
**********Program**********


int s=0,i;
for(i=1;iif(i%m==0)
s+=i;
return s;



********** End **********
}

yzj()
{
FILE *IN,*OUT;
int n;
int i[10];
int o;

OUT=fopen(
if(OUT==NULL)
{printf(
}
o = fun(6);
fprintf(OUT,

fclose(OUT);
}
< br>*---------------------------------------------- --
48【程序设计】
------------------------------ --------------------

题目:调用函数fun判断一个三位数是否水仙花数。
在main函数中从键盘输入一个三位数,并输
出判断结果。请编写fun函数。所谓水仙花
数是指一3位数,其各位数字立方和等于该
数本身。
例如,153是一个水仙花数,因为153=1+125+27。
---------------- ----------------------------------
注意:部分源程序给出如下。请勿改动主函数main


和其它函数中的任何内容,仅在函数fun的花
括号中填入所编写的若干语句。
------------------------------------------------*
#include
int fun(int n)
{

**********Program**********


int bw,sw,gw;
bw=n100;sw=(n-bw*100)10;gw=n%10;
if(n==bw*bw*bw+sw*sw*sw+gw*gw*gw)
return 1;
else
return 0;



********** End **********


}
void main()
{
int n,flag;
scanf(
flag=fun(n);
if(flag)
printf(是水仙花数n
else
printf(不是水仙花数n

yzj();
}
yzj()
{
FILE *IN,*OUT;
int iIN,i;
int iOUT;
IN=fopen(
if(IN==NULL)
{printf(
}


OUT=fopen(
if(OUT==NULL)
{printf(
}
for(i=0;i<10;i++)
{ fscanf(IN,
iOUT=fun(iIN);
fprintf(OUT,
}
fclose(IN);
fclose(OUT);
}


*----------------------------- -------------------
49【程序设计】
------------- -------------------------------------

题目:编写函数fun其功能是:能计算从1开始到n的
自然数的和,n由键盘输入,并在main()函数
中输出。
------- -------------------------------------------
注意:部分源程序给出如下。请勿改动主函数main
和其它函数中的任何内容,仅在函数fun的花
括号中填入所编写的若干语句。
------------------------------------------------*
#include


int fun(int n)
{
**********Program**********


int sum,i;
sum =0;
for(i=1;i<=n;i++)
{sum=sum+i;}
return(sum);



********** End **********


}

void main()
{ int m;
printf(
scanf(
printf(
yzj();


}

yzj()
{

FILE *IN,*OUT;

int t;
int o;
int c;
IN=fopen(
if(IN==NULL)
{printf(
}
OUT=fopen(
if(OUT==NULL)
{printf(
}
for(c=1;c<=5;c++)
{ fscanf(IN,
o=fun(t);
fprintf(OUT,
}
fclose(IN);
fclose(OUT);

劳动仲裁申请书范本-985大学名单


尖叫的海棠-南阳书记市长留言板


外语退出高考-阅兵口号


宁夏高考-2010北京中考物理


受益匪浅什么意思-档案管理员职责


购买小产权房合同-公关活动策划书


什么伴我成长-学校会计工作总结


我眼中的色彩-全日制专业学位