重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
// 下面的算法还可以优化,就留给楼主自己思考:
创新互联公司长期为近千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为尚志企业提供专业的成都网站设计、成都网站制作,尚志网站改版等技术服务。拥有十余年丰富建站经验和众多成功案例,为您定制开发。
#include stdio.h
#include stdlib.h
#define ARR_MAX 6
static int temp[ARR_MAX];
bool temp2[ARR_MAX];
void reset(){ // 初始化静态区变量 temp与temp2
for (int i=0;iARR_MAX;i++){
temp[i]=1;
temp2[i]=true;
}
}
int repeat_e(int a[ARR_MAX]){
reset();
// 跳跃式算法,加快检索速度
for (int i=0;iARR_MAX;i++){
if(!temp2[i]) continue;
for (int j=i+1;jARR_MAX;j++){
if (a[i]==a[j]){
temp[i]++;
temp2[j]=false;
}
}
}
// 寻找最值算法
int _max=1;
int target_index=-1; // 目标索引
for(int i=0;iARR_MAX;i++) {
if(temp[i]_max){
_max=temp[i];
target_index=i;
}
}
return target_index-1?a[target_index]:-1;
}
int main(int argc, char* argv[])
{
int arr[ARR_MAX]={0};
scanf("%d %d %d %d %d %d",arr[0],arr[1],arr[2],arr[3],arr[4],arr[5]);
int target_value=repeat_e(arr);
if(target_value-1){
int _count=0;
for(int i=0;iARR_MAX;i++){
if(arr[i]==target_value) {
printf("x[%d],",i+1);
_count++;
}
}
printf("\b ,相同数=%d\n",_count);
}
system("pause");
return 0;
}
strcmp
原型:extern int strcmp(char *s1,char * s2);
用法:#include string.h
功能:比较字符串s1和s2。
说明:
当s1s2时,返回值0
当s1=s2时,返回值=0
当s1s2时,返回值0
举例:
// strcmp.c
#include syslib.h
#include string.h
main()
{
char *s1="Hello, Programmers!";
char *s2="Hello, programmers!";
int r;
clrscr();
r=strcmp(s1,s2);
if(!r)
printf("s1 and s2 are identical");
else
if(r0)
printf("s1 less than s2");
else
printf("s1 greater than s2");
getchar();
return 0;
}
相关函数:bcmp,memcmp,stricmp,strncmp
#include "stdio.h"
#include "string.h"
main()
{
char str1[100];
char str2[100];
char a;
printf("请输入第一个字符串,该字符串为:\n",str1);
gets(str1);
printf("请输入第二个字符串,该字符串为:\n",str2);
gets(str2);
a=strcmp(str1,str2);
if((a==0))
printf("两个字符串相等!\n");
else
printf("两个字符串不等!\n");
while(1){}
}
//int strcmp(char *str1,char *str2)