① c語言中怎樣從一串數字中提取一個數
可以先把這個數字改成一個字元串, 然後再把你要的第幾個數字提出來即可, 如:
int i = 12345;
char ch[10];
sprintf(ch, "%d", i); //把i輸出到字元串(和printf用法一樣)
printf("%c\n", ch[2]); //輸出這個字元串的第3個字元(下標是2)
就會輸出3
② C語言抽取隨機數怎麼編寫
源程序代碼以及演算法解釋如下:
產生1-10隨機數程序:
#include <iostream>
#include <time.h>
using namespace std;
int main()
{
const int n = 10;//定義隨機數個數
int number[n] = { NULL };//定義隨機數存儲的數組
srand((unsigned)time(NULL));//初始化隨機函數
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])//若有相同則繼續循環重新安排隨機數
{
number[i] = rand() % n;//產生隨機數
j = 0;//若遇到相同的就從頭遍歷
continue;
}
if (j == (i - 1))//若遍歷完就跳出
break;
j++;
}
cout << number[i] << " ";
}
cout << endl;
return 0;
}
程序運行結果如下:
(2)c語言從指定數抽取數擴展閱讀:
利用vector進行隨機數輸出:
#include <iostream>
#include <vector>
#include <time.h>
using namespace std;
int main()
{
const int n = 10;
int randnum;
vector<int> number;
for (int i = 0; i < n; i++)
{
number.push_back(i + 1);//從尾部添加元素
cout << number[i] << " ";
}
cout << endl;
srand((unsigned)time(NULL));
for (int j = 0; j < n; j++)//其餘隨機數循環產生
{
randnum = rand() % (n - j);//rand函數生成的隨機數是0-(n-1)
cout << number.at(randnum) << " ";
number.erase(number.begin() + randnum);
}
cout << endl;
return 0;
}
③ C語言編程:從字元串中提取數字
1、首先打開visual studio軟體,新建一個C語言文件,如下圖所示。
④ C語言中如何將一個數字的各個位上的數分別提取
#include<stdio.h>
int main()
{
int a;
int b[111]={0};//這里數組必須賦於初值,不然系統會隨機賦值,將輸出錯誤!賦值任何數
scanf("%d",&a);//都行!
int i=0;
while(a!=0)
{
b[i]=a%10;//將各個位的數賦值於數組b[i] ;
a/=10; //現在數組b[i]記錄的是各個位上的數的反序;
i++;//i記錄這個數是幾位數 ;
}
for(int j=i-1;j>=0;j--)
{
printf("%d ",b[j]);//最後反序輸出數組b[j];
}
return 0;
}
有不理解的地方,歡迎追問。望採納!
⑤ c語言中在給出的數據中隨機取數
#include
#include
#include
int
main(
)
{
int
i;
double
num
[10]=
{
1.2,
1.5,
3.5,
4.7,
2,
3,
4,
5,
6,
7
};
//
……
srand(
(unsigned)time(
NULL
)
);
//
先產生一個0
到
num-1
的隨機數,從你的數據數組中取那個就行了。
//
產生方法rand()
%
10,產生10以內隨機數。
//
比如下面產生10個隨機數,及其對應的你
的數據
for(
i
=
0;
i
<
10;i++
)
printf(
"i
=
%d,
num[i]
=
%lf\n",
rand()%10,
num[i]
);
return
0;
}
⑥ 怎麼讓c語言在規定的數據中抽取其中任意一個
#include<stdio.h>
#include<time.h>//當前時間做種子需要用
#include<stdlib.h>//隨機數需要用
intmain()
{
intnum={13,15,28,76,501};
srand(time(0));//隨機數種子
intrand=rand()%5;//生成0~4之間的隨機數
inta=num[rand];//隨機賦值
return0;
}
⑦ 如何用C語言實現 從指定的幾個數中隨機抽出一個數。這幾個數不是連續的,而是零散的。
M是指定的數的個數,nums[]存放需要的數
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#define M 10
int main()
{
int nums[M] = {1, 3, 5, 7, 9, 11, 13, 15, 17, 19};
srand((unsigned)time(0));
printf("%d\n", nums[rand()%M]);
}
⑧ 如何用c語言實現抽取隨機數
用標准c就可以實現
需要用到的兩個函數在包含在stdlib.h頭文件里,分別是
void rand ( unsigned int seed ); //設置隨機化種子
int rand ( void ); //產生0到RAND_MAX之間的隨機數,RAND_MAX是stdlib.h里定義的數字。
其實這兩個函數實現產生的是假隨機數,所以真正實現隨機還要藉助time.h裡面的函數time()。
具體可以參考下面的方法:
//產生0-9隻間的隨機數
#include<stdlib.h>
#include<stdio.h>
#include<time.h>
int Random()
{
srand(time(NULL));
return rand()%9;
}