① c語言中%100是什麼意思
是取反的意思
比如100
100在二進制中是01100100
取反操作就是按位取反
結果是10011011
如果你定義的不是無符號的話
那麼結果是個負數
~100就是-101
所以一般情況下取反加1就是原來那個數的負數
同理
~(-100)+1就等於100
② 如何在C語言中生成正態分布的隨機數,要源代碼~謝謝
隨機生成一百個1至100的隨機數。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 100
int main(int argc, char *argv[])
{
int i;
int a[N];
srand(time(NULL));
for(i=0;i<N;i++)
a[i]=rand()%100+1;
printf("生成的隨機數為:\n");
for(i=0;i<N;i++)
{
printf("%5d",a[i]);
if((i+1)%10==0)
printf("\n");
}
system("PAUSE");
return 0;
}
輸出結果如下:
生成的隨機數為:
41 15 82 1 23 51 16 96 92 17
86 71 87 69 74 5 50 18 42 52
46 34 52 18 40 74 79 35 22 36
65 94 80 91 18 72 61 79 4 11
61 30 95 55 11 19 38 87 78 52
95 30 99 53 99 99 10 79 70 33
91 85 10 99 47 58 93 41 19 71
56 60 10 24 73 87 18 38 13 73
57 22 91 4 37 60 67 58 85 48
46 7 57 100 73 96 60 44 24 23
請按任意鍵繼續. . .
③ c語言 輸出字元串中的數字
用字元的ASCII值來判斷。ASCII碼值不好記憶,但你可以用 單引號括起的 字元常量代替。
char s[100];
....
if ( (s[i]>= '0') && (s[i] <= '9')) { printf("it is digit\n");} -- 數字。
if ( (s[i]>= 'a') && (s[i] <= 'z')) {。。。。 } -- 小寫字母。
if ( (s[i]>= 'A') && (s[i] <= 'Z')) {。。。。 } -- 大寫字母。
----------------------
#include <stdio.h>
void main() {
char s[100];
int x[50];
int i,j,k,L,n;
scanf("%s",s);
L = strlen(s);
i=0;
for (j=0;j<L;j++){
if ( (s[j]>= '0') && (s[j] <= '9')) {s[i]=s[j]; i++;};
}
s[i]='\0';
L = strlen(s);
k = L / 3;
for (i=0;i<k;i++) sscanf(s+i*3,"%3d",&x[i]);
n = L % 3;
if (n!=0) i=k;
if (n==1){
x[i]= (s[k*3]-'0') * 100;
} else if (n==2) {
x[i]= (s[k*3]-'0') * 100 + (s[k*3+1]-'0') * 10;
};
for (i=0;i<k;i++) printf("%d ",x[i]);
if (n!=0) printf("%d ",x[k]);
}