日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

第6周编程总结

發布時間:2023/12/20 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第6周编程总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這個作業屬于哪個課程C語言程序設計Ⅱ
這個作業要求在哪里https://edu.cnblogs.com/campus/zswxy/software-engineering-class2-2018/homework/2888
我在這個課程的目標是指針怎么使用更加方便,解決指針的簡單問題
這個作業在哪個具體方面幫助我實現目標使用指針解決問題,了解它的使用方法
參考文獻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; }/* 請在這里填寫答案 */ double fun (double *a, double *b) {double n; n=sqrt(*a)+sqrt(*b);return n; }

實驗思路

按照題目要求把double函數把指針來用到數學函數sqrt()中相加,然后返回n的值

流程圖


本題遇到的問題
基本沒什么
解決方法

正確截圖

7-1 利用指針返回多個函數值 (30 分)

讀入n個整數,調用 max_min()函數求這n個數中的最大值和最小值。
輸入格式:
輸入有兩行:第一行是n值; 第二行是n個數。
輸出格式:
輸出最大值和最小值。
輸入樣例:
在這里給出一組輸入。例如:

5 8 9 12 0 3

輸出樣例:
在這里給出相應的輸出。例如:

max = 12 min = 0

實驗代碼

#include<stdio.h> void max_min(int n,int *a); int main(){int n,i;scanf("%d",&n);int a[n];for(i = 0;i < n;i++){scanf("%d",(a+i));} max_min(n,a);return 0;}void max_min(int n,int *a){int t;for(int i=0;i<n-1;i++){for(int j=0;j<n-i-1;j++){if(*(a+j)<*(a+j+1)){t=*(a+j+1);*(a+j+1)=*(a+j);*(a+j)=t; }}}printf("max = %d\n", *(a));printf("min = %d\n", *(a + n - 1));}

實驗思路

輸入一個數組a[n],在自定義函數中定義一個變量來中轉,找出最大值和最小值

流程圖

本題遇到的問題
自定義函數老是出現錯誤,一開始沒有理解 scanf("%d",(a+i)),后面又去百度,這里是地址a+i,不需要&,
解決方法
去百度看了很多代碼,還去問了同學

正確截圖

錯誤截圖

6-3 最小數放前最大數放后 (10 分)

為一維數組輸入10個整數;將其中最小的數與第一個數對換,將最大的數與最后一個數對換;輸出數組元素。。
函數接口定義:

void input(int *arr,int n); void max_min(int *arr,int n); void output(int *arr,int n);

三個函數中的arr和 n都是用戶傳入的參數。 n 是元素個數。
input函數的功能是輸入 n個元素存到指針arr所指向的一維數組中。
max_min函數的功能是求指針arr所指向的一維數組中的最大值和最小值,其中最小的數與第一個數對換,將最大的數與最后一個數對換。
output函數的功能是在一行中輸出數組元素,每個元素輸出占3列。
裁判測試程序樣例:

#include<stdio.h> void input(int *arr,int n); void max_min(int *arr,int n); void output(int *arr,int n); int main() { int a[10]; input(a,10);max_min(a,10);output(a,10);return 0; }/* 請在這里填寫答案 */

輸入樣例:

5 1 4 8 2 3 9 5 12 7

輸出樣例:

1 5 4 8 2 3 9 5 7 12

實驗代碼

void input(int *arr,int n) {for(int i=0;i<n;i++)scanf("%d",&arr[i]);} void max_min(int *arr,int n) {int max,min,t;max=min=arr[0];for(int i=0;i<n;i++){if(max<arr[i])max=i;if(min>arr[i])min=i;}t=arr[max];arr[max]=arr[n-1];arr[n-1]=t;t=arr[0];arr[0]=arr[min];arr[min]=t; } void output(int *arr,int n) {for(int i=0;i<n;i++){printf("%3d",arr[i]);} }

實驗思路

定義三個函數,一個輸入一個數組arr[i],一個在自定義函數中找出最大最小值,把最大值賦給arr[9],最小值給arr[0],最后一個函數按照題目要求輸出

流程圖

本題遇到的問題
思路清晰,動手敲代碼的時候真的不知道怎么開始,
解決方法
詢問室友,仔細看了題目,然后慢慢嘗試

正確截圖

錯誤截圖

學習總結

學習感悟

有些題目要多去看題目要求,用相似的題目來理解思路
學習要多積累挫折,多看書,看例題,讓頭腦清醒

思考題

為什么要使用指針?它有什么用?
因為我們要學啊,要作業啊,指針是指向一個特定內存地址的一個變量,它存儲一個內存地址,在數組某些方面更加簡單,效率更高.
指針變量在內存中暫用多大的空間?它的大小由什么決定?
32位編譯器時指針占4個字節.64位編譯器時指針占8個字節,由編譯器的版本決定

轉載于:https://www.cnblogs.com/I-FEAR-ONLY-TIME/p/10659268.html

總結

以上是生活随笔為你收集整理的第6周编程总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。