如何用c语言实现:定义一个1~100的int数组,随机从里边选择十个数字? C语言中,有一个数组是随机的1到100的数字

作者&投稿:卜栏 (若有异议请与网页底部的电邮联系)
#include<stdio.h>
void insert(int *a, int *p){
int m,i,e;
printf("插入位置:(0<m<%d)",*p);
scanf("%d", &m);
printf("插入元素的值:");
scanf("%d", &e);
for(i = *p; i >= m ; --i)
a[i] = a[i - 1];
a[m-1] = e;
(*p)++;
}

void sort(int *a, int *p){
int i,j,temp;
for(i = 0; i<*p-1; ++i)
for(j = 0; j<*p-i-1; ++j){
if(a[j] > a[j+1]){
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}

}
void delet(int *a, int *p){
int i,m;
printf("删除第几个元素:(0<m<%d)",*p);
scanf("%d", &m);
for(i = m; i <= *p; ++i)
a[i-1] = a[i];
(*p)--;

}

void input(int *a, int *p){
int m,i;
printf("输入元素个数");
scanf("%d",&m);
for(i = 0; i<m; ++i)
scanf("%d",&a[i]);
*p=m;
}

void display(int *a, int *p){
int i;
for(i = 0; i < *p; ++i)
printf("%5d",a[i]);
printf("\n");
}

void main( )
{
int a[10],n=0,m;
do{
printf("1,输入数组\n""2,插入数据\n""3,显示数组\n""4,删除数据\n""5,数组排序\n""0,退出\n");
scanf("%d",&m);
switch(m){
case 1:input(a,&n);
display(a,&n);
break;
case 2:insert(a,&n);
display(a,&n);
break;
case 3:display(a,&n);
break;
case 4:delet(a,&n);
display(a,&n);
break;
case 5:sort(a,&n);
display(a,&n);
break;

}
}while(m);
}
粗糙做了做 vc下可运行

/////////////下面是运行效果和代码,有防止重复选择相同位置数的功能///////////////////////////////
生成100个随机数:
a[ 0]= 6 a[ 1]= 70 a[ 2]= 67 a[ 3]= 62 a[ 4]= 46
a[ 5]= 93 a[ 6]= 73 a[ 7]= 67 a[ 8]= 52 a[ 9]= 3
a[10]= 63 a[11]= 88 a[12]= 56 a[13]= 51 a[14]= 98
a[15]= 63 a[16]= 87 a[17]= 75 a[18]= 49 a[19]= 93
a[20]= 53 a[21]= 37 a[22]= 21 a[23]= 20 a[24]= 56
a[25]= 8 a[26]= 90 a[27]= 8 a[28]= 49 a[29]= 86
a[30]= 83 a[31]= 20 a[32]= 13 a[33]= 27 a[34]= 80
a[35]= 86 a[36]= 65 a[37]= 89 a[38]= 33 a[39]= 83
a[40]= 57 a[41]= 54 a[42]= 82 a[43]= 52 a[44]= 63
a[45]= 15 a[46]= 37 a[47]= 46 a[48]= 98 a[49]= 98
a[50]= 91 a[51]= 79 a[52]= 69 a[53]= 39 a[54]= 11
a[55]= 74 a[56]= 22 a[57]= 14 a[58]= 36 a[59]= 59
a[60]= 22 a[61]= 55 a[62]= 65 a[63]= 34 a[64]= 79
a[65]= 46 a[66]= 90 a[67]= 53 a[68]= 23 a[69]= 1
a[70]= 92 a[71]= 92 a[72]= 43 a[73]= 48 a[74]= 72
a[75]= 69 a[76]= 16 a[77]= 96 a[78]= 65 a[79]= 48
a[80]= 21 a[81]= 91 a[82]= 83 a[83]= 12 a[84]= 17
a[85]= 43 a[86]= 52 a[87]= 58 a[88]= 2 a[89]= 95
a[90]= 29 a[91]= 95 a[92]= 30 a[93]= 74 a[94]= 80
a[95]= 33 a[96]= 32 a[97]= 3 a[98]= 81 a[99]= 66
在第5次选择随机数时,a[6]已被选过!重新选择!

100个随机内随机选10个数:
a[ 0]= 6 a[11]=88 a[64]=79 a[ 6]=73 a[89]=95
a[ 6]=73 a[58]=36 a[49]=98 a[35]=86 a[25]= 8
Press any key to continue
#include "stdio.h"
#include "stdlib.h"
#include "time.h"

main()
{
int i,k,tmp,flag,a[100],b[10]={0};
srand((unsigned)time(NULL));
for (i=0;i<100;i++)
{
a[i]=rand()%100+1;
}
printf("生成100个随机数:\n");
for (i=0;i<100;i++)
{
printf("a[%2d]=%3d ",i,a[i]);
if ((i+1)%5==0)
{
printf("\n");
}
}

for (i=0;i<10;i++)
{
tmp = rand()%100;
for (k=0;k<i;k++)
{
flag = 0;
if (b[k]==tmp)
{
flag = 1;
printf("在第%d次选择随机数时,a[%d]已被选过!重新选择!\n",i,tmp);
}
else
flag = 0;
}
if (flag==0)
{
b[i] = tmp;
}
if (flag==1)
{
i--;
}

}
printf("\n100个随机内随机选10个数:\n");
for (i=0;i<10;i++)
{
printf( "a[%2d]=%2d ",b[i],a[b[i]]);
if ((i+1)==5)
printf("\n");
}
printf("\n");
}

#include<iostream>
#include <Windows.h>
using namespace std;

int main()
{
cout<<GetTickCount()%100<<endl;
return 0;
}
这个可以得到一个0~99的数字,你可以当数组下标从数组里取值

百度一下 里面有你需要的答案

C语言中随机产生10个1-100的整数的数组的代码~

利用系统流失时间做种子,产生随机数
#include
#include
using namespace std;

int main()
{
srand(time(0));
int result[10];
for(int i = 0; i < 10; i++)
{
result[i] = rand() % 100;
cout << result[i] << " ";
}

return 0;
}


产生伪随机数:
#include
#include
using namespace std;

int main()
{
srand(100);
int result[10];
for(int i = 0; i < 10; i++)
{
result[i] = rand() % 100;
cout << result[i] << " ";
}

return 0;
}

二楼说的对,我补充下
最好要把B[]里面先全部赋值为0
这样运行完了就知道有几个数小于等于55,否则里面的数全部是随机的
int b[100];
for(int ii;ii<100;ii++)
{
b[ii]=0;
}
int j=0;
for(i=0;i<=100;i++)
{
if(a[i]<=55)
{
b[j]=a[i];
j++;
}
}

如何用c语言实现:定义一个1~100的int数组,随机从里边选择十个数字?
答:void insert(int *a, int *p){ int m,i,e;printf("插入位置:(0<m<%d)",*p);scanf("%d", &m);printf("插入元素的值:");scanf("%d", &e);for(i = *p; i >= m ; --i)a[i] = a[i - 1];a[m-1] = e;(*p)++;} void sort(int *a, int *p){ int i,j,tem...

c语言 编写一个程序 1-1/2+1/3-1/4+1/5……-1/99+1/100用while语句!
答:intmain(){ intfm=0;floatsum=0.0;for(fm=1;fm<=100;fm++){ if(fm%2!=0){ sum+=1.0/fm;} else { sum-=1.0/fm;} } printf("sum=%f\n",sum);return0;}

请问一下,如何用C语言实现一个1~99自然数的数列
答:以下是使用C语言实现一个1~99自然数的数列的示例代码:在这个代码中,我们使用了for循环来遍历1~99的自然数,并使用printf函数来输出这些数。需要注意的是,printf函数中的"\n"是一个转义字符,用于在输出的末尾添加一个换行符。♡♡ 有帮助到的话,麻烦采纳哦!♡♡

求用C语言循环程序实现1 123 12345 1234567 12345 123 1组成一个菱形...
答:j=0,k=LENGTH,l=0; //k为第一行数字前的空格数,也是最多的空格for(i=0;i<2*LENGTH;i++) //一共输出2*LENGTH-1行{if(i<=LENGTH) //如果输入没有过一半{for(l=0;l<k;l++) //输出数字前面的空格printf(" ");

你好,怎样用c语言输出一个1到100的随机数
答:number[0] = rand() % n; //第一个随机数无需比较 cout << number[0] << " ";for (int i = 1; i < n; i++) //其余随机数循环产生 { int j = 0;number[i] = rand() % n;while (1){ if (number[i] == number[j]) //若有相同则继续循环重新安排随机数 ...

C语言题目:定义一个一维数组,并给数组赋值
答:1 定义数组;2 给定初始化值;3 打印初始化值;4 循环输入,并赋值给数组;5 输出赋值后的数组。代码:int main(){ int a[5]={1,2,3,4,5}; int i,n; for(i = 0; i < 5; i ++) printf("%d ", a[i]); printf("\n"); for(i = 0; i < 5; i ++...

C语言中如何定义一个从1~7的随机数。
答:在C语言中,是如何取得这个随机数的?一个语句:rand();它的作用就是随机取0到RAND_MAX之间的任何数。ANSI标准指出,RAND_MAX值的范围到少是32767,也就是双字节整数的最大值。 下面我们用一个例子来取得从1到6的随机整数:include <stdio.h> include <stdlib.h> main(){ int i;for(i=1...

c语言定义一个数组a【1000】,输入一些数字,要求:间隔5个数字输出一个数...
答:printf("输入数字,以输入-1表示结束:\n");for(i=0;i<1000;i++){ scanf("%d",&a[i]);if(a[i]==-1)break;} j=i;t=a[0];for(i=0;i<j;i++){ if(k%5==0){ printf("%d ",a[i]);for(r=j-1;r>=0;r--){ b[r]=a[i]%2;a[i]=a[i]/2;} for(m=...

c语言如何编写从1加到n的程序?可输入的n的那种,谢谢了
答:include<stdio.h> int main(){ int n,i;int sum=0;printf("请输入要累加的数字n:");scanf("%d",&n);for(i=0;i<=n;i++){ sum=sum+i;} printf("累加的和为%d",sum);return 0;}

c语言如何定义一个单项列表
答:include<iostream>using namespace std;struct A{int x;A *next;};A *Head;//头指针int k=0;//记录创建链表个数A *J_L();//创建链表void B_J(A *head,int x);//比较大小void show(A *head);//输出void main(){A *t;t=J_L();B_J(t,k);show(t);}void B_J(A *head,...