二级C语言大题

1
求出数组周边元素的平均值并作为函数值返回给主函数。

double  fun(int w[][N])
{
int  i,j,k=0;
double sum=0.0;
for(i=0;i<N;i++){
	for(j=0;j<N;j++){
		if(i==0||i==N-1||j==0||j==N-1)
		{ sum=sum+w[i][j];
		   k++;
		   }
	  }
	}
	return sum/k;
}	

2
题目如主函数中输入字符串“32486”和“12345”在主函数中输出的函数值44831

#include
#include
#include
#define  N 9
long ctod(char *s)
{
long d=0;
while(*s)
  if(isdigit(*s)){
    d=d*10+*s-'0';
    s++;
   }
 return d;
}
long  fun(char *a,char *b)
{
return  ctod(a)+ctod(b);
}
void main()
{
cahr s1[N],s2[N];
do
{printf("Input  string  s1:");gets(s1);}
while(string(s1)>N);
do
{printf("Input  string  s2:");gets(s2);}
while(strlen(s2)>N);
printf("The  result is : %ld\n",fun(s1,s2);
}

3是求出小于或等于lim的所有素数并放在aa数组中,并返回所求出的素数的个数。

#include
#include
#include
#define  MAX 100
int fun(int lim,int aa[MAX])
{	int i,j=0;
	for(i=2;i<=lim;i++)
	{for(j=2;j<i;j++)
		if(i%j==0)break;
	if(j>=i)
		aa[k++]=i;
	}
	return k;
}
void main()
{
	FILE *wf;
	int limit,i,sum;
	int aa[MAX];
	syatem("CLS");
	printf("输入一个整数:");
	scanf("%d",&limit);
	sum=fun(limit,aa);
	for(i=0;i<sum;i++)
	{
		if(i%10==0&&i!=0)
			printf("\n");
		printf("%5d",aa[i]);
	}
	wf=fopen("out.dat","w");
	sum=fun(15,aa);
	for(i=0;i<sum;i++)
	{
		if(i%10==0&&1!=0)
			printf(wf,"\n");
		fprintf(wf,"%5d",aa[i]);
	}
	fclose(wf);
}

4在此程序中,编写一个函数,其功能是:从传入的num个字符中找出最长的一个字符串,并通过形参指针max传回该串地址

char *fun(char (*a)[81],int num,char *max)
{
	int i=0;
	max=a[0];
	for(i=0;i<num;i++)//找出最长的一个字符串
	if(strlen(max)<strlen(a[i])
	max=a[i];
	return max;//传回最长字符串的地址

首先应该明白ss是一个指向一维数组的指针变量,max是指向指针的变量,所以引用变量时要注意加上*。

你可能感兴趣的:(二级C,笔记)