产生某位的所有纯数字密码到文件
RT
比如3位的,就是
000
001
……
999
[解决办法]
#include <stdio.h>#include<math.h>void main(){ int i, max, n=3; // 位数 char temp[10]; sprintf(temp,"%%0%dd\n",n); max=pow(10,n); for(i=0;i<max;++i) { printf(temp,i); }}运行结果:000001002...998999
[解决办法]
没实际编译链接调试,不保证对。仅供参考:
#include <stdio.h>int n,i,m;char fn[20];FILE *f;int main() { scanf("%d",&n); m=1; if (1<=n && n<=9) { for (i=0;i<n;i++) m=m*10; sprintf(fn,"%d.txt",m); f=fopen(fn,"w"); for (i=0;i<m;i++) fprintf(f,"%0*d\n",n,i); fclose(f); } return 0;}
[解决办法]
我写的比较麻烦...不过也贴上来了...
#include <stdio.h>#include <string.h>void Itoa(int num,int len,char* str)//数字转字符串{ str[len]='\n';//最后的换行符 while(len>=1){ int nbit=num%10; str[len-1]=nbit+'0'; len--; num=num/10; }}int main(void){ FILE* file=fopen("passwd.txt","wb"); int i=0,len,max=1; printf("请输入密码位数\n"); scanf("%d",&len); for(i=0;i<len;i++) max*=10; for(i=0;i<max;i++) { char str[256]=""; Itoa(i,len,str); printf("str=%s",str); fputs(str,file); } return 0;}
[解决办法]
#include <stdio.h>char s[]="123 ab 4";char *p;int v,n,k;void main() { p=s; while (1) { k=sscanf(p,"%d%n",&v,&n); printf("k,v,n=%d,%d,%d\n",k,v,n); if (1==k) { p+=n; } else if (0==k) { printf("skip char[%c]\n",p[0]); p++; } else {//EOF==k break; } } printf("End.\n");}//k,v,n=1,123,3//k,v,n=0,123,3//skip char[ ]//k,v,n=0,123,3//skip char[a]//k,v,n=0,123,3//skip char[b]//k,v,n=1,4,2//k,v,n=-1,4,2//End.
[解决办法]
在参考这个例子:
应为
再参考这个例子:
拼音输入法惹的祸。
[解决办法]
感谢赵老师,学习了。