c - 交换C中数字的第一位和最后一位数字

标签 c swap

关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。












想改进这个问题?将问题更新为 on-topic对于堆栈溢出。

5年前关闭。




Improve this question




交换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/

相关文章:

mysql - 为什么我会收到这个 mysqlclient.lib 错误?

javascript - 如何使用jQuery在鼠标移动时更改div中的图像源?

java - 用Java管道或交换输入/输出流

java - Java如何在字符串中翻转两个单词

更改节点 libxml2 的命名空间

java - printf总是显示0处理器时间作为输出

string - 是否有一种有效的算法来查找交换距离最差的给定字符串的排列?

unix - 如何在Unix中交换文件名?

c++ - xutility 文件?

c - 什么都不做功能的使用