查詢問題
字串輸入與轉換
刪除字串中的空格
選擇法排序
輸入:第一行給出乙個不超過10的正整數n。第二行給出n個整數,其間以空格分隔。
輸出:在一行中輸出從大到小有序的數列,相鄰數字間有乙個空格,行末不得有多餘空格。
核心:從頭開始,找出其後所有數中的最大值,並將該值換到最前面
#include
#define n
10void
swap
(int *a,int *b)
;int main()
//從第乙個數開始,與其後的數依次比較;比較至倒數第二個數即可
for( i=
0; i1; i++
)swap
(&a[index]
,&a[i]);
}for
( i=
0; i)return0;
}void
swap
(int *a,int *b)
//傳入指標
冒泡法排序(公升序)
核心:每一趟都通過兩兩交換,將最大值換到最右邊
for
( i=
1; i}
二分查詢法
思路:與中值比較,找到 / 中值左片區 / 中值右片區
left =0;
right = n-1;
//最大陣列下標
while
( left<=right )
printf
("%d\n"
,mid)
;
十六進製制字串轉換成十進位製非負整數
輸入:在一行中給出乙個不超過80個字元長度的、以#結束的非空字串。
輸出:第1行中輸出已濾去所有非十六進製制字元(不區分大小寫)的字串。 在第2行中輸出轉換後的十進位制數。題目保證輸出結果在長整型範圍內。
重點:
輸入以某字元結尾的字串:(a[i]=getchar()) != 『#』
將字串轉換成整數:尤其注意數字需要減去』0』,不能直接用
char a[n]
, b[n]
;//已定義n為80
int i=
0, j=0;
int factor =1;
long long result =0;
while
((a[i]
=getchar()
)!='#')
i++;}
for( j=j-
1; j>=
0; j--
)printf
("%s\n"
, b)
;printf
("%lld"
, result)
;
大小字母轉換
重點:
小寫轉大寫—— -『a』+『a』
大寫轉小寫—— -『a』+『a』
[例1](使用1個陣列)
i =0;
while
((str[i]
=getchar()
)!='\0'
)else
if(str[i]
>=
'a'&& str[i]
<=
'z')
i++;}
[例2](使用2個陣列)
i =0;
while
((str1[i]
=getchar()
)!='\0'
)else
if(str1[i]
>=
'a'&& str1[i]
<=
'z')
else
i++;}
str2[i]
='\0'
;
電碼加密之指標的應用
要求:小寫字母z變換成為a,其他字母變換成為該字母ascii碼順序後一位的字母,比如o變換成為p。
裁判測試程式樣例:
#include
# include
# define maxline
80void
encrypt
( char *s)
;int main
(void
)/* 請在這裡填寫答案 */
解答
void
encrypt
( char *s)
}
使用1個陣列
不要忘了給新字串乙個結尾』\0』
i = j =0;
while
((str[i]
=getchar()
)!='\0'
) i++;}
str[j]
='\0'
;//把str陣列下標為j及其之後的內容截掉
使用2個陣列
不要忘了給新字串乙個結尾』\0』
i = j =0;
while
((str1[i]
=getchar()
)!='\0'
) i++;}
str2[j]
='\0'
;//給新陣列乙個結尾
C語言程式設計(第3版)習題3
3.1 分析並寫出下列程式的執行結果。3.2 參考例3.1程式,從鍵盤任意輸入乙個3位整數,程式設計計算機並輸出它的逆序數 忽略整數前的正負號 例如,輸入 123,則忽略負號,由123分離出其中百位1 十位2 個位3,然後計算3100 210 1 321,並輸出321。3.3 設銀行定期存款的年利率...
C語言程式設計(第3版)習題4
4.1 分析並寫出下面程式的執行結果。3 假設程式執行時輸入123456.include main 4.2 分析下面程式,請指出錯誤的原因和程式錯在 並改正錯誤。include main 改 include main 4.3 填空題。1 要使下面的程式螢幕顯示1,2,34,則從鍵盤輸入的資料格式應為...
浙大版《C語言程式設計(第3版)》習題2 5
本題要求編寫程式,計算平方根序列 1 2 3 的前n項之和。可包含標頭檔案math.h,並呼叫sqrt函式求平方根。輸入格式 輸入在一行中給出乙個正整數n。輸出格式 在一行中按照 sum s 的格式輸出部分和的值s,精確到小數點後兩位。題目保證計算結果不超過雙精度範圍。輸入樣例 10輸出樣例 sum...