程序设计

22题目:从键盘为一维整型数组输入10个整数,调用fun函数找出其中最小的数,并在main函数中输出。请编写fun函数。

/**********Program**********/
int min,i;
min=x[0];
for(i=1;i{if(x[i]return min;
/********** End **********/

23题目:从键盘输入一个大于3的整数,调用函数fun判断其是否素数,然后在main函数中输出相应的结论信息。例如:7是素数,8不是素数。请编写fun函数。素数是仅能被1和自身整除的数

/**********Program**********/
int i;
int j;
j= 1;
for(i=2;i{if(n%i==0) j= 0;}
return j;
/********** End **********/

29题目:请编写一个函数fun,函数的功能是:统计出若干个学生的平均成绩,最高分以及得最高分的人数。

/**********Program**********/
int i;float sum=0,ave;
Max=array[0];
for(i=0;i{ if(Maxsum=sum+array [i]; }
ave=sum/n;
for(i=0;iif(array [i]==Max) J++;
return(ave);
/********** End **********/

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

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


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


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


47.题目:编写函数fun,函数的功能是:计算并输出给定整数n的所有因子之和(不包括1与自身)。规定
n的值不大于1000。

/**********Program**********/
int s=0,i;
for(i=2;iif(n%i==0)s=s+i;

return s;
/********** End **********/

52.题目:编写函数fun,函数的功能是:求给定正整数m(包括m)
以内的素数之和。




/**********Program**********/
int i,k,s=0;
for(i=2;i<=m;i++)
{for(k=2;kif(i%k==0)break;
if(k==i)s=s+i;}
return s;
/********** End **********

53.题目:编写函数fun,函数的功能是:求一个给定字符串
中的字母的个数。

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

int i,k=0;
for(i=0;s[i]!='\0';i++)
if(s[i]>='a'&&s[i]<='z'||s[i]>='A'&&s[i]<='Z')
k++;
return k;


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


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


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


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


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


126.题目:用函数将两个字符串连接起来,不允许使用strcat函数。



/**********Program**********/
int i,j;
for(i=0;c1[i]!='\0';i++);
for(j=0;c2[j]!='\0';j++)
c1[i+j]=c2[j];
c1[i+j]='\0';
/********** End **********/

127.题目:用函数将一个N阶方阵进行转置,输入输出在主函数中实现。





/**********Program**********/
int i,j,k;
for(i=0;ifor(j=0;j<=i;j++)
{k=a[i][j];
a[i][j]=a[j][i];
a[j][i]=k;}
/********** End **********/

128.题目

:用函数求一个N阶方阵右下三角元素的和(包括副
对角线上的元素)。

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

int i,j,k=0;
for(i=0;ifor(j=N-1-i;jk=k+a[i][j];
return(k);



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

159.题目:用函数求fibonacci数列前28项的和。 已知数列的第一项值为1,第二项值也为1,从第三项开始,每
一项均为其前面相邻两项的和。运行结果:832039
/**********Program**********/
long f,k=f1+f2;
int i;
for(i=3;i<=28;i++)
{f=f1+f2;
k=k+f;
f1=f2;
f2=f;
}
return(k);
/********** End **********/


177题目:编写函数用选择排序法对数组中的数据进行从小到大的排序。


/**********Program**********/
int i,j,k,t;
for(i=0;i{k=i;
for(j=i+1;jif(a[k]>a[j]) k=j;
if(k!=i)
{t=a[i];
a[i]=a[k];
a[k]=t;
}
}
/********** End **********/


214.题目:编写函数用冒泡排序法对数组中的数据进行从小到大的排序。



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

int i,j,t;
for(i=0;ifor(j=0;jif(a[j]>a[j+1])
{t=a[j];
a[j]=a[j+1];
a[j+1]=t;}

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

217.题目: 给定n个数据, 求最大值出现的位置(如果最大值出现多次,求出第一次出现的位置即可)。

/**********Program**********/
int i,k;
k=0;
for(i=1;iif(s[i]>s[k]) k=i;
return(k);
/********** End **********/


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



/**********Program**********/
int r,t;
if(nr=n%m;
while(r!=0)
{ n=m;m=r;r=n%m;}
return(m);

/********** End **********/
223.题目:求字符ch在字符串s中出现的所有位置。(用一个新生成的数组来表示出现的所有位置)

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



int i,j=0;
for(i=0;s[i]!='\0';i++)
if(s[i]==ch) a[j++]=i;
return(j);




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


257.题目:用函数求N个[10,60]上的整数中能被5整除的最大的数, 如存在则返回这个最大值,如果不存在则返
回0。.

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


int i;
for(i=0;iif(arr[i]%5==0 && arr[i]>m)
m=arr[i];



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

258.题目:求一批数中最大值和最小值的差。


/**********Program**********/
int i,max,min;
max=min=a[0];
for(i=1;iif(a[i]>max) max=a[i];
else if(a[i]return(max-min);
/********** End **********/

262.题目:编写函数求1~100(闭区间)中奇数的平方和。结果为166650。



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

float s=0;
int i,j;
for(i=1;i<=n;i=i+2)
s=s+i*i;
return(s);

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


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


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





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


264.题目:编

写函数fun,函数的功能是:求一分数序列2/1,3/2,5/3,8/5,13/8,21/13…的前n项之和。每一分数的分母是前两项的分母之和每一分数的分子是前两项的分子之和
/**********Program**********/
int i;
float f1=1,f2=1,f3,s=0;
for(i=1;i<=n;i++)
{f3=f1+f2;
f1=f2;
f2=f3;
s=s+f2/f1;
}
return s;
/********** End **********/

265.题目:求一批数中最大值和最小值的积。


/**********Program**********/
int i,max,min;
max=min=a[0];
for(i=1;iif(a[i]>max) max=a[i];
else if(a[i]return(max*min);
/********** End **********/

270.题目:编写函数fun用比较法对主程序中用户输入的具有10个数据的数组a按由大到小排序,并在主程序中
输出排序结果。

/**********Program**********/
int k,j,t;
for (k=0;kfor (j=k+1;jif (array[k]{t=array[k];
array[k]=array[j];
array[j]=t;}
/********** End **********/



271.题目:编写函数fun将一个数组中的值按逆序存放,并在main()函数中输出。例如,原来存顺序为8,6,5,4,1。要求改为:1,4,5,6,8。
/**********Program**********/
int i,t;
for(i=0;i{ t=arr[i];
arr[i]=arr[n-1-i];
arr[n-1-i]=t;
}
/********** End **********/

275.题目:函数fact(x)的功能是求x!。编写main程序调用函数fact求解从m个元素选n个元素的组合数的个数。
计算公式是:组合数=m!/(n!.(m-n)!)。
要求:m不能小于n,否则应有容错处理。

/**********Program**********/
while(m{
printf("mscanf("%d%d",&m);
}
zhsgs=fact(m)/(fact(n)*fact(m-n));

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

277题目:编写函数fun生成一个主对角线元素为1,其他元素都为0的3*3的二维数组。

/**********Program**********/
for(i=0;i<3;i++)
for(j=0;j<3;j++)
if(i==j)
arr[i][j]=1;
else
arr[i][j]=0;
/********** End **********/

278.题目:编写函数fun,求任一整数m的n次方。

/**********Program**********/
long int x=1;
int i;
for(i=1;i<=n;i++)
x=x*m;
return x;
/********** End **********/










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


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


284.题目:编写函数fun求sum=d+dd+ddd+……+dd...d(n个d),
其中d为1-9的数字。例如3+33+333+3333+33333(此时d=3,n=5),d和n
在主函数中输入。

/**********Program**********/
long int s=0,t=0;
int i;
for(i=1;i<=n;i++)
{ t=t+d;
s=s+t;
d=d*10;
}
return s;
/********** End **********/



相关文档
最新文档