1. 编程c语言程序,输入一个五位数,判断是否为对称说,如:12321,20202都是对称数
供参考……
#include "stdio.h"//
void main(void){
int nDec;
printf("请输入一个十进制五位整数...\nnDec=");
for(;;){
scanf("%d",&nDec);
if(nDec>9999 && nDec<100000) break;
printf("错了!请输入10000~99999间的整数...\nnDec=");
}
printf("%d",nDec);
if((nDec%10000)/1000!=(nDec%100)/10 || nDec/10000!=nDec%10) printf("不");
printf("是对称数!\n");
}
2. 用c语言如何判断这两个数组是相等的 int a[5]={1,2,3,2,5}; int b[5]={1,2,3,2,5};
先判断长度是不是相等
如果相等
用数组一中每个元素去分别和二中的比,只要在二中都能找到相等的,那个元素就被标记一下,下次不和他比
最后二中的都被标记了,说明完全相等
你自己实现吧
我感觉这个想法应该没错呢~~有什么不对的望提出啊~~
3. C语言中判断两个数组内容是否相同!
C语言有个函数
memcmp是用来进行内存比较的
extern
int
memcmp(void
*buf1,
void
*buf2,
unsigned
int
count);
if(0==memcmp(ID,ID1,20))
//ID1等于ID2
{
}
先要明确运算符按优先级不同分类,《C程序设计》运算符可分为15种优先级,从高到低,优先级为1 ~ 15,除第2.13级和第14级为从右至左结合外,其它都是从左至右结合,它决定同级运算符的运算顺序。
产生来源
在C语言中, 数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。
关于可变长数组(VLA)的问题:原来的C89标准中是不允许可变长数组出现的,但是在C99标准中,加入了对VLA的支持,但是支持的编译器不多,而且由于栈溢出的安全问题,没有太多的人敢用这个可变长数组,所以在C11标准中又把它规定为可选实现的功能了。
以上内容参考:网络-数组
4. 求一c语言程序,输入两个数,判断他们是否相等
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(void)
{
char a[60],b[60];
printf("输入第一个数:");
scanf("%s",a);
printf("输入第二个数:");
scanf("%s",b);
if(strcmp(a,b)) printf("两个数不相等\n");
else printf("两个数相等\n");
system("pause");
return 0;
}
5. c语言判断字符数组相等
因为你定义的a是一个字符数组,而b是一个字符串,两者直接比较当然不等,你在输入完a后应该加上 a[6]='\0';
这样就对了。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include<windows.h>
#include<conio.h>
int main()
{char a[7];
char b[7]="111111";
int i=0;
system("color 84");
printf(" ");
printf("【请输入密码】:\n\n");
printf(" ");
for (i=0;i<=5;i++)
{a[i]=getch();
printf("*");
}
a[6]='\0';
getch();
printf("\n");
printf(" ");
if(strcmp(a,b)==0)
printf("密码正确,稍等进入。\n");
else
printf("密码错误!请重新输入\n");
system("pause");
}
6. c语言数组元素判断是否相同以及相同的个数
//下面的算法还可以优化,就留给楼主自己思考:
#include<stdio.h>
#include<stdlib.h>
#defineARR_MAX6
staticinttemp[ARR_MAX];
booltemp2[ARR_MAX];
voidreset(){//初始化静态区变量temp与temp2
for(inti=0;i<ARR_MAX;i++){
temp[i]=1;
temp2[i]=true;
}
}
intrepeat_e(inta[ARR_MAX]){
reset();
//跳跃式算法,加快检索速度
for(inti=0;i<ARR_MAX;i++){
if(!temp2[i])continue;
for(intj=i+1;j<ARR_MAX;j++){
if(a[i]==a[j]){
temp[i]++;
temp2[j]=false;
}
}
}
//寻找最值算法
int_max=1;
inttarget_index=-1;//目标索引
for(inti=0;i<ARR_MAX;i++){
if(temp[i]>_max){
_max=temp[i];
target_index=i;
}
}
returntarget_index>-1?a[target_index]:-1;
}
intmain(intargc,char*argv[])
{
intarr[ARR_MAX]={0};
scanf("%d%d%d%d%d%d",&arr[0],&arr[1],&arr[2],&arr[3],&arr[4],&arr[5]);
inttarget_value=repeat_e(arr);
if(target_value>-1){
int_count=0;
for(inti=0;i<ARR_MAX;i++){
if(arr[i]==target_value){
printf("x[%d],",i+1);
_count++;
}
}
printf(",相同数=%d ",_count);
}
system("pause");
return0;
}