交换 C 中数字的第一位和最后一位数字。 我用最基本的c知识解决了这个问题。 我没有使用任何字符串或数组或按位运算符,只是简单的逻辑。为了更清楚地理解,举个例子看看。
#include <stdio.h>
int main()
{
int a,x,y,n=1,b;
printf("enter no");
scanf("%d",&a);
b=a; //used further
if(a>0)
{
y=a%10; //last digit
}
while(a>0)
{
x=a%10;
if(a>0 && a<=9)
{
x=a; //first digit
}
a=a/10;
n=n*10;
}
n=n/10;
printf("%d\n%d\n%d\n%d\n",b,n,x,y); //just to confirm readings
b=(b-y);
b=(b+x);
b=b-(x*n);
b=b+(y*n);
printf("%d",b);
}
最佳答案
希望您已经知道要修复什么:printf("%d",&b)
。
仅供引用。你可以做得更简单:
int num;
scanf("%d",&num);
char snum[50];
// convert to string
int len = sprintf(snum, "%d", num);
// character swap
char temp = snum[0];
snum[0] = snum[len-1];
snum[len-1] = temp;
// convert to int or use the snum string
int result = atoi(snum);
printf("%d\n", result);
关于c - 交换C中数字的第一位和最后一位数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39278705/