void
main()
{
int
a[4],N,i,k,M
xy:
printf("请输入您要处理的四位数的四位:\n"卜和)//以空格间隔开!
for(i=0i<4i++)
scanf("%d",&a[i])//氏弊此千位数为0的没有反序数
N=1000*a[0]+100*a[1]+10*a[2]+a[3]
M=1000*a[3]+100*a[2]+10*a[1]+a[0]
printf("您要处理的四位数为:%d\n",N)
for(k=2k<20k++)
if(k*N==M)
printf("K=%d,反序数为%d\n",k,M)
else
{
printf("No
output!\n")
printf("请继续输入\n")
goto
xy
}
}/*你是不是说得有些问题啊,一个四位数歼迅只有一个反序数,怎么能说是所有的呢?如果是求四位数所有的反序数,可以适当改一下的*/
不用求原来的数字到底是几位,直接用取余数乘10的方法就可以了。
C语言是一门通用计算机编程橘衫语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编掘嫌译,甚至包含一些嵌入式处理器(判伍手单片机或称MCU)以及超级电脑等作业平台。
最简单的反序输出,就是把数组反序输出。只需要从最大下标开始,向0下标循环输出就可以了。
比如将字谨颂段符串(字符数组)反序输出的代码如下:
void reverse_output_str(char *str){
int len = strlen(str) -1//得到最大下标
while(len >= 0)printf("%c", str[len--]) //反序输出直到str[0]
}
其它类的反序输出,也都可以樱橘归结为类似的情况。先把要输出的正序输出到一个数组,然后把这个数组反序输出。
比如把一个10进制数反序输出,即输入1234,输出4321,就可以采用类似的方式:
void reverse_int_output(int a){
祥誉 char buf[20]
sprintf(buf, "%d", a)//将a转为字符串
reverse_output_str(buf)//调用刚才的函数反序输出。
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)