随机产生5000万个数,并经数字在转化成字母?
随机产生5000万个0至7内的数字,并将随机产生的5000万个数字中的0和1转化成A,2和3转化成T,4和5转化成C,6和7转化成G,请问各位大侠该怎么办呀?
随机产生的5000万个数字连成一串。
谢谢!!!
#include<stdio.h> #include<time.h> #include<stdlib.h> #define num 2050000//好象最大数只能在此附近 int main() { char str[num]; int i,t; srand(time(NULL)); for(i=0;i<num; i++) { t= rand()%8; if(t<2) str[i]='A'; else if(t<4) str[i]='T'; else if(t<6) str[i]='C'; else str[i]='G'; } for(i=0;i<num; i++) printf("%c",str[i]) ; getchar(); return 0; }
#include <stdio.h> #include <stdlib.h> #define AMOUNT 50000000 int main() { FILE * fpnum=fopen("numout.txt","w+"); FILE * fpstr=fopen("strout.txt","w+"); int num=0; char ch; int i; for(i=0;i<AMOUNT;i++) { num=rand()%8; fprintf(fpnum,"%d",num); switch(num/2) { case 0: ch='A'; break; case 1: ch='B'; break; case 2: ch='C'; break; case 3: ch='D'; break; } fputc(ch,fpstr); } fclose(fpnum); fclose(fpstr); return 0; }