目录

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<n;i++)sum=sum+a[i]; ave=sum/n;return ave;
}
int main()
{int a[]={92,76,69,58,88};printf("y=%f\n",fun(a,5));
}

运行结果:

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

#include "stdio.h"
#include <stdlib.h>
#define N 4
void inv(int a[][N])
{int i,j,k;for(i=0;i<N;i++)for(j=0;j<=i;j++){k=a[i][j];a[i][j]=a[j][i];a[j][i]=k;}}
int main()
{int a[N][N],i,j;for(i=0;i<N;i++){for(j=0;j<N;j++){a[i][j]=rand()%10+20;//随机产生0~20的整数 printf("%3d",a[i][j]);}printf("\n");}printf("=============\n");inv(a);for(i=0;i<N;i++){for(j=0;j<N;j++)printf("%3d",a[i][j]);printf("\n");}
}

运行结果:

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

#include "stdio.h"
#include<string.h>
void fun(char str[],int i,int n)
{while(str[i+n-1]){str[i-1]=str[i+n-1];i++;}str[i-1]='\0';
}
int main()
{char  str[81];int   i,n;printf("请输入字符串str的值:\n");scanf("%s",str);printf("你输入的字符串str是:%s\n",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是:%s\n",str);
}

运行结果:

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

#include<stdio.h>
int gcd(int n,int m)
{
int r,t;
if(n<m) { t=n;n=m;m=t;}
r=n%m;
while(r!=0)
{ n=m;m=r;r=n%m;}
return(m);
}
int main()
{int n,m,result;scanf("%d%d",&n,&m);result=gcd(n,m);printf("the gcd is %d\n",result);}

运行结果:

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=%ld\n",sum);return 0;}

运行结果:

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

#include "stdio.h"
void len_cat(char c1[],char c2[])
{
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';}
int main()
{char s1[80],s2[40];gets(s1);gets(s2);len_cat(s1,s2);printf("string is: %s\n",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<n;i++)if(x[i]<min) min=x[i];
return min;
}
int main()
{int a[10],i,min;for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<10;i++)printf("%3d",a[i]);printf("\n");min=fun(a,10);printf("%d\n",min);
return 0;
}

运行结果:

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

#include<stdio.h>
int average_num(int a[],int n)
{
int i,sum=0,k=0;
float average;
for(i=0;i<n;i++)
sum=sum+a[i];
average=sum*1.0/n;
for(i=0;i<n;i++)
if(average<a[i]) k++;
return(k);
}
int main()
{int n,a[100],i,num;printf("请输入一组数的指定个数:");scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);num=average_num(a,n);printf("小于平均值的个数:%d\n",num);return 0;}

运行结果:

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

#include <stdio.h>
#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<N;i++){  sum+=a[i].s;  }avg=sum/N;for(i=0;i<N;i++){   if(a[i].s>=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<n; i++)printf("%s  %d\n",h[i].num,h[i].s);printf("\n");return 0;
}

运行结果:

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

#include<stdio.h>
long fun(char *s)
{
long r = 0;
while (*s != '\0')
{
r = r * 10 + (*s - '0');
s++;
}
return r;
}
int main()
{
printf("%ld\n",fun("2345210"));
return 0;
}

运行结果:

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

#include <stdio.h>
#define M 3
#define N 4
char *fun(char s[M][N],char *t)
{
int i,j,k=0;
for(i=0;i<N;i++)
{for(j=0;j<M;j++){t[k++]=s[j][i];}
}
t[k]='\0';
return t;
}
int main()
{
char s[M][N]={'W','W','W','W','S','S','S','S','H','H','H','H'};
int i,j,d=M*N;
char t[d];
printf("二维数组内容为:\n");
for(i=0;i<M;i++)
{for(j=0;j<N;j++){printf("%c ",s[i][j]);}
printf("\n");
}
printf("结果为:%s",fun(s,t));
return 0;
}

运行结果:

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

#include "stdio.h"
void sort(int a[],int n)
{
int i,j,t;
for(i=0;i<n-1;i++)for(j=0;j<n-1-i;j++)if(a[j]>a[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]!='\0';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=%f\n",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;i<n;i++)if(a[i]>max) max=a[i];else if(a[i]<min) min=a[i];
return (max-min);
}
main()
{int a[N],i,k;for(i=0;i<N;i++)a[i]=rand()%(51)+10;for(i=0;i<N;i++){printf("%5d",a[i]);if((i+1)%5==0) printf("\n");}k=max_min(a,N);printf("the result is:%d\n",k);}

运行结果:

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

#include<stdio.h>
int station(int s[],int n)
{
int i,k;
k=0;
for(i=1;i<n;i++)if(s[i]<s[k]) k=i;
return(k+1);
}
main()
{int a[100],n,i,t;scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);t=station(a,n);printf("the min_value position is:%d\n",t);}

运行结果:

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<k;j++)power *= i;sum += power;
}
return sum;
}
main()
{ long int sum;printf("Sum of %d powers of integers from 1 to %d = ",K,N);sum=fun(N,K);printf("%ld\n",sum);
}

运行结果:

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<i;k++)if(i%k==0)break;if(k==i) s=s+i;}return s;
}
int main()
{
int y;
y=fun(20);
printf("y=%d\n",y);
return 0;
}

运行结果:

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

#include "stdio.h"
int fun(char s[])
{
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;
}
int main()
{
char str[]="Best wishes for you!";
int k;
k=fun(str);
printf("k=%d\n",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<n;i++)
if(n%i==0) s=s+i;
return s;
}
int main()
{
printf("s=%d\n",fun(855));
return 0;
}

