1、将整形a的第m位赋值到整形b的第n位

int fun4(int a, int m, int b, int n)
{
a = (a>>m) & ;//将a的第m位取出,为1或0,故分两种情况 if(a == )//a的第m位为1,即将b的第n位设为1
{
a = a << n;
b = b | a;
}
else//a的第n位为0,即将b的第n为设为0
{
a = ~(<<n);
b = b & a;
} return b;
}

2、判断一个数是2的几次方

//将2的n次方写成二进制形式后,很容易就会发现有一个特点:二进制中只有一个1,并且1后面跟了n个0,
//因此问题可以转化为判断1后面跟了几个0就可以了。
void log2(int value)
{
int n = value, count = ; if(n & (n-))//先判断是否是2的幂次方
{
cout << n << "不是2的幂次方" << endl;
return;
} while(n > )
{
n >>= ;
count++;
} cout << value << "是2的" << count << "次方" << endl;
}

3、判断一个数是否为质数

//质数:在大于1的自然数中,除了1和它本身以外不再有其他因数
bool judge(int n)
{
if(n <= )
return false;
else
{
for(int i=; i<n; i++)
{
if(n%i == )
return false;
}
} return true;
}

4、输出100至1000之间的偶数为哪两个质数的和,如:100=3+97;102=5+97。

void fun6()
{
for(int i=; i<=; i+=)
{
for(int j=; j<=i; j++)
{
if(judge(j)&&judge(i-j))
}
}
}

5、对整数的十进制显示逐位求和,如13的求和结果为4,-125的求和结果为6

int fun5(int n)
{
static int flag = ;//欲求和的数为正还是负的标志
if(n < )
{
n = -n;
flag = ;
} if(n/ > )//n大于1位
return n% + fun5(n/);
else//n为一位数
{
if(flag)
return -n;
else
return n;
}
}

6、实现atoi()

int my_atoi(char* pStr)
{
if (!pStr)
return ;
int iStrLen = strlen(pStr); //跳过空格
int i = ;
for (; i < iStrLen; i++)
{
if (*(pStr + i) != ' ')
break;
} //判断正负
int iSign = ;
if ('+' == *(pStr + i))
{
++i;
}
else if ('-' == *(pStr + i))
{
iSign = -;
++i;
} //转换
int iNum = ;
for (; i < iStrLen; i++)
{
char ch = *(pStr + i);
if (ch >= '' && ch <= '')
iNum = iNum * + (ch - '');
else
break;
} return (iNum * iSign);
}

7、实现itoa()

char* my_itoa(int iNum, char* pBuf)
{
if (!pBuf)
return nullptr; //判断正负
int iSign = ;
if (iNum < )
{
iSign = ;
iNum = -iNum;
} //转换
char* p = pBuf;
if (iSign)
*p++ = '-';
do
{
*p++ = iNum % + '';
iNum = iNum / ;
} while (iNum > );
*p = '\0'; //前后互换
int iStrLen = strlen(pBuf);
int i = ;
int iHalf = iStrLen / ;
if (iSign)
{
++iHalf;
++i;
}
for (; i < iHalf; i++)
{
int iRightIdx = ;
iSign ? iRightIdx = iStrLen - - i + : iRightIdx = iStrLen - - i; char ch = pBuf[i];
pBuf[i] = pBuf[iRightIdx];
pBuf[iRightIdx] = ch;
} return pBuf;
}

8、实现strstr()

/*实现字符串处理strstr():
对pStr逐字与pSubStr比较,eg:
A B C D E F
C D
pStr中第一个就不同,跳过第一个不再考虑 A B C D E F
C D
pStr中第二个也不同,跳过第二个不再考虑 A B C D E F
C D
pStr中有相同的,进行处理*/ char* MyStrstr(char* pStr, char* pSubStr)
{
//assert(pStr && pSubStr); char*pStrAdvance = pStr;
while (*pStrAdvance)
{
char* p = pStrAdvance, *q = pSubStr;
while (*p && *q)
{
if (*p == *q)
{
p++;
q++;
}
else
break;
}
if (!*q)
return pStrAdvance; pStrAdvance++;
} return NULL;
}

