编写100以内的素数函数把一个整型数组的所有素数找出来

一个整数数组里面,除了两个数之外,其他的数字都出现了两次,写一个程序找出这两个数 - 推酷
一个整数数组里面,除了两个数之外,其他的数字都出现了两次,写一个程序找出这两个数
一个整数数组里面,除了两个数之外,其他的数字都出现了两次,写一个程序找出这两个数,要求算法的时间复杂度为O(n).
n为数组的长度。
程序代码如下:
//取二进制中首个为1的位置
int findFirstOne(int value)
int pos = 0;
while ((value&1) != 1)
value = value&&1;
//测试某位置是否为1
char testBit(int value, int pos)
return ((value&&pos)&1);
int findNums(int date[], int length, int *num1, int *num2)
if (length & 2)
return -1;
int ansXor=0;
int i = 0;
int pos = 0;
for (i=0; i& i++)
ansXor ^= date[i];
pos = findFirstOne(ansXor);
*num1 = *num2 = 0;
for(i=0; i& i++)
if (testBit(date[i], pos))
*num1 ^= date[i];
*num2 ^= date[i];
第一次遍历整个数组,找出不同的那两个数的异或后的结果,见下面
for (i=0; i& i++)
ansXor ^= date[i];
2、找到异或结果中ansXor中用移位的方式找到第一个二进制数中为1的位置,这个很关键,找到这个位置后,说明在该位置上,这两个不同的数中,一个为0,一个为1,这个应该可以理解对吧?
//取二进制中首个为1的位置
int findFirstOne(int value)
int pos = 0;
while ((value&1) != 1)
value = value&&1;
我们把这个位置记为pos
3、然后再遍历一次数组,把这个数组分成两个子数组,pos位上为1的,和pos位上为0的
for(i=0; i& i++)
if (testBit(date[i], pos))
*num1 ^= date[i];
*num2 ^= date[i];
这里借助了异或的原理,pos位置上为1的其它成双成对的数肯定也是为1的,同理,pos位上为0的时也一样。
上面程序思路是我参考别人思路编写的代码,欢迎大家提出好的思路,一起学习一起进步!
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致志)42.规定输入的字符串中只包含字母和*号;新的整数存放在c中,合并的方式是:将a中数的十位;存放得分个数(n&2)73.编写函数fun;指向函数f1,在程序空3处使用指针指向函数f2,;
志)42.规定输入的字符串中只包含字母和*号。编写函数fun,其功能是:使字符串中尾部的*号不多于n个。若多于n个则删除多余的*号;若少于或等于n个,则不作任何操作,字符串中间和前面的*号不删除。43.函数fun的功能是:将ss所指字符串中所有下标为奇数位上的字母转换为大写(若该位置上不是字母,则不转换)44.学生的记录由学号和成绩组成,n名学生的数据已放入主函数中的结构体数组s中,请函数fun,其功能是:把分数最高的学生数据放在b所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数。45.函数fun,其功能是:将m行n列的二维数组中的字符数据,按列的顺序依次存放到一个字符串中。46.编写函数fun,其功能是:计算并输出下列多项式的值,s=(1-1/2)+(1/3-1/4)+***+(1/2n-1 - 1/2n)47.编写函数fun,其功能是:将形参s所指字符串放入形参a所指的字符数组中,是a中存放同样的字符串,说明,不得使用系统提供的字符串函数48,编写函数float fun,其功能是:使变量h中的值保留两位小数,并对第三位进行四舍五入(规定h中的值为正数)49.编写函数void fun,其功能是:将大于整数m且紧靠m的k个素数存入所指的数组中。50.规定输入的字符串中只包含字母和*号,编写函数fun,其功能是:只删除字符前导和尾部的*号,串中字母间的*号都不删除。形参n给出了字符串的长度,形参h给出了字符串中前导*号的个数,形参d给出了字符串中尾部*号的个数,在编写函数时。不得使用c语言提供的字符串函数51.在主函数中,n名学生的成绩已放入一个带头结点的链表结构中,h指向链表的头结点,请编写函数fun,其功能是:求出学生的平均分,并由函数值返回52.规定输入的字符串中只包含字母和*号,编写函数fun,其功能是:除了字符串的前导*号外,将串中其他*号全部删除,在编写函数时,不得使用c语言提供的字符串函数。53.函数fun的功能是:将s所指的字符串中除下标为偶数同时ascⅡ码值也为偶数的字符外,其余的字符全部删除:字符串中剩余字符所形成的新字符串存放在t所指向的数组中。54,在主函数中,n名学生的成绩已放入一个带头结点的链表结构中,h指向链表的头结点,请编写函数fun,其功能是:求出学生的最高分,并有函数值返回。55.假定输入的字符串中只包含字母和*号,请编写函数fun,其功能是:除了尾部的*号之外,将字符中的其他*号全部删除,形参p已指向字符串中最后一个字母,在编写函数时,不得使用c语言提供的字符串函数56.编写函数fun,其功能是:将a、b中的两个两位正整数合并成一个新
新的整数存放在c中,合并的方式是:将a中数的十位和个位依次存放在变量c中数十位和千位上57.编写函数fun,其功能是:将s所指向的字符串中除了下标为奇数同时ascⅡ值也为奇数的字符之外,其余的字符全部删除,串中剩余字符所形成的一个新串存放在t所指向的数组中。58.编写函数fun,其功能是:将一个数字字符串转换为一个整数(不得调用c语言提供的将字符串转换为整数的函数)59.编写函数fun,其功能是:将两个两位数的正整数a、b合并成一个整数存放在c中,合并的方式是:将变量a中数的十位和个位依次放在变量c中数的十位和个位上,变量b中数的十位和个位依次存放变量c中数的百位和个位上。60.函数fun的功能是:将s所指字符串中下标为偶数的字符删除,剩余字符形成的新串存放在t所指的数组中61.编写函数fun,其功能是:计算并输出n(包括n)以内所有能被5或9整除的自然数的倒数之和62.请编写函数int fun(int lim,int aa[max]),其功能是求出小于或等于lim的所有素数并存放在aa数组中,最后返回所求出的素数的个数63.函数fun的功能是:将a、b中的两个正整数合并形成一个新的整数存放在c中,合并的方式是:将变量a中数的十位和个位依次放在变量c中数的十位和千位上,变量b中数的十位和个位依次放在变量c中数的个位和百位上64.编写函数fun,其功能是:计算并输出下列多项式的值,s=1/1*2 +1/2*3 +k+1/n(n+1)65.编写函数fun,其功能是:移动字符串中的内容,移动的规则是把第1-m个字符,平移到字符串的最后,把第m+1到最后的字符移到字符串的前部66.编写函数fun,其功能是:将一个数字字符串转换成与其面值相同的长整型整数,可调用strlen函数求字符中的长度67.请编写函数fun,w是一个大于10的无符号整数,若w是n(n&=2)位的整数,则求出w的后n-1位的数作为函数值返回68.编写函数fun,其功能是:求fibonacci数列中大于t的最小数,结果由函数值返回69.编写函数fun,其功能是:实现b=a+a;即将矩阵a加上a的转置,存放在矩阵b中。计算结果在main函数中输出70.编写函数fun,其功能是:将a、b两个两位正整数合并成一个新的整数存放在变量c中,合并的方式是:将变量a中数的十位和个位依次存放在变量c中数的千位和十位上,变量b中数的十位和个位依次存放在变量c中数的个位和百位上71.编写函数fun,其功能是:将ss所指字符串所有下标为奇数位上的字母转换为大写(若该位置上不是字母,则不转换)72.编写函数fun,其功能是:将一组得分中,去掉一个最高分和一个最低分,然后求平均值,并通过函数返回,函数形参a指向存放得分的数组,形参n中
存放得分个数(n&2)73.编写函数fun,其功能是:统计各年级段的人数,n个年龄数通过调用随机函数获得,并放入主函数的age数组中,要求函数把0-9岁年龄段的人数放在d[0]中,把10-19岁年龄段的人数放在d[1]中,把20-29岁年龄段的人数放在d[2]中,以此类推,把100岁(含100岁)以上年龄的人数都放在d[10]中,结果在主函数中输出74.请编写一个函数int fun,用来求出数组的最大元素在数组中 的下标,并存放在k所指向的存储单元中75.编写函数fun,其功能是:统计一行字符串中单词的个数,并作为函数值返回,字符串在主函数中输入,规定所有单词由小写字母组成,单词之间有若干个空格隔开,一行的开始没有空格76.编写函数fun,其功能是:移动一维数组中的内容,若数组中有n个整数,要求把下标为0至p的数组元素元素平移到数组的最后77.编写函数fun,其功能是:根据一下公式计算s,并把计算结果作为函数值返回,n通过形参传入。s=1+1/1+2 1+1/1+2+3 +**+1/1+2+3+***+n78.编写函数fun,其功能是:删除一个字符中指定下标的字符,其中,数组a存放原字符串,删除指定字符后的字符串存放在数组b中,变量n存放指定的下标79.学生的记录由学号和成绩组成,n名学生的数据已放入主函数中的结构体系数组s中,请编写函数fun,其功能是:把指定分数范围内的学生数据放在数组中该分数范围内的学生人数由函数值返回。80.编写函数fun,其功能是:将s所指字符串中ascⅡ码值为奇数的字符删除,剩余字符形成的新串存放在t所指的数组中81.学生的记录由学号和成绩组成,n名学生的数据已存入结构体数组a中,请编写编写函数fun,其功能是:找出成绩最高的学生记录,并通过形参返回给主函数(规定只有 一个最高分),已给出函数的部分程序,请完成函数82.请编写函数void fun ,tt指向一个m行n列的二维数组,求出二维数组每列中最大元素,并依次放入pp所指的一维数组中,二维数组中的数据已在主函数中给出83.请编写函数fun,对包含7个字符的字符串,除首位字符外、其余5个字符按ascⅡ码值降序排列84.编写函数fun,其功能是:计算并输出当x&0.97时,下列多项式的值,直到85.编写函数fun,其功能是:计算并输出下列多项式的值。86.下列程序定义了n*n的二维数组,并在主函数中自动赋值,编写函数fun,其功能是使数组右上半三角元素中的值乘以m87.编写函数fun,其功能是:求出二维数组周边元素之和,并作为主函数值返回,二维数组中的数据在主函数中赋予88.在下列给定程序中,函数fun的功能是:用函数指针指向要调用的函数,并进行调用,规定在程序空2处使用指针f
指向函数f1,在程序空3处使用指针指向函数f2,当调用正确时,程序输出:x1=5.000000,x2=3.000000,x1*x1+x1*x2=40..m个人的成绩存放在score数组中,请编写函数fun,其功能是:将低于平均分的人数作为函数值返回,并将低于平均分的分数存放在below所指的数组中90.编写函数fun,其功能是:计算并输出给定10个数的方案91.下列程序定义了n*n的二维数组,并在主函数中赋值,编写函数fun,其功能是:求出数组周边元素的平均值并作为函数值返回给主函数中的变量s92.下列给定程序中,函数fun的功能是,将a所指4*3矩阵中的第k行的元素与第0行元素交换93.编写函数fun,其功能是:将m行n列的二维数组中的数据,按行的顺序依次存放到一维数组中,一维数组中数据的个数存放在形参n所指的存储单元中94.编写函数fun,其功能是:根据以下公式求p的值,结果由函数值带回,m与n为两个正整数且要求m&np=m!/n!(m-n)!95.请编写一个函数,用来删除字符串中的所有空格96.编写函数fun,其功能是:计算并输出以下多项式的值97.程序定义了n*n的二维数组,并在主函数中自动赋值,编写函数fun,其功能是:使数组左下半三角元素中的值乘以n98.编写函数fun,其功能是:将s所指字符串中ascⅡ码值为偶数的字符删除,串中剩余字符形成一个新串存放在t所指的数组中99.编写函数fun,其功能是:统计一个长度为2的字符串在另一个字符串出现的次数100.学生的记录由学号和成绩组成,n名学生的数据已存入结构体数组a中,请编写编写函数fun,其功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)已给出函数的部分程序,请完成该函数
包含各类专业文献、专业论文、生活休闲娱乐、各类资格考试、文学作品欣赏、行业资料、月二级上机编程题目等内容。 
 2012年9月计算机二级C语言上机题库及答案(破译版)_IT认证_资格考试/认证_教育...(n%i)应该为 if(!(n%i)) 编程题 M 个人的成绩存放在 score 数组中,请...  2012年9月二级C语言上机题库2012年9月二级C语言上机题库隐藏&& 一、1、程序...[j]; 编程题答案:int i,t,j=0,*p=a; t=p[0]; for(i=0;i&=n;i...  2012年9月计算机二级c语言上机题_IT认证_资格考试/认证_教育专区。STU n={10006,&ZhaoSi&, 55, 70, 68}, ss[N]; 2012 全国计算机二级 C 语言上 机参考...  计算机2级上机考试50套题 9页 20财富值 c语言程序设计第1章(谭浩强... 28页 免费 2012年9月全国计算机二级C... 23页 8财富值如要投诉违规内容,请到百度文库...  2012年9月二级C语言上机考试标准题库_IT认证_资格考试/认证_教育专区。说明:本...题目(每套题 目包含 3 道题:一道程序填空题、一道程序修改题、一道程序设计...  关键词:2012年9月二级C语言上机题库复习资料参考案 1/2 相关文档推荐 ...(1) 编程: char *p=s,*q=t; int n=0,m=0; while(*p) /*...  2012年9月份计算机二级C上机100套题答案 2012年计算机二级C语言上机100套题答案2012...程序设计 float fun() { float x0,x1=0.0; do{ x0=x1; x1=cos(x0...  2012年9月三级网络技术上机... 61页 10财富值 最新2012年9月计算机二级C......\0?;(双引号改成引号) 编程: (注意:这道题是在/* 请填写相应语句完成其...  2012年9月计算机等级考试2级题库!隐藏&& 二级C_第 1 套上机题 一、程序...【参考答案】 (1)int i,j=0,k, (2)if(sum%4==2) 三、程序设计...下载作业帮安装包
扫二维码下载作业帮
1.75亿学生的选择
从主函数main()中输入一个整型数组a[20]和一个整数X.试编写函数,找出X在数组中第一次出现的位置,并将相应元素的下标返回主函数.若找不到,则返回数组长度.最后,在主函数中输出相应的信息.
dbMP47DV34
#include main(){int a[20],x,i;printf("输入20个数字:");for(i=0;i
为您推荐:
其他类似问题
扫描下载二维码

我要回帖

更多关于 用c语言编写判断素数 的文章

 

随机推荐