运行结果:

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=%ld\n",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=%f\n",y);
return 0;
}

运行结果:

C语言函数程序实例(超全)相关推荐

  1. PB函数大全(超全,解析很全面)

    这几天在pb花的时间比较长,用一个新的ide,一个新的语言,在短时间内去开发一个MIS,也是比较有难度的一件事儿.最主要的是熟悉语法格式和各种常用函数,再结合以前所学的编程语言,来快速消化并掌握它. ...

  2. C语言函数操作大全----(超详细)

    fopen(打开文件) 相关函数 open,fclose 表头文件 #include<stdio.h> 定义函数 FILE * fopen(const char * path,const ...

  3. 什么是云开发?小程序实例超详细演示~

    学习视频: 八分钟读懂云开发_哔哩哔哩_bilibili 小姐姐带你30分钟创建并上线小程序项目[云开发实战]_哔哩哔哩_bilibili 参考资料: 微信开放文档 (qq.com) 云开发_百度百科 ...

  4. 编程入门:C语言基础知识全网超全不用到处找了!

    你背或者不背,干货就在那里,不悲不喜 你学或者不学,编程就在那里,不来不去 听到这话的你是否略感扎心? 01基础知识 计算机系统的主要技术指标与系统配置. 计算机系统.硬件.软件及其相互关系. 微机硬 ...

  5. c语言 异或_编程入门:C语言基础知识全网超全不用到处找了!(文末附清单)

    你背或者不背,干货就在那里,不悲不喜 你学或者不学,编程就在那里,不来不去 听到这话的你是否略感扎心? 01基础知识 1. 计算机系统的主要技术指标与系统配置. 2. 计算机系统.硬件.软件及其相互关 ...

  6. C语言十大操作符超全详解【建议收藏】

    C语言操作符操作符繁多但一共可以大致分为10大类 文章目录 C语言操作符操作符繁多但一共可以大致分为10大类 一.算术操作符 C语言提供所有常见的算术运算符+, - , * , / , % 二.移位操 ...

  7. C语言数据结构之树超全详解

    目录 基础知识 二叉树的一些基本概念 树的性质 二叉树的一些基本性质 操作部分 二叉树的存储结构 1.顺序存储结构 2.链式存储结构 3.线索二叉树 前驱与后继 线索二叉树的存储表示 二叉树的遍历 先 ...

  8. C语言优先级表格(超全)

    优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式] 左到右 -- () 圆括号 (表达式)/函数名(形参表) -- . 成员选择(对象) 对象.成员名 -- ...

  9. c语言用指针升序降序,C语言函数序——升序降序.doc

    C语言函数序--升序降序 锥澳袁逻吸逛厢懈来厉昏跺荒蓬动钱育琴由兆扇侵绕抑秘什淘缘辰秤戚觅咯徐创军火获敦呆劈阶们亮陈呢脚褒轧芬钎禄糕则亥毕烦百槛贷饰嚏岁弱丫詹镭嘉磨倦恼长迹蜡科省佣要戒鞘病苞瘩迟右澈凭 ...

  10. 基恩士PLC KV8000+XH16EC总线控制,ST程序实例

    基恩士PLC KV8000+XH16EC总线控制,ST程序实例,全程序无加密,公司级框架,功能齐全,提供项目源码框架FB源码,触摸屏源码. 需要一定ST基础才能看懂. EV软包锂电池极片焊接机 转盘式 ...

最新文章

  1. Python3 pathlib让编程更美好
  2. java验证注册页面_Java使用正则表达式对注册页面进行验证功能实现
  3. python 多态 协议详解
  4. 连麦互动直播方案全实践3:网易云信连麦互动的实现方案
  5. 01-利用思维导图梳理JavaSE-Java语言基础
  6. 做好MSSQL保卫战之xp_cmdshell
  7. php 怎么实现收藏功能,php收藏功能如何实现
  8. 《Python Cookbook 3rd》笔记(3.13):计算最后一个周五的日期
  9. [翻译]Scott Mitchell 的ASP.NET 2.0数据教程之十二:在GridView控件中使用TemplateField
  10. 用C#(ASP.Net)在Exchange Server环境下发送邮件
  11. 互联网公司还要亏多久?
  12. 【先定一个小目标】Postgresql允许远程访问配置修改
  13. php居中函数,PHP实现的自定义图像居中裁剪函数示例
  14. Expressive Body Capture: 3D Hands, Face, and Body from a Single Image
  15. ept技术_速懂X86虚拟化关键概念 - Intel EPT
  16. jQuery 案例-图片抽奖
  17. 一份私人alias清单
  18. 深度Deepin系统关机或重启的时候提示unattended upgrades shutdown的解决办法
  19. 【通信原理】学习笔记----理解信道
  20. flink分析使用之八内存管理机制

热门文章

  1. [转]飞秋使用说明与常见问题解决方法
  2. 10:Java人脸识别认证-Java API 实战
  3. python关闭线程池_python线程池
  4. python 共享文件_通过 Python 快速实现局域网内文件共享
  5. SQL语言 --- 数据定义
  6. SQL Server 2016下载及安装教程
  7. 2022上半年软件设计师历年真题
  8. java android实例_Android开发精典案例60个
  9. 入门必学 | R语言程序包的安装与使用指南
  10. 如何在csdn网站搜索自己写的博客文章