把開發過程比較重要的一些代碼片段做個備份,下面資料是關於C語言求解100的帶分數形式的代碼。
#include<stdio.h>
#include<string.h>
bool checkNum(int n){
char arr[]="x123456789";
do{
if(arr[n%10]<='9'){
arr[n%10]='x';
}else{
return false;
}
n/=10;
}while(n!=0);
return true;
}
do{
arr[n%10]='#';
n/=10;
}while(n!=0);
}
char tmp;
}
int len=strlen(arr),i;
for(i=0;i<len/2;i++){
change(arr+i,arr+len-i-1);
}
}
int i,j;
for(i=len-1;i>0;i--){
if(arr[i]>arr[i-1]){
break;
}
}
if(i==0){
return false;
}
i--;
for(j=len-1;j>i;j--){
if(arr[j]>arr[i]){
break;
}
}
change(arr+i,arr+j);
start2End(arr+i+1);
return true;
}
int count=0,i=0;
char ch;
while(i!=len){
}
return count;
}
int i,a,b;
for(i=len/2;i<len;i++){
a=str2N(res,i);
b=str2N(res+i,len-i);
if(a/b==result && a%b==0){
printf("%d+%d/%dn",n,a,b);
return true;
}
}
return false;
}
void fun(int n,int result){
char arr[]="#123456789";
char res[10];
nKill(n,arr);
int i=0,j=0;
char ch;
while((ch=arr[i++])!='0'){
if(ch!='#'){
res[j++]=ch;
}
}
res[j]='0';
do{
insert(res,j,result,n);
}while(nextArr(res,j));
}
void main(){
int i,n,tmp;
scanf("%d",&n);
for(i=1;i<n;i++){
tmp=n-i;
if(checkNum(tmp)){
fun(n-i,i);
}
}
}