此次做業屬於哪一個課程 | C語言程序設計 |
---|---|
此次做業要求在哪 | 要求 |
我在這個課程的目標是 | 學會運用字符排序 |
這個做業在那個具體方面幫助我實現目標 | 字符串的計數和排序 |
參考文獻 | c語言教科書和大佬博客 |
6-1 求兩數平方根之和 (10 分)數組
函數fun的功能是:求兩數平方根之和,做爲函數值返回。例如:輸入12和20,輸出結果是:y = 7.936238。
函數接口定義:函數
double fun (double *a, double *b);
其中 a和 b是用戶傳入的參數。函數求 a指針和b 指針所指的兩個數的平方根之和,並返回和。
裁判測試程序樣例:學習
#include<stdio.h> #include <math.h> double fun (double *a, double *b); int main ( ) { double a, b, y; scanf ("%lf%lf", &a, &b ); y=fun(&a, &b); printf ("y=%.2f\n", y ); return 0; } /* 請在這裏填寫答案 */
輸入樣例:測試
12 20
輸出樣例:設計
y=7.94
代碼3d
double fun (double *a,double *b) { double s; s=sqrt(*a)+sqrt(*b); return s; }
7-1 利用指針返回多個函數值 (30 分)指針
讀入n個整數,調用max_min()函數求這n個數中的最大值和最小值。
輸入格式:
輸入有兩行: 第一行是n值; 第二行是n個數。
輸出格式:
輸出最大值和最小值。
輸入樣例:code
5 8 9 12 0 3
輸出樣例:
在這裏給出相應的輸出。例如:blog
max = 12 min = 0
代碼排序
#include<stdio.h> void max_min(int a[],int n,int *pmax,int *pmin); int main () { int n,i,a[n],max,min; int *pmax,*pmin; scanf("%d",&n); for(i=0;i<n;i++) scanf("%d",&a[i]); *pmax=&max; *pmin=&min; printf("max = %d\nmin = %d",max,min); return 0; } void max_min(int a[],int n,int *pmax,int *pmin) { int i,j,max,min,s; for(i=1;i<n;i++) for(j=0;j<n-i;j++) if(a[j]>a[j+1]){ s=a[j]; a[j]=a[j+1]; a[j+1]=s; } *pmax=a[n-1]; *pmin=a[0]; }
周/日期 | 這周所花的時間 | 代碼行 | 學到的知識點簡介 | 目前比較困惑的問題 |
---|---|---|---|---|
3/9-3/15 | 3d | 100 | 文件創建及其文件的利用 | 無 |
3/15-3/18 | 4d | 150 | 二位數組和暴力解法 | 最大子數組最優的解法是什麼,如何下降時間複雜度 |
3/18-3/19 | 5d | 250 | 選擇排序法 | 我沒有徹底消化選擇排序法的思路 |
3/25-3/29 | 5d | 250 | 冒泡排序不會 | 指針也不會 |
3/29-4/5 | 5d | 300 | 指針的具體用法 | 函數和指針的結合 |