码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 经典C语言题目程序题(函数篇)


    经典的C语言函数篇题目,看完你期末考试就没有问题了!快来一起看看吧!!!

    目录

    1.编写一个函数,可以算出 任意两个整数的和,并返回相应的结果

    2. 编写一个函数可以求出任意三个整数之中的最大值,并返回其最大值

    3.编写一个函数,可以实现给出算数运算的功能,给出两个值以及算数运算符号可以算出相应的结果 

    4.编写一个函数,判断是不是素数,是的话返回1,不是就返回0

    5.编写一个函数实现求数组的总和

    6.编写一个函数,实现冒泡排序的功能

    7.编写一个函数,实现输入一个字符串,可以求出字符串当中的大写、小写、数字、空格以及其他的字符

    8.编写一个函数(int strlrn(char str[])),实现字符串长度的求取

    9.编写一个函数void strlwr(char str[]),实现字符串小写变大写的功能

    10.编写一个函数void strupr(char str[]),实现字符串小写变大写功能

    11.编写一个函数void strcpy(char to[],char from[]),实现字符串复制功能

    12.编写一个函数void strcat(char str1[],char str2[]),实现字符串连接功能

    13.编写一个函数int strcmp(char str1[],char str2[]),实现字符串比较功能

    14.编写一个函数convent,求一个4*4方阵的转置矩阵;主函数中输入方阵,在主函数中将原矩阵和转置矩阵按格式输出

    15.编写一个函数可以求出任意整数的质数,并输出因子的乘积表示格式:12=2*2*3

    16.编写一个函数可以求出整数的位数


    1.编写一个函数,可以算出 任意两个整数的和,并返回相应的结果

    1. #include
    2. int add(int a,int b);
    3. int main()
    4. {
    5. int a,b,sum;
    6. printf("输入两个任意的整数:");
    7. scanf("%d %d",&a,&b);
    8. sum=add(a,b);
    9. printf("sum=%d\n",sum);
    10. return 0;
    11. }
    12. int add(int a,int b)
    13. {
    14. return a+b;
    15. }

    2. 编写一个函数可以求出任意三个整数之中的最大值,并返回其最大值

    1. #include
    2. int compare(int a,int b,int c);
    3. int main()
    4. {
    5. int a,b,c,max;
    6. printf("请你输入三个数:");
    7. scanf("%d %d %d",&a,&b,&c) ;
    8. max=compare(a,b,c);
    9. printf("max=%d",max);
    10. return 0;
    11. }
    12. int compare(int a,int b,int c)
    13. {
    14. int max =a;
    15. if(b>max)
    16. {
    17. max=b;
    18. }
    19. if(c>max)
    20. {
    21. max=c;
    22. }
    23. return max;
    24. }

    3.编写一个函数,可以实现给出算数运算的功能,给出两个值以及算数运算符号可以算出相应的结果 

    1. #include
    2. int math(int a,int b,char c);
    3. int main()
    4. {
    5. int a,b,c,sum;
    6. printf("请输入计算公式:");
    7. scanf("%d%c%d",&a,&c,&b);
    8. sum=math(a,b,c);
    9. printf("sum=%d\n",sum);
    10. return 0;
    11. }
    12. int math(int a,int b,char c)
    13. {
    14. int sum;
    15. switch(c)
    16. {
    17. case '+':sum=a+b;break;
    18. case '-':sum=a-b;break;
    19. case '*':sum=a*b;break;
    20. case '/':sum=a/b;break;
    21. case '%':sum=a%b;break;
    22. default:break;
    23. }
    24. return sum;
    25. }

    4.编写一个函数,判断是不是素数,是的话返回1,不是就返回0

    1. #include
    2. #include
    3. int isprime(int n);
    4. int main()
    5. {
    6. int n;
    7. printf("请输入一个整数:");
    8. scanf("%d",&n);
    9. printf("%d\n",isprime(n));
    10. return 0;
    11. }
    12. int isprime(int n)
    13. {
    14. int i;
    15. for(i=2;i<=sqrt(n);i++)//sqrt开方函数
    16. {
    17. if(n%i==0)
    18. {
    19. return 0;
    20. }
    21. }
    22. return 1;
    23. }

    5.编写一个函数实现求数组的总和

    1. #include
    2. int add(int a[],int n);
    3. int main()
    4. {
    5. int a[10]={1,2,3,4,5,6,7,8,9,10};
    6. int sum;
    7. sum=add(a,10);
    8. printf("sum=%d",sum);
    9. return 0;
    10. }
    11. int add(int a[],int n)
    12. {
    13. int i,sum=0;
    14. for(i=0;i<10;i++)
    15. {
    16. sum+=sum[i];
    17. }
    18. return sum;
    19. }

    6.编写一个函数,实现冒泡排序的功能

    1. #include
    2. int bubble(int a[],int n);
    3. int main()
    4. {
    5. int i;,j,temp;
    6. int a[10]={3,45,77,2,23,12,21,19,99,10};
    7. bubble(a,10);
    8. for(i=1;;i
    9. {
    10. printf("排序后的结果:%d\n",a[i]);
    11. }
    12. return 0;
    13. }
    14. int bubble(int a[],int n)
    15. {
    16. int i,j,temp;
    17. for(i=1;j
    18. {
    19. for(j=0;j
    20. {
    21. if(a[j]>a[j+1])
    22. {
    23. temp=a[j];
    24. a[j]=a[j+1];
    25. a[j+1]=temp;
    26. }
    27. }
    28. }
    29. }

    7.编写一个函数,实现输入一个字符串,可以求出字符串当中的大写、小写、数字、空格以及其他的字符

    1. #include
    2. #include
    3. int count(char str[],int a[]);
    4. int main()
    5. {
    6. char str[50];
    7. int a[5]={0};
    8. printf("请你输入一个字符串:");
    9. gets(str);
    10. count(str,a) ;
    11. printf("大写:%d\n",a[0]);
    12. printf("小写:%d\n",a[1]);
    13. printf("数字:%d\n",a[2]);
    14. printf("空格:%d\n",a[3]);
    15. printf("其他:%d\n",a[4]);
    16. return 0;
    17. }
    18. int count(char str[],int a[])
    19. {
    20. int i=0;
    21. while(str[i]!='\0')
    22. {
    23. if(str[i]>='A'&&str[i]<='Z')
    24. {
    25. a[0]++;
    26. }
    27. else if(str[i]>='a'&&str[i]<='z')
    28. {
    29. a[1]++;
    30. }
    31. else if(str[i]>='0'&&str[i]<='9')
    32. {
    33. a[2]++;
    34. }
    35. else if(str[i]==' ')
    36. {
    37. a[3]++;
    38. }
    39. else
    40. {
    41. a[4]++
    42. }
    43. i++;//下标加一,为的是检测到下一个字符
    44. }
    45. }

    8.编写一个函数(int strlrn(char str[])),实现字符串长度的求取

    1. #include
    2. int strlen(char str[]);
    3. int main()
    4. {
    5. char str[50];
    6. printf("请输入一个字符串:");
    7. gets(str);
    8. printf("%d\n",strlen(str));
    9. return 0;
    10. }
    11. int strlen(char str[])
    12. {
    13. int i=0;
    14. while(str[i]!='\0')
    15. {
    16. i++; //下标自增
    17. }
    18. return i;
    19. }

    9.编写一个函数void strlwr(char str[]),实现字符串小写变大写的功能

    1. #include
    2. void strlwr(char str[]);
    3. int main()
    4. {
    5. char str[50];
    6. printf("请输入一个字符串:");
    7. gets(str);
    8. strlwr(str);
    9. printf("%s\n",str);
    10. return 0;
    11. }
    12. void strlwr(char str[])
    13. {
    14. int i=0;
    15. while(str[i]!='\0')
    16. {
    17. if(str[i]>='A'&& str[i]<='Z')
    18. {
    19. str[i]=str[i]+32; //小写转换大写
    20. }
    21. i++; //下标自增
    22. }
    23. }

    10.编写一个函数void strupr(char str[]),实现字符串小写变大写功能

    1. #include
    2. void strupr(char str[]);
    3. int main()
    4. {
    5. char str[50];
    6. printf("请输入一个字符串:");
    7. gets(str);
    8. strupr(str);
    9. printf("%s\n",str);
    10. return 0;
    11. }
    12. void strupr(char str[])
    13. {
    14. int i=0;
    15. while(str[i]!='\0')
    16. {
    17. if(str[i]>='a'&& str[i]<='z')
    18. {
    19. str[i]=str[i]-32; //小写转换大写
    20. }
    21. i++; //下标自增
    22. }
    23. }

    11.编写一个函数void strcpy(char to[],char from[]),实现字符串复制功能

    1. #include
    2. void strcpy(char to[],char from[]); //字符串复制函数
    3. int main()
    4. {
    5. char str[50],a[50];
    6. printf("请输入一个字符串:");
    7. gets(a);
    8. strcpy(str,a);
    9. printf("%s\n",str);
    10. return 0;
    11. }
    12. void strcpy(char to[],char from[])
    13. {
    14. int i=0;
    15. while(from[i]!='\0')
    16. {
    17. to[i]=from[i];
    18. i++; //下标自增
    19. }
    20. to[i]='\0';//代表字符结束
    21. }

    12.编写一个函数void strcat(char str1[],char str2[]),实现字符串连接功能

    1. #include
    2. void strcat(char str1[],char str2[]);//字符串连接函数
    3. int main()
    4. {
    5. char str[50],a[50];
    6. printf("请输入一个字符串a:");
    7. gets(a);
    8. printf("请输入一个字符串str:");
    9. gets(str);
    10. strcat(str,a);
    11. printf("%s\n",str);
    12. return 0;
    13. }
    14. void strcat(char str1[],char str2[])
    15. {
    16. int i=0,j=0;
    17. while(str1[i++]!='\0');
    18. --i; //下标i多增加了一次
    19. while(str2[j]!='\0')
    20. {
    21. str1[i++]=str2[j++];
    22. }
    23. str1[i]='\0';//代表字符结束
    24. }

    13.编写一个函数int strcmp(char str1[],char str2[]),实现字符串比较功能

    1. #include
    2. int strcmp(char str1[],char str2[]);//字符串比较函数
    3. int main()
    4. {
    5. char str[50],a[50];
    6. printf("请输入字符串a:");
    7. gets(a);
    8. printf("请输入字符串str:");
    9. gets(str);
    10. printf("%d\n",strcmp(str,a));
    11. return 0;
    12. }
    13. int strcmp(char str1[],char str2[])
    14. {
    15. int i=0;
    16. while(str1[i]!='\0' || str2[i]!='\0')//只要有一个还没有结束
    17. {
    18. if(str1[i]>str2[i])
    19. {
    20. return 1; //只要比出结果就结束函数
    21. }
    22. if(str1[i]
    23. {
    24. return -1;
    25. }
    26. i++; //没有比出结果继续比下一位
    27. }
    28. return 0; //走到这代表相等
    29. }

    14.编写一个函数convent,求一个4*4方阵的转置矩阵;主函数中输入方阵,在主函数中将原矩阵和转置矩阵按格式输出

    1. #include
    2. void convert(int [][4]);
    3. void display(int a[][4]);
    4. int main()
    5. {
    6. int a[4][4],i,j;
    7. printf("请输入矩阵的元素值:\n");
    8. for(i=0;i<4;i++)
    9. {
    10. for(j=0;j<4;j++)
    11. {
    12. scanf("%d",&a[i][j]);
    13. }
    14. }
    15. printf("原矩阵为:\n");
    16. display(a); //调用显示函数
    17. convert(a); //调用转置函数
    18. printf("转置矩阵为:\n");
    19. display(a);//调用显示函数
    20. return 0;
    21. }
    22. void convert(int a[][4])
    23. {
    24. int i,j,t;
    25. for(i=0;i<4;i++)
    26. {
    27. for(j=i+1;j<4;j++)
    28. {
    29. t=a[i][j];
    30. a[i][j]=a[j][i];
    31. a[j][i]=t;
    32. }
    33. }
    34. }
    35. void display(int a[][4])
    36. {
    37. int i,j;
    38. for(i=0;i<4;i++)
    39. {
    40. for(j=0;j<4;j++)
    41. {
    42. printf("%5d",a[i][j]);
    43. }
    44. printf("\n");
    45. }
    46. }

    15.编写一个函数可以求出任意整数的质数,并输出因子的乘积表示格式:12=2*2*3

    1. #include
    2. void number(int n);
    3. int main()
    4. {
    5. int n;
    6. printf("请输入一个整数:");
    7. scanf("%d",&n);
    8. number(n);
    9. return 0;
    10. }
    11. void number(int n)
    12. {
    13. int temp=n;
    14. int i,j=0,a[20]={0};
    15. for(i=2;i<=n;i++)
    16. {
    17. if(n%i==0)
    18. {
    19. a[j++]=i;
    20. n=n/i; //去掉这一部分
    21. i=1; //重新从1开始判断
    22. }
    23. }
    24. printf("%d=%d",temp,a[0]);
    25. for(i=1;i
    26. {
    27. printf("*%d",a[i]);
    28. }
    29. printf("\n");
    30. }

    16.编写一个函数可以求出整数的位数

    1. #include
    2. int bitNumber(int n);
    3. int main()
    4. {
    5. int n;
    6. printf("请输入一个整数:");
    7. scanf("%d",&n);
    8. printf("位数:%d\n",bitNumber(n));
    9. return 0;
    10. }
    11. int bitNumber(int n)
    12. {
    13. int i=0;
    14. if(n<0)
    15. {
    16. n=-n;
    17. }
    18. while(n>0)
    19. {
    20. n/=10;
    21. i++;
    22. }
    23. return i;
    24. }

  • 相关阅读:
    大学生环保主题网页制作 环境网页设计模板 学生静态网页作业成品 dreamweaver保护地球环境HTML网站制作
    【夜读】你和高手的差距,就在于处理问题的能力
    JaxWsProxyFactoryBean
    Android程序设计之学生考勤管理系统
    NFT游戏开发 链游开发 区块链游戏开发
    SpringBoot整合SpringSecurity
    代码 Revert 后再次 Merge 会丢失的问题,已解决
    欲求“无欲”,也是一种欲望
    《lwip学习1》-数据流篇
    学懂C#编程:常用高级技术——委托(Delegate)应用场景——事件处理
  • 原文地址:https://blog.csdn.net/Lushengshi/article/details/127406857
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号