真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

c語言保姆級筆記五-創(chuàng)新互聯(lián)

字符串處理函數(shù)

為大理州等地區(qū)用戶提供了全套網(wǎng)頁設計制作服務,及大理州網(wǎng)站建設行業(yè)解決方案。主營業(yè)務為網(wǎng)站建設、網(wǎng)站設計、大理州網(wǎng)站設計,以傳統(tǒng)方式定制建設網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

其實c語言中提供了字符串處理的相應函數(shù),我們直接調(diào)用即可

求字符串長度 strlen //string length

字符串copy strcpy //string copy

字符串連接 strcat

字符串比較 strcmp //string compare

例:

#include

#include

int main()

{

chara[] = "hello";

printf("lenis %d\n", strlen(a)); //打印字符串長度 (strlen(a) 可以求字符串長度)

charb[100] = { 0 };

strcpy(b, a); //strcpy 能將a copy 給 b

char c[100] ="world";

printf("bis %s\n", b); //????? Hello

strcat(b, c); //strcat 能將c連接到b后面 (字符串連接)

printf("bis %s\n", b); //b ????? helloworld

}

strcmp 比較字符串時,strcmp(s1,s2),

如果s1 >s2返回1,s1< s2 返回-1,s1 =s2返回0

"abcd">"abc"

"abcd"< "bc" //字符串比較先比第一個字母, 'a'< 'b' 那么 "abcd"< "bc"

"abcd">"ABCD" //'a'(97) >'A'(65)

"abcd">"1234" //'a'(97) >'1'(49)

例:

#include

#include

int main()

{

inta = strcmp("abcd", "abc");

printf("abcdabc %d\n", a);

printf("abcdbc %d\n", strcmp("abcd", "bc"));

printf("abcdABCD %d\n", strcmp("abcd", "ABCD"));

printf("abcdabcd %d\n", strcmp("abcd", "abcd"));

}

練習3

將字符串char a[] = "Hello World!"中的小寫字母轉(zhuǎn)大寫

#include

int main()

{

chara[] = "Hello World!";

inti = 0;

while(a[i]!= '\0')

{

if(a[i]>= 'a' && a[i]<= 'z')

{

a[i]= a[i] - 32;

}

i++;

}

printf("%s\n",a);

}

一維數(shù)組

int a[5];

int a[5] = {1,2,3,4,5}; //定義數(shù)組同時初始化

char b[5];

float c[5];

sizeof(a) ? 20 (每個是int 5個)

sizeof(b) ? 5

sizeof(c) ? 20

for(i = 0; i< 5; i++)

{

a[i]= i;

}

字符串

"hello"------>sizeof("hello") ? 6

char s[] = "hello"; //用字符數(shù)組存字符串

printf("%s\n", s); //%s 表示輸出一個字符串

scanf("%s", s); //輸入的時候不要寫

3 作業(yè)講解

練習

1. 圍繞著山頂有10個圓形排列的洞,狐貍要吃兔子,

兔子說:“可以,但必須先找到我,我就藏身于這十個洞中的某個洞。

你從1號洞找,下次隔1個洞(即3號洞)找,第三次隔2個洞(即6號洞)找,

再隔3個…以后在這個圓圈中如此類推,次數(shù)不限?!钡倧脑绲酵磉M進出出了1000次,仍沒有找到兔子。

問:兔子可能在哪個洞里?

思路: 定義一個有10個元素的數(shù)組,初始值全是0,狐貍進某個洞(可以通過計算數(shù)組下標),進入一個值為1

1000之后,可能有n個洞被進入,n個1

從第一個洞開始,檢索是否還為0,是0的,輸出

#include

int main()

{

inta[10] = { 0 };

inti, j = 0; //i 是隔的洞數(shù),j是進入的洞號(從0開始)

for(i= 1; i<= 1000; i++)

{

a[j]= 1;

j= j + i + 1; //隔i個洞,最后j是洞號

j= j % 10;

}

for(i= 0; i< 10; i++)

{

if(a[i]== 0)

printf("%d\n",i + 1);

}

}