C语言编程题的更多相关文章

  1. 2018.3 江苏省计算机等级考试 C语言 编程题答案

    题目要求:给定一个数字范围,输出满足这些条件: 1.能被3整除: 2.包含数字5, 将满足的数字放在特定的数组里输出.输出这些数里5出现的个数.数字的个数. 想起来有点伤心,本来很简单的题,考试的时候 ...

  2. C语言编程题002

    给出两个整数,L和R,其中L<=A<=B<=R,然后求出A^B值最大的数.其中1<=L<=R<=1000. 比如说L = 1;R = 3; L 0001 R 001 ...

  3. C语言编程题001

    有一颗树,一年两个生长周期,春天它长高一倍,夏天长高1m,问N个周期后树有多高?假设从春天开始树高为1m,第0个周期树高为1m. 要求:1.可以同时输入多个生长周期 如:3//表示下面有几个生长周期 ...

  4. 记一道C语言编程题(C语言学习笔记)

    题目如下 解答如下 #include <stdio.h> #include<math.h> double Mysqrt(double n) { return sqrt(n); ...

  5. 程序设计入门—Java语言 第六周编程题 1 单词长度(4分)

    第六周编程题 依照学术诚信条款,我保证此作业是本人独立完成的. 1 单词长度(4分) 题目内容: 你的程序要读入一行文本,其中以空格分隔为若干个单词,以'.'结束.你要输出这行文本中每个单词的长度.这 ...

  6. C语言程序设计进阶 第1周编程题

    第1周编程题 查看帮助 返回 依照学术诚信条款,我保证此作业是本人独立完成的. 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截止时间之前不限次数 ...

  7. 面向对象程序设计--Java语言第二周编程题:有秒计时的数字时钟

    有秒计时的数字时钟 题目内容: 这一周的编程题是需要你在课程所给的时钟程序的基础上修改而成.但是我们并不直接给你时钟程序的代码,请根据视频自己输入时钟程序的Display和Clock类的代码,然后来做 ...

  8. 中国MOOC_面向对象程序设计——Java语言_期末考试编程题_1细胞自动机

    期末考试编程题 返回   这是期末考试的编程题 温馨提示: 1.本次考试属于Online Judge题目,提交后由系统即时判分. 2.学生可以在考试截止时间之前提交答案,系统将取其中的最高分作为最终成 ...

  9. 中国MOOC_零基础学Java语言_期末考试的编程题_1二进制的前导的零

    期末考试的编程题 返回   这是期末考试的编程题,在60分钟内,你可以多次提交,直到正确为止. 温馨提示: 1.本次考试属于Online Judge题目,提交后由系统即时判分. 2.学生可以在考试截止 ...

随机推荐

  1. vue使用日期时间插件layDate

    项目中需要用到日期时间插件,尝试用bootstrap.element的时间插件都各有各的报错,对于一个菜鸟来说真的是很痛苦啊.终于,最后用了layDate实现了需要的功能 最终效果: 使用步骤: 1. ...

  2. Django使用jsonp和cors解决跨域请求问题

    1.使用jsonp的方式解决跨域请求的问题 我启动两个django项目,然后使用的端口不一样,在项目1中通过ajax发请求给项目2,然后接受项目2发送过来的数据 先看项目1的ajax的代码 $(&qu ...

  3. 设置导航栏和TabBar标题的文字格式

    //TabBar样式 [navi.tabBarItem setTitleTextAttributes:@{NSFontAttributeName:[UIFont boldSystemFontOfSiz ...

  4. Ubuntu下ClickHouse安装

    ClickHouse目前仅支持在ubuntu下面部署,而且国内中国文档也比较少 >vi /etc/apt/sources.list #在最后一行追加 #ubuntu16.04 使用Xenial: ...

  5. ThreadExecutorPool 线程池组件

    ThreadExecutorPool是使用最多的线程池组件: Executor是用来执行提交的Runnable任务的对象,并以接口的形式定义,提供一种提交任务(submission task)与执行任 ...

  6. php使用fputcsv进行大数据的导出

    为了实验大数据的导出,我们这里先自已创建一张大表,表结构如下: CREATE TABLE `tb_users` ( `id` int(11) unsigned NOT NULL AUTO_INCREM ...

  7. 5I - 汉诺塔IV

    还记得汉诺塔III吗?他的规则是这样的:不允许直接从最左(右)边移到最右(左)边(每次移动一定是移到中间杆或从中间移出),也不允许大盘放到小盘的上面.xhd在想如果我们允许最大的盘子放到最上面会怎么样 ...

  8. FastDFS集群安装

    集群安装1.FastDFS安装 Tracker,nginx 192.168.56.113       192.168.56.114 storage group1      192.168.56.115 ...

  9. (转)HTTP 错误 404.2 - Not Found 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面

    详细错误:HTTP 错误 404.2 - Not Found. 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面. 出现环境:win7 + IIS7.0 解决办法 ...

  10. andorid 进度条和图片的透明度

    layout.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:a ...