第六週做業

第六週做業

此次做業屬於哪一個課程 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 指針的具體用法 函數和指針的結合
相關文章
相關標籤/搜索