经典的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.编写一个函数,可以算出任意两个整数的和,并返回相应的结果
#includeint add(int a,int b);int main(){int a,b,sum;printf("输入两个任意的整数:");scanf("%d %d",&a,&b);sum=add(a,b);printf("sum=%d\n",sum);return 0;}int add(int a,int b){return a+b;}
2. 编写一个函数可以求出任意三个整数之中的最大值,并返回其最大值
#includeint compare(int a,int b,int c);int main(){int a,b,c,max;printf("请你输入三个数:");scanf("%d %d %d",&a,&b,&c) ;max=compare(a,b,c);printf("max=%d",max);return 0;}int compare(int a,int b,int c){int max =a;if(b>max){max=b;}if(c>max){max=c;}return max;}
3.编写一个函数,可以实现给出算数运算的功能,给出两个值以及算数运算符号可以算出相应的结果
#includeint math(int a,int b,char c);int main(){int a,b,c,sum;printf("请输入计算公式:");scanf("%d%c%d",&a,&c,&b);sum=math(a,b,c);printf("sum=%d\n",sum);return 0;}int math(int a,int b,char c){int sum;switch(c){case '+':sum=a+b;break;case '-':sum=a-b;break;case '*':sum=a*b;break;case '/':sum=a/b;break;case '%':sum=a%b;break;default:break;}return sum;}
4.编写一个函数,判断是不是素数,是的话返回1,不是就返回0
#include#includeint isprime(int n);int main(){int n;printf("请输入一个整数:");scanf("%d",&n);printf("%d\n",isprime(n)); return 0;}int isprime(int n){int i; for(i=2;i<=sqrt(n);i++)//sqrt开方函数{ if(n%i==0){return 0;} } return 1;}
5.编写一个函数实现求数组的总和
#include int add(int a[],int n);int main(){int a[10]={1,2,3,4,5,6,7,8,9,10};int sum;sum=add(a,10);printf("sum=%d",sum);return 0;}int add(int a[],int n){int i,sum=0;for(i=0;i<10;i++){sum+=sum[i];}return sum;}
6.编写一个函数,实现冒泡排序的功能
#includeint bubble(int a[],int n);int main(){int i;,j,temp;int a[10]={3,45,77,2,23,12,21,19,99,10};bubble(a,10);for(i=1;;i<n;i++){printf("排序后的结果:%d\n",a[i]);}return 0;}int bubble(int a[],int n){int i,j,temp;for(i=1;j<n;i++){for(j=0;ja[j+1]){temp=a[j];a[j]=a[j+1];a[j+1]=temp;}}}}
7.编写一个函数,实现输入一个字符串,可以求出字符串当中的大写、小写、数字、空格以及其他的字符
#include#includeint count(char str[],int a[]);int main(){char str[50];int a[5]={0};printf("请你输入一个字符串:");gets(str);count(str,a) ;printf("大写:%d\n",a[0]);printf("小写:%d\n",a[1]);printf("数字:%d\n",a[2]);printf("空格:%d\n",a[3]);printf("其他:%d\n",a[4]);return 0;}int count(char str[],int a[]){int i=0;while(str[i]!='\0'){if(str[i]>='A'&&str[i]='a'&&str[i]='0'&&str[i]<='9'){a[2]++;}else if(str[i]==' '){a[3]++;}else{a[4]++}i++;//下标加一,为的是检测到下一个字符 }}
8.编写一个函数(int strlrn(char str[])),实现字符串长度的求取
#includeint strlen(char str[]);int main(){char str[50];printf("请输入一个字符串:");gets(str);printf("%d\n",strlen(str));return 0;}int strlen(char str[]) {int i=0; while(str[i]!='\0'){i++; //下标自增 }return i;}
9.编写一个函数void strlwr(char str[]),实现字符串小写变大写的功能
#includevoid strlwr(char str[]);int main(){char str[50];printf("请输入一个字符串:");gets(str);strlwr(str);printf("%s\n",str);return 0;}void strlwr(char str[]) {int i=0; while(str[i]!='\0'){if(str[i]>='A'&& str[i]<='Z'){str[i]=str[i]+32; //小写转换大写}i++; //下标自增 } }
10.编写一个函数void strupr(char str[]),实现字符串小写变大写功能
#includevoid strupr(char str[]);int main(){char str[50];printf("请输入一个字符串:");gets(str);strupr(str);printf("%s\n",str);return 0;}void strupr(char str[]) {int i=0; while(str[i]!='\0'){if(str[i]>='a'&& str[i]<='z'){str[i]=str[i]-32; //小写转换大写}i++; //下标自增 } }
11.编写一个函数void strcpy(char to[],char from[]),实现字符串复制功能
#includevoid strcpy(char to[],char from[]); //字符串复制函数 int main(){char str[50],a[50];printf("请输入一个字符串:");gets(a);strcpy(str,a);printf("%s\n",str);return 0;}void strcpy(char to[],char from[]) {int i=0; while(from[i]!='\0'){to[i]=from[i];i++; //下标自增 }to[i]='\0';//代表字符结束 }
12.编写一个函数void strcat(char str1[],char str2[]),实现字符串连接功能
#include void strcat(char str1[],char str2[]);//字符串连接函数int main(){char str[50],a[50];printf("请输入一个字符串a:");gets(a);printf("请输入一个字符串str:");gets(str);strcat(str,a);printf("%s\n",str);return 0;}void strcat(char str1[],char str2[]) {int i=0,j=0;while(str1[i++]!='\0');--i; //下标i多增加了一次 while(str2[j]!='\0'){str1[i++]=str2[j++];}str1[i]='\0';//代表字符结束 }
13.编写一个函数int strcmp(char str1[],char str2[]),实现字符串比较功能
#include int strcmp(char str1[],char str2[]);//字符串比较函数int main(){char str[50],a[50];printf("请输入字符串a:");gets(a);printf("请输入字符串str:");gets(str);printf("%d\n",strcmp(str,a));return 0;}int strcmp(char str1[],char str2[]) {int i=0;while(str1[i]!='\0' || str2[i]!='\0')//只要有一个还没有结束 {if(str1[i]>str2[i]){return 1; //只要比出结果就结束函数 }if(str1[i]<str2[i]){return -1;}i++; //没有比出结果继续比下一位 }return 0; //走到这代表相等 }
14.编写一个函数convent,求一个4*4方阵的转置矩阵;主函数中输入方阵,在主函数中将原矩阵和转置矩阵按格式输出
#include void convert(int [][4]);void display(int a[][4]);int main(){int a[4][4],i,j;printf("请输入矩阵的元素值:\n");for(i=0;i<4;i++){for(j=0;j<4;j++){scanf("%d",&a[i][j]);}}printf("原矩阵为:\n");display(a);//调用显示函数 convert(a);//调用转置函数 printf("转置矩阵为:\n");display(a);//调用显示函数 return 0;}void convert(int a[][4]){int i,j,t;for(i=0;i<4;i++){for(j=i+1;j<4;j++){t=a[i][j];a[i][j]=a[j][i];a[j][i]=t;}}}void display(int a[][4]){int i,j;for(i=0;i<4;i++){for(j=0;j<4;j++){printf("%5d",a[i][j]);}printf("\n");}}
15.编写一个函数可以求出任意整数的质数,并输出因子的乘积表示格式:12=2*2*3
#include void number(int n);int main(){int n;printf("请输入一个整数:");scanf("%d",&n);number(n); return 0;}void number(int n){int temp=n;int i,j=0,a[20]={0};for(i=2;i<=n;i++){if(n%i==0){a[j++]=i;n=n/i;//去掉这一部分 i=1;//重新从1开始判断 }}printf("%d=%d",temp,a[0]); for(i=1;i<j;i++){printf("*%d",a[i]);}printf("\n");}
16.编写一个函数可以求出整数的位数
#includeint bitNumber(int n);int main(){int n;printf("请输入一个整数:");scanf("%d",&n);printf("位数:%d\n",bitNumber(n));return 0;}int bitNumber(int n){int i=0;if(n0){n/=10;i++;}return i;}