发布网友
共5个回答
热心网友
这对于初学者还真不简单;要产生真正的随机数,必须用时间函数初始化随机种子,还有相应提示等。你参考下下面的代码:
#include<stdio.h>
热心网友
srand(time(0));
int a[20];
for(int i=0;i<20;i++)
{
a[i]=rand()%100;
}
for(int i=10;i<20;i+=2)
{
if(a[i]<a[i+1])
{
int t=a[i];a[i]=a[i+1];a[i+1]=t;
}
}
int score =0;
for(int i=0;i<20;i+=2)
{
char c=i<10?'+':'-';
printf("%d%c%d=几?\n",a[i],c,a[i+1]);
int x;
scanf("%d",&x);
if( (i<10&x=a[i]+a[i+1]) | (i>=10&x=a[i]-a[i+1]) )
{
score+=10;
cout<"回答正确"<<endl;
}
else cout<"回答错误"<<endl;
}
switch(score)
{
case 0:
case 10:
case 20:
case 30:
case 40:
case 50:cout<<"要加油哦"<<endl;break;
case 60:
case 70:
case 80:cout<<"真不错哦"<<endl;break;
case 90:cout<<"你真棒"<<endl;break;
case 100:cout<<"酷毙了"<<endl;break;
default:;
}
热心网友
#include <stdlib.h>
#include <stdio.h>
int main()
{
int a[20];
int i;
for(i = 0;i < 20;i++)
{
a[i] = rand() % 100;
}
retunr 0;
}
仅此提示到这里,以上只是随机产生20个小于一百的整数并放入a[20]这个数组。后面的应该很容易的!
热心网友
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void rnd(int m, int *a, int n)
{
int *p = (int*)malloc(m*sizeof(int));
int i,t;
for(i=0;i<m;i++)p[i]=i;
for(i=0;i<n;i++)
{
t=rand()%m--;
a[i]=p[t];
p[t]=p[m];
}
free(p);
}
int main()
{
int a[20],i;
srand(time(0));
rnd(21,a,20);
for(i=0;i<20;i++)printf("%d ",a[i]);
}
热心网友
你太懒了,这么简单,动动手吧追问不会诶,不是懒