经典C语言题目程序题(函数篇)

这篇具有很好参考价值的文章主要介绍了经典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.编写一个函数可以求出整数的位数文章来源地址https://www.toymoban.com/news/detail-430193.html


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

#include<stdio.h>
int 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. 编写一个函数可以求出任意三个整数之中的最大值,并返回其最大值

#include<stdio.h>
int 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.编写一个函数,可以实现给出算数运算的功能,给出两个值以及算数运算符号可以算出相应的结果 

#include<stdio.h>
int 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<stdio.h>
#include<math.h>
int 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<stdio.h> 
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.编写一个函数,实现冒泡排序的功能

#include<stdio.h>
int 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;j<n-i;j++)
		{
			if(a[j]>a[j+1])
			{
				temp=a[j];
				a[j]=a[j+1];
				a[j+1]=temp;
			}
		}
	}
}

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

#include<stdio.h>
#include<math.h>
int 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]<='Z')
		{
			a[0]++;
		}
		else if(str[i]>='a'&&str[i]<='z')
		{
			a[1]++;
		}
		else if(str[i]>='0'&&str[i]<='9')
		{
			a[2]++;
		}
		else if(str[i]==' ')
		{
			a[3]++;
		}
		else
		{
			a[4]++
		}
		i++;//下标加一,为的是检测到下一个字符 
	}
}

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

#include<stdio.h>
int 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[]),实现字符串小写变大写的功能

#include<stdio.h>
void 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[]),实现字符串小写变大写功能

#include<stdio.h>
void 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[]),实现字符串复制功能

#include<stdio.h>
void 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<stdio.h> 
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<stdio.h> 
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<stdio.h> 
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<stdio.h> 
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.编写一个函数可以求出整数的位数

#include<stdio.h>
int 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(n<0)
	{
		n=-n; 
	} 
	while(n>0)
	{
		n/=10;
		i++;
	}
	return i;
}

到了这里,关于经典C语言题目程序题(函数篇)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C语言中链表经典面试题目

    🐶博主主页: @ᰔᩚ. 一怀明月ꦿ  ❤️‍🔥 专栏系列: 线性代数,C初学者入门训练,题解C,C的使用文章,「初学」C++ 🔥 座右铭: “不要等到什么都没有了,才下定决心去做” 🚀🚀🚀大家觉不错的话,就恳求大家点点关注,点点小爱心,指点指点🚀🚀🚀   目录 环

    2024年02月02日
    浏览(48)
  • C语言的三个经典题目:三步翻转法、杨氏矩阵、辗转相除法

    三步翻转法是C语言中用来求旋转字符串的一种进阶方法,我们以具体例题对其进行介绍。 例:求一个字符串左旋n个字符后得到的新字符串 普通方法实现 我们知道,左旋一个字符一共分为三步: 将字符串的第一个字符存放到临时变量中; 将字符串中除’\\0’外的所有字符整

    2024年02月02日
    浏览(23)
  • C语言题目:阶乘数列求和(函数)

    输入一个正数x和一个正整数n,求下列算式的值。要求定义两个调用函数:fact(n)计算n的阶乘;mypow(x,n)计算x的n次幂(即xn),两个函数的返回值类型是double。       x - x2/2! + x3/3! + ... + (-1)n-1xn/n! ×输出保留4位小数。 x n 数列和 定义 fact 函数 : fact(int n) 函数用于计算一个整数

    2024年04月13日
    浏览(15)
  • 浙大版C语言题目集-函数题6

    给定两个均不超过9的正整数a和n,要求编写函数求a+aa+aaa++⋯+aa⋯a(n个a)之和。 其中函数 fn 须返回的是 n 个 a 组成的数字; SumA 返回要求的和。 本题要求实现一个判断素数的简单函数,并利用该函数验证哥德巴赫猜想:任何一个不小于6的偶数均可表示为两个奇素数之和。

    2024年02月21日
    浏览(10)
  • C语言题目 - 调用qsort函数对数组进行排序

    如题 其实没什么难的,只要严格按照 qsort 函数的参数来填充即可,这里要用到 函数指针 。 qsort 函数的原型如下: void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void *)); 参数说明: base :指向需要排序的数组的指针,数组中每个元素的大小应为 size 字节。

    2024年02月11日
    浏览(14)
  • [C语言][PTA基础C基础题目集] strtok 函数的理解与应用

    目录 一.strtok函数的解释与说明 ①strtok函数的功能 ②strtok函数的原型 ③strtok函数的返回值 ④细节说明 二.strtok函数的具体使用 ①PTA基础编程题目集---7-26 单词长度 ②解决问题 三.总结 Find the next token in a string.  即查找字符串中的下一个标记. 就是 将一个字符串分割成一系列

    2024年03月15日
    浏览(19)
  • 【C语言经典例题】——程序员必须会的经典基础例题(三)

    关于C语言的一些基础经典题目放在专栏:[C语言刷题] 小菜坤日常上传gitee代码:https://gitee.com/qi-dunyan ❤❤❤ 个人简介:双一流非科班的一名小白,期待与各位大佬一起努力! 推荐网站:cplusplus.com 首先我们要知道什么是杨辉三角,如下: 思路: 我们可以看到,三角的两边

    2023年04月14日
    浏览(16)
  • C语言必背经典程序代码

    题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数   本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。 使用函数封装,实现一个整型数组内数据的求和。 斐波那契数列(Fibonacci sequence),又称

    2023年04月20日
    浏览(23)
  • PTA(浙大版《C语言程序设计(第3版)》题目集

    学习C语言程序设计的PTA题目 本题要求编写程序,计算4个整数的和与平均值。题目保证输入与输出均在整型范围内。 输入格式: 输入在一行中给出4个整数,其间以空格分隔。 输出格式: 在一行中按照格式“Sum = 和; Average = 平均值”顺序输出和与平均值,其中平均值精确到小数

    2024年01月18日
    浏览(21)
  • 【图论经典题目讲解】CF786B - Legacy 一道线段树优化建图的经典题目

    D e s c r i p t i o n mathrm{Description} Description 给定 1 1 1 张 n n n 个点的有向图,初始没有边,接下来有 q q q 次操作,形式如下: 1 u v w 表示从 u u u 向 v v v 连接 1 1 1 条长度为 w w w 的有向边 2 u l r w 表示从 u u u 向 i i i ( i ∈ [ l , r ] iin [l,r] i ∈ [ l , r ] )连接 1 1 1 条长度为 w w w

    2024年02月20日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包