C语言里怎么判断10个数互不相同??简单的方法,而不是两两相比较的方法,请求高手指教,非常感谢啊!!!
#include
int main()
{
printf("请输入十个数字(用回车隔开):");
double number[10];
int i,j,a=0;
for(i=0;i<10;i++)
{
scanf_s("%lf",%number[i]);
}
for(i=0;i<10;i++)
{
for(j=i;j<10;j++)
{
if(number[i]==number[j])
a++;
}
}
if(a==0)
printf("这十个数字互不相同。");
else
printf("这十个数字不是互不相同");
return 0;
}
可以采用将多个数排序如二分法,在排序算法中加入判断是否有相同数据
希望对你有所帮助
初始化数组的值全部为0,表示没出现。
比如 a[5]=1,表示的意思就是5,出现过
a[5]=0,表示的意思就是5没有出现过。
a[4]=1,表示的意思就是4出现过。
当然,还可以记录每个数出现的次数,出现一次,该数组值就加1
a[5]=2,表示5出现2次,同理……
如果只为看是否出现,就用0,1表示,数组类型也可以是bool型,不占很多空间……
c++里面有容器map,你把10个数往map里面放,有重复的会自动覆盖,10个放完了如果你统计map只有9个元素,那么表示有重复。
//hehe
bool IsEqual(vector<int> &vc)
{
for (int i =0 ; i < vc.size(); ++i)
for (int j = i+1; j < vc.size(); ++j)
if (vc[i] == vc[j])
return true;
return false;
}
用数组可以不?
C语言里怎么判断10个数互不相同??简单的方法,而不是两两相比较的方法...
c++里面有容器map,你把10个数往map里面放,有重复的会自动覆盖,10个放完了如果你统计map只有9个元素,那么表示有重复。 蛋壳儿漂 | 发布于2010-09-10 举报| 评论(1) 0 1 用数组可以不? haomcgrady | 发布于2010-09-10 举报| 评论 0 0 \/\/hehebool IsEqual(vector<int> &vc){for (int i ...
c语言编译时怎么判断是10进制还是16进制
int main(){ int n ;scanf("%d",&n);while(n>0){ printf(" %d",n%10);n = n \/ 10;} printf("\\n");return 0;}
c语言如何判断10个字符换行
如果数据量较少情况下可以初始化一个较大的字符数组作为输入存储空间,然后使用循环来遍历,循环中加判断语句,当索引数跟10取模为0时则打印换行。倘若数据量较大,则可以使用do while循环来做输入,每次读取一个字符,使用链表来存储,换行方式同上,也是遍历中加条件语句换行。
C语言里怎么判断10个数互不相同??简单的方法,而不是两两相比较的方法...
hash,用数组的下标表示你输入的数,数组的值表示该数是否出现过。初始化数组的值全部为0,表示没出现。比如 a[5]=1,表示的意思就是5,出现过 a[5]=0,表示的意思就是5没有出现过。a[4]=1,表示的意思就是4出现过。当然,还可以记录每个数出现的次数,出现一次,该数组值就加1 a[5]=2,...
C语言b==10或b==11怎么表示?
不明白楼主的意思,如果是if判断,if((b==10)||(b==11)){... }.表示b=10或者b=11都判断为真。
怎么用c语言判断十周年?
题目应该是想判断“整十周年”吧?60周年70周年这种。include <stdio.h> void main(){ int year;printf("请输入年份:");scanf("%d",&year);if((year - 1921) % 10 == 0)printf("%d是建党%d周年\\n",year,year-1921);else printf("%d不是建党的整十周年\\n",year);} ...
c语言中,int i=10,请问这个10是不是字符呀??如果不是的话,不是说键盘...
int i=10,10不是字符,而是整数10,键盘上输入的都是‘字符’,但此处‘字符’不是计算机类型,与计算机中字符是两个概念,判断类型根据 关键字int 为整型,char i,scanf("%c",&i);输入的才是字符。给赞哦!!!不明白,你提问
判断10个数中最大数的access语言
1) 使用SQL语言获取数据表中的最大值 例如: 将10个数存入空表"T1"的"NUM"字段里 然后运行下列SQL语句,即可选出其中的最大值 select Max(NUM) as 最大值 from T1;2)利用ACCESS自带的VBA编程语言,编写代码选出10个数中的最大值 例如:为窗体命令按钮编写下列单击事件过程 Private Sub Command...
c语言中%10的含义是什么?
在C语言中,%是取模运算符,它可以返回除法的余数。当我们对一个数x取模10时,实际上就是返回x除以10的余数。也就是说,%10的含义是对一个数进行除以10求余数的操作。例如,12%10的结果是2,25%10的结果是5。10在实际编程中用处非常广泛,比如我们可以用它来判断一个数是不是个位数,或者用它...
java语言,如何用switch语句判断一个六位数0~9这十个数字,每个数字出现...
while(num!=0){ i=num%10;switch(i){ case 0:d[0]++;break;case 1:d[1]++;break;case 2:d[2]++;break;case 3:d[3]++;break;case 4:d[4]++;break;case 5:d[5]++;break;case 6:d[6]++;break;case 7:d[7]++;break;case 8:d[8]++;break;case 9:d[9]++;break;} ...
汝巧蓖麻: #include<stdio.h> int main() { printf("请输入十个数字(用回车隔开):"); double number[10]; int i,j,a=0; for(i=0;i<10;i++) { scanf_s("%lf",%number[i]); } for(i=0;i<10;i++) { for(j=i;j<10;j++) { if(number[i]==number[j]) a++; } } if(a==0) printf("这十个数字互不相同."); else printf("这十个数字不是互不相同"); return0; }
茶陵县18990379468: C语言里怎么判断10个数互不相同??简单的方法,而不是两两相比较的方法,请求高手指教,非常感谢啊!!! - ?
汝巧蓖麻: hash,用数组的下标表示你输入的数,数组的值表示该数是否出现过.初始化数组的值全部为0,表示没出现.比如 a[5]=1,表示的意思就是5,出现过 a[5]=0,表示的意思就是5没有出现过. a[4]=1,表示的意思就是4出现过.当然,还可以记录每个数出现的次数,出现一次,该数组值就加1 a[5]=2,表示5出现2次,同理…… 如果只为看是否出现,就用0,1表示,数组类型也可以是bool型,不占很多空间……
茶陵县18990379468: C语言怎么判断n个数互不相同 - ?
汝巧蓖麻: 两个循环 从第一个开始 和它后面每一个比较 是否相同 比较返回结果 都不相同就返回一个不相同 有一个相同的 就把相同的显示出来
茶陵县18990379468: 在c语言中,怎么对多组数据判断,而且每组数据的个数都不相同,我连输入都不会,求大神支援,分数多多.... - ?
汝巧蓖麻: 你再具体说一下,判断什么?数组输入数据可以用for语句 int a[n]; for(i=0;i<n;i++) scanf("%d",&a[i]); 这段代码可以用来往数组a【n】中输入n个元素,需要注意的是,n必须为一个常量,否则无法运行~
茶陵县18990379468: c语言:我从键盘输入10个从小排到大的数,要求输出其中不同的数.也就是类似这样的. 输入:1 2 - ?
汝巧蓖麻: , a[i]); } printf 6; , , 0; else int a[10] , { if (a[i] 6}; int , 3; a[i]);i = (int if ,如果不相同; int main() { ,如果相同,则表示该数与前一个数重复; 0){ printf (" a[i-1]){ %d 2;3; 6, i < n; ++i){ ("%d ",输出.示例代码:#include != 3; ,则表示他第一次出现, , " , == (i 10; for n = 5, , } } = {1;2这个只需要判断当前数是否与他的前一个数相同;
茶陵县18990379468: 从键盘输入十个整数,编写程序验证这十个数是否互不相同,并得出结论YES或NO. - ?
汝巧蓖麻: //用库的算法函数来实现的,其实原理有点不怎么见得人的.//先用向量1来保存输入整数,对向量1排序.保存其元素个数size//再利用库函数删除向量1中重复的元素.再保存其元素个数size2;//最后,比较两个 个数 的大小,一样的就说明互不相同....
茶陵县18990379468: 如何用c++编程判断10个数互不相等?谢谢! - ?
汝巧蓖麻: 数据小的话,可以建一个较大的数组,如hash[10000],初始化为0,然后读入数据,比如读入i,然后就让h[i]++,如果出现h[i]>=2的情况,就说明有两个数相等了.对于数据较大的情况,可以考虑找一个较大的质数p,然后运算hash[i % p]++,同样可以达到上面的效果.只不过这种情况会出现冲突,但是如果p选得好的话,冲突会很小的.当然也可以将10个数排序,然后判断相邻两个数是否相等就行了.方法很多的,希望你能想到更好的方法
茶陵县18990379468: 用c语言编写程序,产生几个随机数,想让这几个数互不相等,怎么能做到? - ?
汝巧蓖麻: 思路大概就是每产生一个随机数后与a[10]中的元素进行判断 如果在a[10]中没有出现重复的数字 就继续产生下一个随机数 否则就重复产生 知道没有重复在进行下一次生成 只是作为参考的代码 可以满足要求 int find(int *a, int size, int num) {for (...
茶陵县18990379468: C语言随机函数怎样产生0 - 9互不相同的10个随机数 - ?
汝巧蓖麻: 对已经获取到的随机数做标记,如果已经获取到过,那么则放弃该随机数,并继续获取.直到获取到所有随机数为止.参考代码如下:#include <stdio.h>#include <stdlib.h>#include <time.h> int main() { int a[10];//存储获取到的随机数. int f[10] =...
茶陵县18990379468: C语言中100个数中随机选取10个不同的数如何实现? - ?
汝巧蓖麻: 首先要确定这100个数的范围,比如0-99.然后抽取随机数,并利用模除限定范围,每当抽取到一个新的数时,同历史数据比较,如果有重复则放弃. 直到抽取到不重复的10个数为止. 示例代码如下:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ...