调用rand()(对应文件头为“stdlib.h”)产生随机数
随机产生车牌号:调用rand()(对应文件头为“stdlib.h”)产生随机数,设法产生“云A-3个数字2个大写字母”的车牌,如云A-016PA。在线等,谢谢了!!!
#include<stdio.h> #include<stdlib.h> #include<time.h> int main() { srand((unsigned int)time(NULL)); int num[5]={0}; int i,j=1; while(j<=20) { for(i=0;i<5;i++) { if(i<3) num[i]=rand()%9+0; else { do { num[i]=rand()%26+65; } while(num[i]=='I'||num[i]=='O'); } } printf("云A-%d%d%d%c%c\t",num[0],num[1],num[2],num[3],num[4]); if(j%4==0) printf("\n"); j++; } return 0; }
#include<time.h> #include<stdlib.h> #include<stdio.h> int getrand(int min,int max) { static const double tem=1.0/(RAND_MAX+1.0); return min+(int)(max-min+1)*rand()*tem; } int main() { srand((unsigned int)time(NULL));int b[2]; int a[4]; for(int i=0;i<4;++i) { a[i]=getrand(0,9); } for(int i=0;i<2;++i){b[i]=(char)getrand(65,90);} printf("云A-%d%d%d%c%c ",a[1],a[2],a[3],b[0],b[1]); } 云A-250XI
[此贴子已经被作者于2020-3-16 01:33编辑过]
#include<stdio.h> #include<stdlib.h> #include<time.h> int main() { srand((unsigned int)time(NULL)); int num[5]={0},num2[5]; int flag,temp[5]={-1,-1,-1,-1,-1}; //这个地方很有意思,我如果初始化temp={-1},得到的是{-1,0,0,0,0}而不是{-1,-1,-1,-1,-1},不知道为什么 int i,j=1; //按照规则得到五个数据 for(i=0; i<3; i++) num[i]=rand()%9+'0'; for(i=3; i<5; i++) num[i]=rand()%26+'A'; //每点得到num中五个数字的概率都是一样的。 for(i=0;i<5;i++) { flag=rand()%(5-i); for(j=0;j<=flag;j++) { if(temp[j]!=-1) flag++; } temp[flag]=i; } //按照得到的次序重新排列num数组 for(i=0;i<5;i++) num2[i]=num[temp[i]]; printf("云A-%c%c%c%c%c\n",num2[0],num2[1],num2[2],num2[3],num2[4]); return 0; }