栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言函数程序实例(超全)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言函数程序实例(超全)

目录

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

2. 用函数将一个N阶方阵进行转置,输入输出在主函数中实现。(使用for循环实现)

3.编写函数fun(str,i,n),从字符串str中删除第i个字符开始的连续n个字符。注:str[0]代表字符串的第一个字符)。(使用while循环实现

 4.用辗转相除法求两个整数的最大公约数。(使用while循环实现)

 5.编写函数fun(n),函数的功能是求n!。主函数的功能是计算:  x!+y!+z! 的值。(同类型题:2!+4!+6!+8!+10!    或者 3!+5!+7!+9!+11!)

6. 用函数将两个字符串连接起来,不允许使用strcat函数。(使用for循环实现)

 7.编写函数fun求一个不多于5位的正整数的位数,该数在主函数中输入,并在主函数中输出结果。

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

 9.求一批数中小于平均值的数的个数。(使用for循环实现)(同类型题:求一批正整数中最大的偶数或奇数。或者  求一组数中最小的数或者最大的数)

10.学生的记录由学号和成绩组成。N名学生的数据已放入主函数中的结构体数组s中,请编写函数fun:把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。

 11.函数fun,其功能是将一个数字字符串转换成与其面值相同的长整型整数。 可调用len求字符串长度。

12. 函数fun,将M行N列的二维数组中字符数据按列的顺序依次放到一个字符串中

13. 函数sort:冒泡法,对数组中的10个数据,从小到大排序,在主函数中输出

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

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

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

17. 求一批数中最大值和最小值的差。(和、乘积)

 18.给定n个数据, 求最小值出现的位置(如果最小值出现多次,求出第一次出现的位置即可)

19. 编写函数fun求1的K次方到N的K次方的累加和

 20.编写函数fun,函数的功能是:求给定正整数m(包括m)以内的素数之和。       例如:当m=20时,函数值为77。

21. 编写函数fun,函数的功能是:求一个给定字符串中的字母的个数。(使用for循环实现)

 22.编写函数fun,函数的功能是:计算并输出给定整数n的所有因子之和(不包括1与自身)。规定n的值不大于1000。例如:n的值为855时,应输出704。

23. 用函数求fibonacci数列前28项的和。 已知数列的第一项值为1,第二项值也为1,从第三项开始,每一项均为其前面相邻两项的和。运行结果:832039

24. 编写函数fun,函数的功能是:求一分数序列2/1,3/2,5/3,8/5,13/8,21/13…的前n项之和。例如:求前20项之和的值为32.660259


1.编写函数fun,功能是:计算n门课程的平均值,计算结果作为函数值返回。 例如,若有5门课程的成绩是:92,76,69,58,88,则函数的值为76.599998。
#include "stdio.h"
float fun(int a[],int n)
{
	int i,sum=0;
	float ave;
	for(i=0;i 

运行结果:

2. 用函数将一个N阶方阵进行转置,输入输出在主函数中实现。(使用for循环实现)
#include "stdio.h"
#include 
#define N 4
void inv(int a[][N])
{
	int i,j,k;
	for(i=0;i 

运行结果:

3.编写函数fun(str,i,n),从字符串str中删除第i个字符开始的连续n个字符。注:str[0]代表字符串的第一个字符)。(使用while循环实现
#include "stdio.h"
#include
void fun(char str[],int i,int n)
{
	while(str[i+n-1])
	{
	str[i-1]=str[i+n-1];
	i++;
	}
	str[i-1]='';
}
int main()
{
  char  str[81];
  int   i,n;
  printf("请输入字符串str的值:n");
  scanf("%s",str);
  printf("你输入的字符串str是:%sn",str);
  printf("请输入删除位置i和待删字符个数n的值:n");
  scanf("%d%d",&i,&n);
  while (i+n-1>strlen(str))
	{
     printf("删除位置i和待删字符个数n的值错!请重新输入i和n的值n");
     scanf("%d%d",&i,&n);
   	}
  fun(str,i,n);
  printf("删除后的字符串str是:%sn",str);
}

运行结果:

 4.用辗转相除法求两个整数的最大公约数。(使用while循环实现)
#include
int gcd(int n,int m)
{
int r,t;
if(n 

运行结果:

 5.编写函数fun(n),函数的功能是求n!。主函数的功能是计算:  x!+y!+z! 的值。(同类型题:2!+4!+6!+8!+10!    或者 3!+5!+7!+9!+11!)
#include "stdio.h"
long fun(int n)
{
	int i;
	long f=1;
	for(i=1;i<=n;i++)
    	f=i*f;
	return f;
}
int main()
{
	int x,y,z;
 	long sum=0.0;
 	printf("Enter x,y,z:");
 	scanf("%d%d%d",&x,&y,&z);
 	sum=fun(x)+fun(y)+fun(z);
 	printf("Sum=%ldn",sum);
	return 0;
 }

运行结果:

6. 用函数将两个字符串连接起来,不允许使用strcat函数。(使用for循环实现)
#include "stdio.h"
void len_cat(char c1[],char c2[])
{
int i,j;
for(i=0;c1[i]!='';i++);
for(j=0;c2[j]!='';j++)
c1[i+j]=c2[j];
c1[i+j]='';
 }
int main()
{char s1[80],s2[40];
 gets(s1);gets(s2);
 len_cat(s1,s2);
 printf("string is: %sn",s1);
return 0;
 }

运行结果:

 7.编写函数fun求一个不多于5位的正整数的位数,该数在主函数中输入,并在主函数中输出结果。
#include "stdio.h"
int fun(int m)
 {
int c=0 ;
while(m>0) 
{
  m/=10;
  c++;
}
return c;
}

int main()
{ long int num;
  int ws;
  printf("输入一个不多于5位的整数:");
  scanf("%ld",&num);
  ws=fun(num);
  printf("%ld是一个%d位数n",num,ws);
return 0;
  }

运行结果:

 8.从键盘为一维整型数组输入10个整数,调用fun函数找出其中最小的数,并在main函数中输出。请编写fun函数。
#include "stdio.h"
int fun(int x[],int n)
{
int i,min;
min=x[0];
for(i=1;i 

运行结果:

 9.求一批数中小于平均值的数的个数。(使用for循环实现)(同类型题:求一批正整数中最大的偶数或奇数。或者  求一组数中最小的数或者最大的数)
#include
int average_num(int a[],int n)
{
int i,sum=0,k=0;
float average;
for(i=0;i 

运行结果:

10.学生的记录由学号和成绩组成。N名学生的数据已放入主函数中的结构体数组s中,请编写函数fun:把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。
#include 
#define   N   12
typedef  struct
{  
        char  num[10];
        int  s;
} STREC;
double  fun( STREC  *a, STREC *b, int *n )
{
	int i,j=0;
	double sum=0.0;
	double avg;
	for(i=0;i=avg)  
      		 b[j++]=a[i];   
	}
	*n=j;
	return avg;
}
int main()
{ 
STREC  s[N]={{"GA05",85},{"GA03",76},{"GA02",69},{"GA04",85},
                {"GA01",91},{"GA07",72},{"GA08",64},{"GA06",87},
                {"GA09",60},{"GA11",79},{"GA12",73},{"GA10",90}};
STREC  h[N];
 		int i, n;  
        double  ave;
        ave=fun( s,h,&n );
        printf("The %d student data which is higher than %7.3f:n",n,ave);
        for(i=0;i 

运行结果:

 11.函数fun,其功能是将一个数字字符串转换成与其面值相同的长整型整数。 可调用len求字符串长度。
#include
long fun(char *s)
{
long r = 0;
while (*s != '')
{
r = r * 10 + (*s - '0');
s++;
}
return r;
}
int main()
{
printf("%ldn",fun("2345210"));
return 0; 
}

运行结果:

12. 函数fun,将M行N列的二维数组中字符数据按列的顺序依次放到一个字符串中
#include 
#define M 3
#define N 4
char *fun(char s[M][N],char *t)
{
int i,j,k=0;
for(i=0;i 

运行结果:

13. 函数sort:冒泡法,对数组中的10个数据,从小到大排序,在主函数中输出
#include "stdio.h"
void sort(int a[],int n)
{
int i,j,t;
for(i=0;ia[j+1])
	{
	t=a[j];a[j]=a[j+1];a[j+1]=t;
	}
}
int main()
{
int a[10]={34,67,90,43,124,87,65,99,132,26};
int i;
sort(a,10);
for(i=0;i<10;i++)
     printf("%4d",a[i]);
printf("n");
return 0;
}

运行结果:

 14.将字符串中的小写字母转换为对应的大写字母,其它字符不变。
#include "string.h"
#include "stdio.h"
void change(char str[])
{
int i;
for(i=0;str[i]!='';i++)
if(str[i]>='a'&& str[i]<='z')
   str[i]=str[i]-32;
}
int main()
{
 char str[40];
 gets(str);
 change(str);
 puts(str);
return 0;
 }

运行结果:

 15.编写函数fun生成一个主对角线元素为1,其他元素都为0的3*3的二维数组
#include "stdio.h"
void fun(int arr[][3])
{
int i,j;
for(i=0;i<3;i++)
    for(j=0;j<3;j++)
        if(i==j)  arr[i][j]=1;
        else  arr[i][j]=0;
}
int main()
{ int a[3][3],i,j;
  fun(a);
  for(i=0;i<3;i++)
     { for(j=0;j<3;j++)
           printf("%d ",a[i][j]);
       printf("n");
     }
 }

运行结果:

 16.编写函数求1~100(闭区间)中奇数的平方和。结果为166650
#include "stdio.h"
float sum(int n)
{
  int i;
  float s=0;
  for(i=1;i<=n;i+=2)
       s+=i*i;
  return s;
 }
int main()
{
        printf("sum=%fn",sum(100));
        return 0;
    }

运行结果:

17. 求一批数中最大值和最小值的差。(和、乘积)
#define N 30
#include "stdlib.h"
#include "stdio.h"
int max_min(int a[],int n)
{
int i,max,min;
max=min=a[0];
for(i=1;imax) max=a[i];
    else if(a[i] 

运行结果:

 18.给定n个数据, 求最小值出现的位置(如果最小值出现多次,求出第一次出现的位置即可)
#include
int station(int s[],int n)
{
int i,k;
k=0;
for(i=1;i 

运行结果:

19. 编写函数fun求1的K次方到N的K次方的累加和
#define K 4
#define N 5
#include "stdio.h"
long  fun(int n,int k)
{
long power,sum=0;
int i,j;
for(i=1;i<=n;i++)
{ power=i;
  for(j=1;j 

运行结果:

 20.编写函数fun,函数的功能是:求给定正整数m(包括m)以内的素数之和。       例如:当m=20时,函数值为77。
#include "stdio.h"
int fun(int m)
{
int i,k,s=0;
for(i=2;i<=m;i++)
{for(k=2;k 

运行结果:

21. 编写函数fun,函数的功能是:求一个给定字符串中的字母的个数。(使用for循环实现)
#include "stdio.h"
int fun(char s[])
{
int i,k=0;
for(i=0;s[i]!='';i++)
     if(s[i]>='a'&&s[i]<='z' || s[i]>='A'&&s[i]<='Z')
        k++;
return k;
}
int main()
{
char str[]="Best wishes for you!";
int k;
k=fun(str);
printf("k=%dn",k);
return 0;
}

运行结果:

 22.编写函数fun,函数的功能是:计算并输出给定整数n的所有因子之和(不包括1与自身)。规定n的值不大于1000。例如:n的值为855时,应输出704。
#include "stdio.h"
int fun(int n)
{
int s=0,i;
for(i=2;i 

运行结果:

23. 用函数求fibonacci数列前28项的和。 已知数列的第一项值为1,第二项值也为1,从第三项开始,每一项均为其前面相邻两项的和。运行结果:832039
#include "stdio.h"
long sum(long f1,long f2)
{
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);
 }
int main()
{long int f1=1,f2=1;
 printf("sum=%ldn",sum(f1,f2));
 return 0;
 }

运行结果:

24. 编写函数fun,函数的功能是:求一分数序列2/1,3/2,5/3,8/5,13/8,21/13…的前n项之和。例如:求前20项之和的值为32.660259
#include "stdio.h"
float fun(int n)
{
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;
}
int main()
{float y;
y=fun(20);
printf("y=%fn",y);
return 0;
}

运行结果:

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1000866.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号