我刚学c不久,请问怎样编写一个程序判断一个数是对称的,比如12321
转换为字符串,接着就简单了
这个是针对五位数的,如果用itoa(),atoi()函数,就简单得多
#include<stdio.h>
main()
{
int m;
int a,b,c,d;
printf("input a five-digit number:");
scanf("%d",&m);
a = m/10000;
b = m%10000/1000;
c = m%100/10;
d = m%10;
if (a == d && b == c)
printf("this number is symentry!");
else
printf("this isn't a symentry number");
return 0;
}
#include<stdio.h>
void main()
{
long a;
int n=0,i=0,x,arr[20];
printf("请输入一个整数:");
scanf("%ld",&a);
do{
arr[n]=a%10; //把这个数以及除10后对10取模分别求出每一位放在一个数组
n++; //注意此时n的值是比元素下标大1
a/=10; //除于10后拿去取模
}while(a!=0); //直到这个数为0
for(i=0;i<n;i++)
{
if(arr[i]!=arr[n-1-i]) //如果数组里a[0]==a[n-1]那么继续比较 一但出现不等就说明不是回文了
x=0; //不等时让x=0;用于以后判断
}
if(x==0)
printf("不是回文数!\n");
else
printf("是回文数!\n");
}
希望大家给点意见 C没学多少时间