第7次C練習

2021-08-11 11:26:39 字數 2693 閱讀 2053

1.如輸入:z2009-ashanghaiz

則輸出:lenth = 8;

事例說明:從a到z的子串為shanghai,其長度是8.

int get_a2z_length(char arr)}}

if(*arr) //沒有找到z時,arr指向'\0',arr不用+1

arr++;

}return len;

}

2.下面是某語言的計算字串hash值的演算法如下,如果字元『a』、『b』對應的ascii的值對應十進位制是97、98,

請回答控制台列印出的數值是多少_

typedef unsigned long uintptr_t;

uintptr_t nxstrhash (const void *data)

return hash;

};int main(void)

第一次輸出為 97

第二次輸出為97 << 8 ^ 98 = 97 * 256 + 98 = 24930

結果為24930

3.實現整數n(n<=10)的算式:n!+(n-1)!+(n-2)!…+3!+2!+1!

輸入 n = 3:結果 3!+2!+1! = 9

函式原型:int jiecheng_sum(int n);

int jiecheng_sum(int n)

void main(void)

4.給出三個正整數a, b, c,你可以在他們之間出入加號或者稱乘號以及括號將其變成乙個表示式。

比如給出1,2和3,你可以構造出:1+(2*3) = 7 等等

現在你需要構造乙個值最大的表示式,輸出這個值。

輸入:三個整數a, b, c. 大小為1~10。

輸出:表示式的值

例如:

輸入:1,2,3。

輸出:9。

#include 

#define add(a, b) ((a) + (b))

#define multi(a, b) ((a) * (b))

#define max(a, b) (a) > (b) ? (a) : (b)

//inline int add(int a, int b);

//inline int multi(int a, int b);

int max_expression_value(int , int , int );

int max_expression_value(int a, int b, int c)

/*inline int multi(int a, int b)

inline int add(int a, int b);

*/int main(void)

5.乙個陣列有n個元素,使用氣泡排序進行排序輸出。

輸入:整數n(1~1000),表示n個元素,n個整數,範圍在int型別範圍內,以空格分開

輸出:排序後的陣列,以空格分開,行末無空格

#include 

void bubble_sort(int

value, int len);

void bubble_sort(int

value, int len)

}while(flag && --len);

}int main(void)

; printf("請輸入元素個數(1~1000):");

scanf("%d", &num);

printf("請輸入%d個數: ", num);

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

scanf("%d", value + i);

bubble_sort(value, num);

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

printf(" %d", value[i]);

printf("\n");

return

0;}

6.找出乙個整數陣列中第二大的數,

66,66,66,66 則沒有第二大的數

99,99,86,32 第二大的數為86

int second_max_num(int num, int len)

else

if(num[i] < max && num[i] > secmax)

}if(flag)

printf("沒有第二大的數.\n");

return secmax;

}

7.一輛卡車違反交通規則,撞人後逃跑。現場有三人目擊事件,但都沒記住車號,至記落車號的一些特徵。

甲說:拍照的前兩位數字相同,

乙說:後兩位相同,但與之前兩位不同。

丙說:四位車號正好是乙個整數的平方。

根據以上線索求出車牌號。

void car_id(void)

}if(0 == flag)

printf("證人描述有誤.\n");

}

8.將會列印什麼?why?

main()

什麼也不列印。

因為p2隨著while();的完成,已經指向了這段空間第6個位元組,該位元組存放的是』\0』。

第6次C練習

1 寫一函式int fun char p 判斷一字串是否為回文,是返回1,不是返回0,出錯返回 1.例如 字串 123454321 就是回文字串 int fun char p 2 假設現有乙個單向的鍊錶,但是只知道只有乙個指向該節點的指標p,並且假設這個節點不是尾節點,試程式設計實現刪除此節點。節點...

c 第7次實驗

一 問題及 檔名稱 1.cpp 作 者 劉璇 完成日期 2016年6月4日 版 本 號 v1.0 對任務及求解方法的描述部分 定義乙個有10個的陣列a,將陣列a中的所有素數放在陣列b,再對陣列b排序。輸入描述 無 問題描述 運用函式對陣列進行排列,進行素數判斷,輸出陣列,在主函式中將a中的素數存入b...

C 第7次作業

專案二 最大公約和和最小公倍數 從鍵盤中輸入兩個整數,求這兩個整數的最大公約數和最小公倍數,最大公約數採用的演算法是輾轉相除法。其中編寫自定義函式實現求最大公約數和最小公倍數 由於要返回兩個結果,因為通過函式返回最小公倍數,通過引用返回最大公約數 include using namespace st...