求助C语言 怎样从1-30抽取自选数目

供稿:hz-xin.com     日期:2025-01-15
C语言中数字的提取

int x;
123456 取个位:x=123456%10
取白位:x=(123456%100)/10

1234.56 小数点后面的第一位: x=((int)(1234.56*10))%10
1234.56 小数点后面的第二位: x=((int)(1234.56*100))%10

#include"stdio.h"
//#include"string.h"
//#include "iostream"
//using namespace std;
void f1(int i,double *a,double x)
{

a[i] = a[i-1]*x;
i++;
if(i<10)
{
f1(i,a,x);
}
}
void f2(int i,double *b)
{
b[i] = b[i-1]*i;
i++;
if(i<10)
{
f2(i,b);
}
}
void main()
{
double a[10];
double b[10];
double x,ans=0;
scanf("%lf",&x);
b[0]=1.0;
a[0]=1.0;
f1(1,a,x);
f2(1,b);
for (int i=0; i<10; i++)
{
ans+=a[i]/b[i];
}
printf("%lf
",ans);
}

从1到30中 取出不重复的随机数字。
最多取30个
rand()%30+1; 取1-30,包括1和30。
srand()保证每次运行都取新的系列。
程序如下:

#include <stdio.h>
#include <time.h>
#include <stdlib.h>
void main(){
int i,j,k,n,flag =0;
int d[30];

Lab1:
printf("Enter the number 1 to 30 \n");
fscanf(stdin,"%d",&n);
if ( n > 30 || n < 1){
printf("must 1-30\n");
goto Lab1;
}

srand( (unsigned)time( NULL ) );
d[0] = rand()%30+1;
k = 1;
while (k < n){
d[k] = rand()%30+1;
for (i=0;i<k;i++) {
if (d[k] == d[i]) flag = 1;
}
if (flag == 1) { flag =0; } else {k=k+1;};
}

for (i=0;i<n;i++) printf("%d ",d[i]);
}

#include<stdio.h>
#include<stdlib.h>
main()
{
int i,n;
printf("input a number(0-30):");
scanf("%d",&n);
for(i=0;i<n;i++)
printf("%d ",1+rand()%29);
printf("\n");
getch();
}

#include"stdio.h"
#include"time.h"
#include"stdlib.h"
void main(){
int i,j,k;
scanf("%d",&i);
srand( (unsigned)time( NULL ) ); //以当前时间做种
for(;i>0;i--)
{
j=rand()%29+1;
for(;j==k;)//避免连续出现相同的随机数
j=rand()%29+1;
k=j;
printf("%4d",j);
}
printf("\n");
}

求助C语言 怎样从1-30抽取自选数目
rand()%30+1; 取1-30,包括1和30。srand()保证每次运行都取新的系列。程序如下:include <stdio.h> include include <stdlib.h> void main(){ int i,j,k,n,flag =0;int d[30];Lab1:printf("Enter the number 1 to 30 \\n");fscanf(stdin,"%d",&n);if ( n > 30 || n <...

怎样从这样有规律的数据中提取 30 这个数据???用c语言实现,有劳大神...
int a=INT_MAX;while(scanf("%x",&a)&&a!=48);

怎么用C语言编程:1-30任选7个不同的数之和为100,输出这7个数,并文本保...
if(sum+s>100)return ;DFS(deep+1,sum+s,s+1);} } int main(){ freopen("C:\\\\a.txt","w",stdout);DFS(0,0,1);return 0;}

C语言编写程序1--30任选7个不同数和为100.输出这七个数。并文件保存结果...
int i1,i2,i3,i4,i5,i6,i7;int v[31];int x[8];int i,j,flag,k=0;FILE *fout;fout = fopen("abc.txt","w");for (i1=1;i1<=30;i1++)for (i2=i1+1;i2<=30;i2++)for (i3=i2+1;i3<=30;i3++)for (i4=i3+1;i4<=30;i4++)for (i5=i4+1;i5<=30;i5++)...

怎样用C语言编从1数到30的程序
测试可用:include <stdio.h> main(){ int i;for (i = 1;i <= 30;i ++){ printf ("%d",i);printf ("\\n");} } 希望回答对你有所帮助!

C语言题目,随机得到10个1-30的随机数,好像出了点问题运行不了,帮忙看下...
你好!你是忘记添加rand()函数对应的头文件了,在第二行里添加#include <stdlib.h>

怎样 在c语言中随机的输出1-53这几个数?
需要对获取过的随机数保存记录,在每获取一个新的随机数时,先判断是否获取过。如果获取过,那么抛弃;否则输出,并保存记录。当全部数据均输出后结束程序。代码如下:int main(){ int f[54]={0}; int n; int i; srand(time(NULL)); for(i = 0; i < 53; i ++) { ...

用C语言实现从1~22中随机抽取8个数的程序
{ int t = rand()%22; if(m[t]==0) { m[t] = 1; i++; } } for(i = 0; i < 22; i ++) if(m[i]) printf("%d ", i); printf("\\n"); return 0;}

c语言或JAVA编程:1、2、3班帅哥比例分别为30%、25%、10%,今随机在某班...
import java.util.*;public class BaiDu{public static void main(String[] args){System.out.println("现在在1班、2班、3班抽取一个人,请输入班级编号:");Scanner read=new Scanner(System.in);int n;n=read.nextInt();switch(n){case 1:System.out.println("1班帅哥比例为:30%");break...

c语言实现从一个数组中随机抽取一个元素
随机产生一个数,然后每次将数组元素的最后一个数与这个数交换,并且数组的长度减1。代码如下:include<stdio.h> include<stdlib.h> define N 100 int main(){ int a[N];int i,t,tag;for(i=0;i<N;i++)a[i] = i;tag = N-1;while(tag){ i = rand()%tag;t = a[i];a[i] ...