sscanf,sprintf

来源:互联网 发布:淘宝买家内衣秀大尺度 编辑:程序博客网 时间:2024/06/06 00:51
假设有数字不同的四位数为a,将他们按数字的大小排序拍好的四位数为b,求b-a并输出,直到他们出现循环
#include<stdio.h>#include<string.h>int getnext(int x){int a,b,n,i,j;char s[10],t;sprintf(s,"%d",x);n=strlen(s);for( i=0;i<n;i++)for(j=i+1;j<n;j++)if(s[i]>s[j]){t=s[i];s[i]=s[j];s[j]=t;}printf("%s",s);sscanf(s,"%d",&b);for(i=0;i<n/2;i++){t=s[i]; s[i]=s[n-1-i];s[n-i-1]=t;}sscanf(s,"%d",&a);return a-b;}int num[2000],count=0;int main(){int flage=1,i;scanf("%d",&num[0]);printf("%d",num[0]);while(flage){count++;num[count]=getnext(num[count-1]);printf("->%d",num[count]);for(i=0;i<count;i++)if(num[count]==num[i]){ flage=0;break;}}return 0;}

原创粉丝点击