/*

//1. 消除一句話中所有的原音字母,例如

//I am a student!

// 輸出: m stdnt!

#include

#include

int main()

{

chars[] = "I am aaa student";

inti, j;

intlen = strlen(s); //先求出字符串長度,為了后面移動用

for(i= 0; i< len; i++)

{

if(s[i]== 'A' || s[i] == 'a' || s[i] == 'E' || s[i] == 'e'

||s[i] == 'I' || s[i] == 'i' || s[i] == 'O' || s[i] == 'o'

||s[i] == 'U' || s[i] == 'u')

{

for(j= i; j< len; j++) //后面的都往前移

{

s[j]= s[j + 1];

}

i--; //為了避免出現(xiàn)連續(xù)的元音字母

}

}

printf("%s\n",s);

}

二維數(shù)組(存儲矩陣)

如果存儲 (這些數(shù)有3行 4列)

1 2 3 4

5 6 7 8

9 1011 12

如果存儲,有行,有列的數(shù),就用二維數(shù)組

int a[3][4]; //3 行 4 列

同時也可以

int a[3][4] = {{1,2,3,4}, {5,6,7,8},{9,10,11,12}}; //也可以int a[3][4] ={1,2,3,4,5,6,7,8, 9,10,11,12}};

a[0][0] 第一行第一列

a[0][1] 第一行第二列

a[1][1] 第二行第二列

a[2][3] 第三行第四列

a[3][4] 第四行第五列 (不存在)

//數(shù)組用2重for 循環(huán)賦值

例: 如何輸出二維數(shù)組所有元素

#include

int main()

{

inti, j;

inta[3][4] = {{1,2,3,4}, {5,6,7,8},{9,10,11,12}};

for(i= 0; i< 3; i++)

{

for(j= 0; j< 4; j++)

{

printf("%5d",a[i][j]);

}

printf("\n");

}

}

練習

1. 查詢一個二維數(shù)組當中是否存在某個數(shù),如果存在計算有多少個這樣的數(shù)

int a[3][4] = {{1,2,3,4},{5,3,7,8},{9,10,11,12}};

3---->2

5---->1

6---->0

#include

int main()

{

inti, j, x, n = 0;

inta[3][4] = {{1,2,3,4}, {5,3,7,8},{9,10,11,12}};

scanf("%d",&x);

for(i= 0; i< 3; i++)

{

for(j= 0; j< 4; j++)

{

if(a[i][j]== x)

{

n++;

}

}

}

printf("nis %d\n", n);

}

2. 求兩個矩陣之和放在第三個矩陣中(3行4列)

inta[3][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}};

intb[3][4] = {{1,1,1,1},{2,2,2,2},{3,3,3,3}};

#include

int main()

{

inti, j;

inta[3][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}};

intb[3][4] = {{1,1,1,1},{2,2,2,2},{3,3,3,3}};

intc[3][4];

for(i= 0; i< 3; i++)

{

for(j= 0; j< 4; j++)

{

c[i][j]= a[i][j] + b[i][j];

}

}

for(i= 0; i< 3; i++)

{

for(j= 0; j< 4; j++)

{

printf("%5d",c[i][j]);

}

printf("\n");

}

}

二維數(shù)組的初始化

完全初始化(所有元素都賦初值)

int a[3][4] ={{1,2,3,4},{5,6,7,8},{9,10,11,12}};

部分初始化(未賦初值的,默認為0)

int a[3][4] = {{1,2}, {5}, {9,10,11}};

a[0][0] -->1

a[0][1] -->2

a[0][2] -->0

a[1][0] -->5

a[1][1] -->0

....

省略行數(shù)(行數(shù)不寫,編譯器能自動計算出行數(shù)是3)

int a[][4] ={{1,2,3,4},{5,6,7,8},{9,10,11,12}};

不可以這樣

int a[3][] ={{1,2,3,4},{5,6,7,8},{9,10,11,12}}; //錯,列不可以省略

int a[3][] = {{1,2}, {5}, {9,10,11}}; //如果這樣寫,編譯器就不知道有多少列

3. 輸出楊輝三角形 輸出10階即可

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

1 6 15 20 15 6 1

思路:可以用一個有10行10列的二維數(shù)組, 第一列固定值 1

計算 a[i][j] = a[i - 1][j] + a[i - 1][j - 1];

#include

int main()

{

inta[10][10] = {{1},{1},{1},{1},{1},{1},{1},{1},{1},{1}};

inti,j;

for(i= 1; i< 10; i++)

{

for(j= 1; j< 10; j++)

{

a[i][j]= a[i - 1][j - 1] + a[i - 1][j];

}

}

for(i= 0; i< 10; i++)

{

for(j= 0; j< 10; j++)

{

if(a[i][j]!= 0)

printf("%5d",a[i][j]);

}

printf("\n");

}

}

///如何產(chǎn)生隨機數(shù): 未知的數(shù)

例:

#include

int main()

{

while(1)

{

inta = rand() % 35 + 1; //rand 能產(chǎn)生隨機數(shù)

printf("ais %d\n", a);

getchar(); //等按下回車鍵

}

}

驗證,并調(diào)出bug(重復運行)

面試題: c語言如何產(chǎn)生隨機數(shù)? (rand函數(shù))

rand 是真隨機數(shù)還是偽隨機數(shù) ? (偽隨機數(shù))

為什么是偽隨機數(shù)? rand 是通過一個計算公式算出的隨機數(shù),并且通過一個隨機種子算的

默認隨機種子是1,所以隨機數(shù)序列總是一樣的

處理隨機數(shù): 用一個不同的隨機種子

#include

int main()

{

srand(5); //srand 能為rand函數(shù)提供一個隨機種子

while(1)

{

inta = rand() % 35 + 1; //rand 能產(chǎn)生隨機數(shù)

printf("ais %d\n", a);

getchar(); //等按下回車鍵

}

}

改進

#include

int main()

{

intn;

scanf("%d",&n);

srand(n); //srand 能為rand函數(shù)提供一個隨機種子

while(1)

{

inta = rand() % 35 + 1; //rand 能產(chǎn)生隨機數(shù)

printf("ais %d\n", a);

getchar(); //等按下回車鍵

}

}

繼續(xù)改進,種子應該是誰都不知道的,變化的

#include

int main()

{

while(1)

{

inta = time(0); //從1970.1.1 0:0:0到目前經(jīng)過的秒值

printf("ais %d\n", a);

getchar();

}

}

#include

int main()

{

srand(time(0)); //srand 能為rand函數(shù)提供一個隨機種子, srand只執(zhí)行一次即可

while(1)

{

inta = rand() % 35 + 1; //rand 能產(chǎn)生隨機數(shù)

printf("ais %d\n", a);

getchar(); //等按下回車鍵

}

}

1. 隨機生成一個1-10的數(shù),讓對方猜5次,如果猜對了,提示"congratulations !!"

如果猜錯了,提示"bigger" 或 "smaller"

#include

int main()

{

srand(time(0)); //srand 能為rand函數(shù)提供一個隨機種子, srand只執(zhí)行一次即可

inta = rand() % 10 + 1;

inti, n;

for(i= 0; i< 5; i++)

{

scanf("%d",&n);

if(n>a)

printf("bigger\n");

elseif(n< a)

printf("smaller\n");

else

{

printf("congratulations!!\n");

break; //結(jié)束整個循環(huán)

}

}

}

2. 中國福利彩票35選7

隨機生成1-35內(nèi)不重復的7個數(shù)字

然后讓用戶選擇自己的一組號碼

中獎規(guī)則:猜中

7個500萬

6個100萬

5個1萬

4個5000

3個500

0,1,2個沒中獎

分步:

1. 產(chǎn)生7個隨機數(shù)(隨機數(shù)用數(shù)組存) , 最好不重復(后做)

2. 輸入7個數(shù)

3. 交叉比較,計算出中了幾個

4. 計算中獎規(guī)則

#include

int main()

{

inta[7] = { 0 }, b[7] = { 0 };

inti, j, c = 0;

srand(time(0));

for(i= 0; i< 7; i++) //產(chǎn)生7個隨機數(shù)

{

a[i]= rand() % 35 + 1;

//去重復(每個新出的數(shù)和原來的數(shù)比較 )

for(j= 0; j< i; j++)

{

if(a[i]== a[j])

{

i--;

break;

}

}

}

printf("pleaseinput 7 number:"); //輸入7個數(shù)

scanf("%d%d%d%d%d%d%d",&b[0], &b[1], &b[2], &b[3], &b[4], &b[5], &b[6]);

printf("rand:%d %d %d %d %d %d %d\n", a[0], a[1], a[2], a[3], a[4], a[5], a[6]);

for(i= 0; i< 7; i++) //交叉比較中了幾個數(shù)

{

for(j= 0; j< 7; j++)

{

if(b[i]== a[j])

{

c++;

break;

}

}

}

printf("cis %d\n", c);

switch(c) //判斷中獎規(guī)則

{

case7:

printf("500wan\n");

break;

case6:

printf("100wan\n");

break;

case5:

printf("1wan\n");

break;

case4:

printf("5000\n");

break;

case3:

printf("500\n");

break;

default:

printf("sorryagain\n");

break;

}

}

你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧


本文標題:c語言保姆級筆記五-創(chuàng)新互聯(lián)
標題網(wǎng)址:http://weahome.cn/article/ppdps.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部