资源描述
第6章 函数
一、选择题
1. C
2. B
3. C
二、填空题
1. float
2. 自动(auto)
3. 12
4. 9.000000
三、编程题
1. 参考程序如下。
#include<stdio.h>
void main()
{
int k,m;
long p;
printf("Please enter k,m:");
scanf("%d,%d",&k,&m);
p=f(k)*f(m-k);
printf("%d\n",p);
}
int f(int n)
{
if(n>1)
return n*f(n-1);
else
return 1;
}
2. 参考程序如下。
#define N 3
int array[N][N];
convert(int array[N][N])
{
int i,j,t;
for (i=0;i<N;i++)
for (j=i+1;j<N;j++)
{
t=array[i][j];
array[i][j]=array[j][i];
array[j][i]=t;
}
}
main()
{
int i,j;
printf("Input array(3*3):\n");
for (i=0;i<N;i++)
for(j=0;j<N;j++)
scanf("%d",&array[i][j]);
printf("\noriginal array:\n");
for (i=0;i<N;i++)
{ for (j=0;j<N;j++)
printf("%5d",array[i][j]);
printf("\n");}
convert(array);
printf("convert array:\n");
for (i=0;i<N;i++)
{ for(j=0;j<N;j++)
printf("%5d",array[i][j]);
printf("\n");
}
}
3. 参考程序如下。
#define N 6
main()
{
int n=N,i=1;
float s=0;
while (i<=n)
{
s=s+(i+1.0)/i;
i++;
}
printf("s(%d)=%.5f\n",n,s);
}
4. 参考程序如下。
main()
{
static int k[100];
int i,j,n,s;
for(j=2;j<1000;j++)
{
n=-1;
s=j;
for(i=1;i<j;i++)
{
if((j%i)==0)
{
n++;
s=s-i;
k[n]=i;
}
}
if(s==0)
{
printf("%d is a wanshu",j);
for(i=0;i<n;i++)
printf("%d,",k[i]);
printf("%d\n",k[n]);
}
}
}
5. 参考程序如下。
#include<stdio.h>
float area(float a,float b)
{
float s;
s=a*b;
return(s);
}
float zc(float a,float b)
{
float p;
p=2*(a+b);
return(p);
}
int main()
{
float a,b,s,p;
printf("请输入长方形的边长a,b:");
scanf("%f%f",&a,&b);
s=area(a,b);
p=zc(a,b);
printf("长方形的周长为p=%f,长方形的面积为s=%f",p,s);
}
6. 参考程序如下。
#include <stdio.h>
void main()
{
long num;
int ozb();
printf("请输入一个十进制数:");
scanf("%ld",&num);
printf("%ld的二进制数为:",num);
ozb(num);
}
int ozb(long num)
{
int a[32]={0},i=0;
while(num>=1)
{
a[i]=num%2;
num=num/2;
i++;
}
for(i=i-1;i>=0;i--)
{
printf("%d",a[i]);
}
printf("\n");
return(a[i]);
}
7. 参考程序如下。
#include<stdio.h>
long fun2(int m,int n)
{
long s;
int i;
s=0;
for(i=m;i<=n;i++)
s=s+i;
return(s);
}
int main()
{
int n,m,sum;
printf("请输入m,n的值n>m:\n");
scanf("%d%d",&m,&n);
sum=fun2(m,n);
printf("sum=%d\n",sum);
return 0;
}
展开阅读全文