当前位置:首页 » 编程语言 » 无重复语句c语言
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

无重复语句c语言

发布时间: 2022-08-07 13:54:04

‘壹’ c语言,我写的算出来的有重复的,怎么写没重的

#include<stdio.h>
inta[6];
intf()
{
inti,b,c,d;
b=0;c=0;d=0;

// b=a[0]+a[1]+a[2];
// c=a[2]+a[3]+a[4];
// d=a[4]+a[5]+a[0];

for(i=0;i<3;i++)
{
b+=a[i];
c+=a[i+2];
d+=a[(i+4)%6];
}

if((d==b&&b==c)&&c==d)return1;
elsereturn0;
}
voidexch(int*a,int*b)
{
intt;
t=*a;
*a=*b;
*b=t;
}
intf1(intm,intn)
{
inti,j;
if(m<n)
{
for(i=m;i<n;i++)
{

exch(&a[i],&a[m]);
f1(m+1,n);
exch(&a[m],&a[i]);
}
if(m==n-1)
{
if(f()==1)
{
for(j=0;j<n;j++)
printf("%d",a[j]);
printf(" ");
}
}
}
}
voidmain()
{
intn=6;
inti=0;
for(i=0;i<n;i++)
a[i]=i+1;
f1(0,n);
}

‘贰’ 请c语言大神解惑 编写一程序,实现从键盘输入两个字符串str1和str2,要求各串中无重复的字符,求

#include <stdio.h>
#include <string.h>
int repeated(char* str)/*检查字符串内是否有重复的字符,有就返回1,无就返回0*/
{
int i=0, len=strlen(str)-1;//调用strlen得到字符串的长度
for(i=0; i<len; i++)/*依次查看每个字符在后面是否重复出现*/
if(strchr(str+i+1, str[i]))
return 1;/*一旦发现就立即返回*/
return 0;
}
int main()
{
int i, len, j=0;
char s1[100], s2[100], s3[100];/*保存两个字符串和交集串*/
char* s[2]={s1,s2};/*用一个数组s来管理s1和s2以便在下面用for循环处理*/
for(i=0; i<2; i++){/*依次输入两个字符串*///这里使用do,while循环!因为至少要输出一次!
do{
printf("请输入第%d个字符串: ", i+1);
scanf("%s",s[i]);
}while(repeated(s[i])&&printf("串内有重复字符! "));/*检查是否有重复*/
}
len = strlen(s1);
for(i=0; i<len; i++)/*依次查找s1中的每一个字符是否在s2中存在*/
if(strchr(s2,s1[i]))
s3[j++] = s1[i];/*存在的字符就加入到交集中*/
s3[j] = ''/*添加字符串结束标记,紧记C语言里的字符串一定要加上结束符!*/
if(j>0)
printf("交集为[%s] ", s3);
else
printf("交集为空 ");
return 0;
}

我把注释都完整了,少年还有不解之处,追问便是!


希望这些能给你提供一点帮助,亲!

‘叁’ 输入字符串 输出时去掉重复的 C语言(数组)

#include<stdio.h>

#include<string.h>

main()

{int i,a[127]={0};

char s[100];

printf("Enter a string: ");

gets(s);

for(i=0;i<strlen(s);i++)

if(a[(int)s[i]]==0)

{a[(int)s[i]]=1; printf("%c",s[i]);}

printf(" ");

}


‘肆’ c语言去掉重复的数据程序

你的情重复情况下连续的,如果是12365136这种情况下呢!!
你把原程序贴上,我帮你改改吧

修改语句如下:

linklist other;
other=(linklist)malloc(sizeof(lnode));
other->data=H->data;
other->next=H->next;
H->next=other;

‘伍’ C语言 输入一个字符串 去掉重复的字符,输出无重复的

#include<stdio.h>

#include<string.h>

main()

{int i,a[127]={0};

char s[100];

printf("Enter a string: ");

gets(s);

for(i=0;i<strlen(s);i++)

if(a[(int)s[i]]==0)

{a[(int)s[i]]=1; printf("%c",s[i]);}

printf(" ");

}



‘陆’ C语言如何产生不重复的随机数

用一个数组装随机数,一个数组表示已经记录过的随机数;

比如说随机0-8,生成一个随机8位数组且数组内各项不重复;

例:

intarray[8];

intarrayIndex[8]={0,0,0,0,0,0,0,0};

intk=0;

srand(100);

while(k<8){

intq=rand()%8+1;

if(arrayIndex[q-1]==1){

continue;

}

array[k]=q;

arrayIndex[q-1]=1;

k++;

}

(6)无重复语句c语言扩展阅读

C语言随机输出1~20不重复的随机数

#include<stdio.h>

#include<stdlib.h>

#include<time.h>

voidmain()

{

inta[20];

inti,j;

srand((int)time(0));

a[0]=rand()%20+1;

for(i=1;i<20;i++)

{

a[i]=rand()%20+1;

for(j=0;j<i;j++)

{

if(a[i]==a[j])

{

i--;

}

}

}

for(i=0;i<20;i++)

{

printf("%3dn",a[i]);

}

}

‘柒’ c语言如何产生随机不重复的数,我不重复不知道怎么写。怎样不重复

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
main()
{inta[10],i,j,k;
srand(time(NULL));
for(i=0;i<10;i++){//采集10个随机数
a[i]=rand()%90+10;//随机数赋值
k=0;//重复个数清零
for(j=0;j<i;j++)//计算重复的个数
if(a[i]==a[j])k++;
if(k!=0)i--;//重复个数不为0,就是有重复的
}//重新产生这个随机数
for(i=0;i<10;i++)
printf("%4d",a[i]);
}

如图所示,rand产生不了不重复的随机数,所以方法就是把产生的重复的去掉。我这里举个例子,按照这个思路,插入到你的程序里就行了。

望采纳。。。。。。

‘捌’ C语言中有没有通用的避免重复输出的语句如果有,是什么

应该不存在,但只要在编写代码的时候,用适当的语句加以控制,是可以实现的

‘玖’ C语言编程 无重复数字

#include<stdio.h>

intunique(intnum,intn)
{
inta[10]={0};
while(num)
{
intbit=num%10;
num/=10;
if(bit==0||bit>n)
return0;
else
{
if(a[bit])
return0;
else
a[bit]=1;
}
}
return1;
}

intmain()
{
intmin,max,n,i;
intcount=0;
scanf("%d%d%d",&min,&max,&n);
for(i=min;i<=max;i++)
{
if(unique(i,n))
{
count++;
printf("%d",i);
if(count%5==0)
printf(" ");
}
}
printf(" ");
return0;
}

‘拾’ C语言中无重复输入的问题

问题的确出在楼主自己说的那个地方,你只需要将代码当中else后边的两句放到一个语句块内就没有问题了,即如下所示
if(a[i]!=a[l])
{
i++;
}
else
{
printf("你输入的数与前面某个数字有重复,请重新输入。\n");
break;
}
因为 break 会跳出当层for循环,在没有改动之前,你的for循环只能执行一次比较就(break)退出了。改动之后就可以扫描之前已经输入的所有数据。
最后建议楼主要有良好的编程习惯,那就是不管if else等后边的语句有多简单,都最好用{}包起来,这样不仅增强了程序的可读性,更加方便调试。好的编程习惯也是制胜的法宝。