C語言 百鍊成鋼14

2021-09-07 05:25:11 字數 2914 閱讀 5554

//

題目40:輸入3個數a,b,c,按大小順序輸出。(使用指標完成)  

#include

#include

//分析:用指標完成,說明不可以改變a,b,c的值,只是輸出的時候資料變化

//簡單的辦法:比較好a,b,c大小,在賦值給對應指標,

void

main9()

else

}//else說明c最大

}

else

else}}

printf(

"\n從大到小依次是%d

題目41:輸入陣列,最大的與第乙個元素交換,最小的與最後乙個元素交換,輸出陣列。

#include

#include

#include

//分析:這一題並非乙個簡單的氣泡排序,他的要求是找到最大元素在陣列的位置,並且和第乙個元素交換,別的元素不改變

//我們根據氣泡排序的思想,定義乙個變數,用來儲存下標,和陣列每個元素比較,發現有元素比初始元素大,就修改下標的值

void

main();

//定義時間變數

time_t ts;

//定義隨機數種子

printf("

原來的陣列\n");

srand((unsigned

int)time(&ts));

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

printf("\n

");//方法1(不夠簡單,定義的變數太多,用指標會更簡單)

//int maxindex = 0, minindex = 0;

////temp儲存最大值,temp1儲存最小值

//int temp = a[0],temp1 = a[0];

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

//

//if (a[i]//

//}////交換位置

//int te*** = 0;

//te*** = a[0];

//a[0] = a[maxindex];

//a[maxindex] = te***;

//te*** = a[9];

//a[9] = a[minindex];

//a[minindex] = te***;

//方法2(指標方式)

int *pmax=&a[0], *pmin=&a[0

];

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

if (a[i]

}//交換位置

//臨時變數存放最大值

int temp4 = *pmax;

//臨時變數存放最小值

int temp5 = *pmin;

//將a[0]的值交給最大的那個元素

*pmax = a[0

]; a[

0] =temp4;

//同理

*pmin = a[9

]; a[

9] =temp5;

printf(

"新的陣列\n");

題目42:有n個整數,使其前面各數順序向後移m個位置,最後m個數變成最前面的m個數(使用指標完成)

#include

#include

#include

//分析:把最後的5個變數儲存起來,再將原來的元素每個向後移動m位

#define n 15

void

main();

//定義時間變數

time_t ts;

//定義隨機數種子

printf("

原來的陣列\n");

srand((unsigned

int)time(&ts));

for (int i = 0; i < n; i++)

printf("\n

");int *p =a;

int m=5

;

//定義乙個動態陣列,儲存m之後的變數

int *p1 =(int *)malloc(sizeof(int)*m);

for (int i =0; i < m; i++)

//移動前面的元素向後

//最後乙個元素是a[n-1],a[0]向後移動1為是a[1],a[0]向後移動2位是a[0+2];

//a[n]向前移動5位,就是a[n-5]

//錯誤,不能從前向後賦值,從前向後會將後面有用的一部分資料覆蓋了,必須從後往前賦值

/*for (int i = 0; i < n - m - 1; i++)

*/for (int i = 0; i < n; i++)

for (int i = 0; i < m; i++)

free

(p1);

printf(

"新的陣列\n");

C語言 百鍊成鋼4

題目10 列印樓梯,同時在樓梯上方列印兩個笑臉。define crt secure no warnings include include include 分析 樓梯,列印階梯形狀,涉及到行列,for迴圈 void main6 else x軸 題目11 古典問題 有一對兔子,從出生後第3個月起每個月...

C語言 百鍊成鋼11

題目31 請輸入星期幾的第乙個字母來判斷一下是星期幾,如果第乙個字母一樣,則繼續 判斷第二個字母。define crt secure no warnings include include include 分析 通過輸入的字母判定星期幾,可以使用if else void main scanf s s...

C語言 百鍊成鋼12

題目34 對10個數進行排序 include include 分析 使用氣泡排序 void main 定義臨時變數 int temp 0 氣泡排序 雙迴圈 題目35 求乙個3 3矩陣對角線元素之和 define crt secure no warnings include include 分析 就是...