C语言 题目

这篇具有很好参考价值的文章主要介绍了C语言 题目。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.写一个函数算一个数的二进制(补码)表示中有几个1

#include<stdio.h>

//统计二进制数中有几个1
//如13:1101
//需要考虑负数情况 如-1 结果应该是32

// n  1101
//n-1 1100
//n   1100
//n-1 1011
//n   1000
//n-1 0111
//n   0000
//看n的变化
int funca(int c){
    int count=0;
	while(c){
		c=c&(c-1);
		//新n=n&n-1的结果;n&n-1其实是在相当于把二进制中最右边的1去掉,执行几次,就相当于有几个1
		count++;
	}
	return count;
}

int func(unsigned int c){
    int count=0;
    while(c){
        if((c%2)==1)//算二进制数是否是1
            count++;
		c=c/2;}//去掉一位二进制数
	return count;
}
int fun(int c){
    int count=0;
	for(int i=0;i<32;i++){//int 有32个二进制
		if(((c>>i)&1)==1)
			count++;
	}
	return count;
}
int main()
{
    int a;
    scanf("%d",&a);
    printf("%d\n",funca(a));
    printf("%d\n",func(a));
    printf("%d\n",fun(a));
    return 0;
}

C语言 题目,c语言,开发语言
2.算两个整数的二进制位有几个位(bit)不同
//如1999 2299
//结果为7

#include<stdio.h>
int fun(int c){

    int count=0;
	while(c){
		c=c&(c-1);
		count++;}
	return count;
}

int main()
{
    int a,b;
    scanf("%d%d",&a,&b);
    int c=a^b;//确认二进制数中有几个不同位数 相同为0 相异为1
    printf("%d\n",fun(c));
    return 0;
}

C语言 题目,c语言,开发语言
3.获取一个整数二进制中的奇数位 偶数位 分别输出

#include<stdio.h>
void func(int m)
{
	printf("奇数位:\n");
    for(int i=30;i>=0;i-=2){
        printf("%d",(m>>i)&1);
    }
    printf("\n偶数位:\n");
    for(int i=31;i>=1;i-=2){
        printf("%d",(m>>i)&1);
    }
}
int main()
{
    int a=0;
	scanf("%d",&a);
	func(a);
	return 0;
}

C语言 题目,c语言,开发语言

4.递归将字符串逆序存储

#include<stdio.h>

int funcation(char brr[]){
    int i=0;
    char *end=NULL;
    for(i=0;brr[i]!='\0';)
        i++;
    end=&brr[i];//非库函数实现的strlen
    return (end-brr);
}

//递归实现将字符串内容反向逆序
//012345
//abcdef
//先将a的位置放上f 后将f的位置放为\0 以便得到真正需要处理的字符串长度 在递归结束后将f的位置放a
//依次类推
void fun(char *temp ){
    char change=temp[0];
    int leng=funcation(temp);
    temp[0]=temp[leng-1];
    temp[leng-1]='\0';
    if(funcation(temp+1)>1)//只要长度超过1 就进入递归
        fun(temp+1);
    temp[leng-1]=change;
}
int main(){
    setbuf(stdout,NULL);//clion软件及时输出缓冲区内容
    char array[10]="abcdefg";
    fun( array);
    printf("%s",array);
    return 0;
}

C语言 题目,c语言,开发语言

5.递归实现计算一个数的每位之和

#include<stdio.h>

//递归实现计算一个数的每位之和
int digsum(unsigned int a){
    if(a>9)
        return digsum(a/10)+a%10;
	else
		return a; 
}
int main(){
    int number=0;//1729
    scanf("%d",&number);
    printf("%d",digsum(number));
    return 0;
}

C语言 题目,c语言,开发语言

6.递归实现N的k次方

#include<stdio.h>
//递归实现N的k次方
double fun(int c,int d){
	if(d<0)//负次方
		return (1.0/(fun(c,-d)));
    else if(d==1)
        return c;
    else
        return fun(c,d-1)*c;
}
int main(){
    int a=0,b=0;
    scanf("%d%d",&a,&b);
    printf("%lf\n",fun(a,b));
    return 0;
}

C语言 题目,c语言,开发语言文章来源地址https://www.toymoban.com/news/detail-756994.html

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

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

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

相关文章

  • 【C语言&&数据结构】简单题目

    ✨作者:@平凡的人1 ✨专栏:《小菜鸟爱刷题》 ✨一句话:凡是过往,皆为序章 ✨说明: 过去无可挽回, 未来可以改变 为了方便自己的学习以及基于好久没更新博客的原因。特地写了这一篇博客 。💖 本篇博客是一篇记录学习篇,我将之归纳于刷题专栏。方便自己的复习以

    2023年04月08日
    浏览(51)
  • C语言必会题目(1)

    W...Y的主页 😊 代码仓库分享❤️ 在学习语言时,最重要的就是练习,光听不练假把式。下面我就推荐一些C语言必会的题。 执行下面程序,正确的输出是( ) A: 5,7 B: 7,5 C: 3,8 D: 8,3 看到上述代码,我们就得从变量开始入手。最开始先定义两个全局变量int x=5,y=7。接下来进入

    2024年02月13日
    浏览(31)
  • C语言必会题目(2)

    W...Y的主页 😊 代码仓库分享💕 今天继续分享C语言必会的题目,上一篇文章主要是一些选择题,而今天我们主要内容为编程题的推荐与讲解 准备好迎接下面的题了吗?开始发车了!!! 输入数字 n ,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3 ,则打印出 1、2、

    2024年02月13日
    浏览(31)
  • 经典C语言题目程序题(函数篇)

    经典的C语言函数篇题目,看完你期末考试就没有问题了!快来一起看看吧!!! 目录 1.编写一个函数,可以算出 任意两个整数的和,并返回相应的结果 2. 编写一个函数可以求出任意三个整数之中的最大值,并返回其最大值 3.编写一个函数,可以实现给出算数运算的功能,

    2024年02月01日
    浏览(55)
  • C语言天花板——指针(经典题目)

    指针我们已经学习的差不多了,今天我来给大家分享几个经典的题目,来让我们相互学习🏎️🏎️🏎️     ​       ​  图解: ​   ​     ​   ​       ​   ​    相信大家一定从今天的题目当中收获满满,希望大家有美好的一天!💓💓💓

    2024年01月17日
    浏览(55)
  • C语言中链表经典面试题目

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

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

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

    2024年02月21日
    浏览(29)
  • 用C语言写题目之“ 判断三角矩阵”

    本题要求编写程序,判断一个给定的方阵是否是三角矩阵。三角矩阵包含上三角矩阵和下三角矩阵两种。 上三角矩阵指主对角线以下的元素都为0的矩阵;下三角矩阵指主对角线以上的元素都为0的矩阵;主对角线为从矩阵的左上角至右下角的连线。 输入矩阵是三种情况之一

    2024年01月22日
    浏览(60)
  • 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日
    浏览(44)
  • 力推C语言必会题目终章(完结篇)

    W...Y的主页 😊 代码仓库分享 💕 今天是分享C语言必会题目最终章,全部都是硬货,大家都坐好准备开始喽!!! 编写一个函数,计算字符串中含有的不同字符的个数。字符在 ASCII 码范围内( 0~127 ,包括 0 和 127 ),换行 表示结束符,不算在字符里。不在范围内的不作统计。

    2024年02月12日
    浏览(33)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包