【c語言】函數_作業詳解

前言:

對應鵬哥專升本c語言,51集

內容:

找出10個數值中的最大值,

#include <stdio.h> 
//求10個整數中的最大值
int main()
{//準備10個整數 //int arr[10] = {1,2,3,4,13,6,7,8,9,-2};//用于循環10次int i = 0;//也可以自己輸入10個數值,需要循環數組下標int arr[10] ={0};//for循環for(i= 0; i < 10; i++){scanf("%d", &arr[i]);   //數組不要取地址,但是數組中的每個元素需要去地址 } //找出最大值,假設最大值為數組第一個int max = arr[0];//循環for(i=1; i<=10; i++){if(max < arr[i]){max = arr[i];}} printf("%d", max);return 0;
}

2、打印9*9乘法表

//int main()
//{
//	//循環9次,就是一行的數字是固定的 
//	int i = 0;
//	int j = 0;
//	int sum = 0;
//	for(i=1; i<=9; i++)
//	{
//		for(j=1; j<=i; j++)  //就是一行一列,都是相同的, 
//		{
//			printf("%d*%d=%-2d\t", i, j, i*j);			
//		}
//		printf("\n");
//	}	
//}

3、猜數字游戲

都是之前講過的,就是的,但是這道題有難度,明天再做討論

4、二分法查找,查找數組中的下標

這是原始的,沒有使用自定義函數,我好像沒有說找不到返回什么

#include <stdio.h> 
求10個整數中的最大值
//int main()
//{
//	//準備10個整數 
//	//int arr[10] = {1,2,3,4,13,6,7,8,9,-2};
//	
//	//用于循環10次
//	int i = 0;
//
//	//也可以自己輸入10個數值,需要循環數組下標
//	int arr[10] ={0};
//	//int arr[] = {0};
//	//這里沒有指定數組的元素個數,就會根據初始化的內容來推算元素的個數
//	//那么默認就是只能存一個數據
//	// 
//	 
//	
//	//for循環
//	for(i= 0; i < 10; i++)
//	{
//		scanf("%d", &arr[i]);   //數組不要取地址,但是數組中的每個元素需要去地址 
//	 } 
//	//找出最大值,假設最大值為數組第一個
//	int max = arr[0];
//
//	//循環
//	for(i=1; i<=10; i++)
//	{
//		if(max < arr[i])
//		{
//			max = arr[i];
//		}
//	 } 
//	 printf("%d", max);
//	
//	return 0;
//}//int main()
//{
//	//循環9次,就是一行的數字是固定的 
//	int i = 0;
//	int j = 0;
//	int sum = 0;
//	for(i=1; i<=9; i++)
//	{
//		
//		for(j=1; j<=i; j++)  //就是一行一列,都是相同的, 
//		{
//			printf("%d*%d=%-2d\t", i, j, i*j);			
//		}
//		printf("\n");
//	}
//	
//}//猜數字游戲
//int main()
//{
//	int input = 0;
//	strand()
//	return 0;
// } 
// //形參名字和實參名字可以相同,可以不同 
int binary_search(int arr[], int h, int zs)
{int left = 0;int right = zs - 1;while(left<=right){int mid = (right-left)/2 + left; if(arr[mid] > h){right = mid - 1;}else if(arr[mid] < h){left = mid +1;}else{return mid;}return -1;}
}  //忘記一個括號了,但是可以用鼠標移到括號位置,如果加深就是有配對的括號,沒有就是少打了括號 //二分法查找數組下標,自定義函數
int main()
{int arr[] = {1,2,3,4,5,6,7,8,9,10};//選擇需要挑選的數字下標 int h = 11;int left = 0;//總元素大小,除一個元素大小,等于有幾個元素 int zs = sizeof(arr) / sizeof(arr[0]);    //不能在自定義函數創建,因為形參只拷貝數組的第一元素的地址,無法計算總元素大小除以一個元素大小 //找到了,返回下標 //右下標等于總數-1 int right = zs -1;int ret = binary_search(arr, h, sz);  //這里沒有修改成自己的參數 h if(ret == -1){printf("找不到了"); } else{printf("找到了,數組下標為:%d", ret);  //一個錯誤,改用函數,沒有用返回值打印 }//	while(left<=right)
//	{
//		int mid = (right-left)/2 + left; 
//		if(arr[mid] > h)
//		{
//			right = mid - 1;
//		}
//		else if(arr[mid] < h)
//		{
//			left = mid +1;
//		}
//		else
//		{
//			printf("找到了,下標為:%d",mid);
//			break; 
//		}	
//	}
//	printf("找不到了"); return 0;} 

第二套題目

第一題,關于形參和實參的描述

形參是實參的臨時拷貝

新參在函數調用的時候才實例化,才開辟內存

改變形參就是改變實參(這個是錯誤的)

傳值調用,不會改變實參

第二題,函數調用exec((v1. v2) (v3, v4),?v5, v6))

逗號表達式是一個參數(傳值,就是一個),v5,v6是兩個變量

一起就是四個實參個數

第三題,函數設計

函數功能應該盡量高內聚低耦合(對的)

功能應該盡量單一,就是說如果是計算加法,那么加法的函數里,應該就不要出現打印的功能

函數盡量少用全局變量(對的)本來是這樣的

函數盡可能多的使用全局變量

函數參數不易過多(對的)

設計函數是,盡量做到誰申請的資源就由誰釋放(對的)

fun()

{

//申請了內存

//使用

//釋放

//別的函數不能釋放他人的資源

}

第四題,函數描述正確的是

函數必須有參數和返回值(錯的)

函數的實參只能是變量(錯的)

庫函數的使用必須要包含對應的頭文件(對的)

有了庫函數就不需要自定義函數(錯的)

第五題,在一個源程序中,main函數的位置

可以任意

第六題,。。。明天寫

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/71710.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/71710.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/71710.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

計算機網絡之路由協議(自治系統)

一、自治系統&#xff08;AS&#xff09; 自治系統是由同一個技術管理機構管理、使用統一選路策略的一些路由器的集合。它是網絡的基本構成單位&#xff0c;每個自治系統是一個獨立運營并自主決定與誰交換流量的實體。自治系統內部運行內部網關協議&#xff08;IGP&#xff09…

【Unity】Unity clone 場景渲染的燈光貼圖異位問題

Unity clone 場景渲染的燈光貼圖異位問題 問題 需要將一個場景clone 一份保存到本地 當克隆完成后&#xff0c;副本場景的燈光貼圖異位了&#xff0c;與原場景存在較大的差別 問題原因 場景被clone 后&#xff0c;場景的燈光渲染數據不能共用&#xff0c;即Lightmapping.li…

Python----數據分析(Numpy一:numpy庫簡介,與list列表的區別,數組的創建,隨機數組的創建)

一、 Numpy庫簡介 1.1、概念 NumPy(Numerical Python)是一個開源的Python科學計算庫&#xff0c;旨在為Python提供 高性能的多維數組對象和一系列工具。NumPy數組是Python數據分析的基礎&#xff0c;許多 其他的數據處理庫&#xff08;如Pandas、SciPy&#xff09;都依賴于Num…

千峰React:函數組件使用(2)

前面寫了三千字沒保存&#xff0c;恨&#xff01; 批量渲染 function App() {const list [{id:0,text:aaaa},{id:1,text:bbbb},{id:2,text:cccc}]// for (let i 0; i < list.length; i) {// list[i] <li>{list[i]}</li>// }return (<div><…

Hot100 動態規劃

動態規劃 動規五部曲&#xff1a; 確定dp數組以及下標的含義確定遞推公式dp數組如何初始化確定遍歷順序舉例推導dp數組 70. 爬樓梯 - 力扣&#xff08;LeetCode&#xff09; 爬到第一層樓梯有一種方法&#xff0c;爬到二層樓梯有兩種方法。 那么第一層樓梯再跨兩步就到第三…

Rust語言基礎知識詳解【一】

1.在windows上安裝Rust Windows 上安裝 Rust 需要有 C 環境&#xff0c;以下為安裝的兩種方式&#xff1a; 1. x86_64-pc-windows-msvc&#xff08;官方推薦&#xff09; 先安裝 Microsoft C Build Tools&#xff0c;勾選安裝 C 環境即可。安裝時可自行修改緩存路徑與安裝路…

文章精讀篇——OMG-Seg

題目&#xff1a;OMG-Seg : Is One Model Good Enough For All Segmentation? 作者&#xff1a;Xiangtai Li1 ? Haobo Yuan1 Wei Li1 Henghui Ding1 Size Wu1 Wenwei Zhang1Yining Li2 Kai Chen2 Chen Change Loy1 代碼&#xff1a;OMG-Seg 會議&#xff1a;cvpr2024 邊讀…

vite 開啟 gzip壓縮

使用vite 如何開啟 gzip壓縮 文章目錄 使用vite 如何開啟 gzip壓縮1. 引言為什么需要 Gzip 壓縮&#xff1f;Gzip 壓縮的作用 2. Vite 項目中的 Gzip 壓縮Vite 的基本概念Gzip 壓縮的原理 3. 使用 Vite 插件開啟 Gzip 壓縮安裝 vite-plugin-compression配置 vite-plugin-compre…

【Qt學習】| 如何使用QVariant存儲自定義類型

QVariant是Qt框架中的一個通用數據類型&#xff0c;可以存儲多種類型的數據&#xff0c;主要作用是提供一種類型安全的方式來存儲和傳遞不同類型的數據&#xff0c;而不需要顯示地指定數據類型。 QVariant提供了諸多構造函數可以非常方便地對基礎數據類型&#xff08;如&#x…

【Python量化金融實戰】-第1章:Python量化金融概述:1.4 開發環境搭建:Jupyter Notebook、VS Code、PyCharm

在量化金融開發中&#xff0c;選擇合適的開發環境至關重要。本章介紹三種主流工具&#xff1a;Jupyter Notebook&#xff08;交互式分析&#xff09;、VS Code&#xff08;輕量級編輯器&#xff09;、PyCharm&#xff08;專業IDE&#xff09;&#xff0c;并通過實戰案例展示其應…

查看 nginx 是否已經啟動

在 Ubuntu 或其他 Linux 系統上&#xff0c;要查看 Nginx 是否已經啟動&#xff0c;您可以使用以下幾種方法之一&#xff1a; 方法一&#xff1a;使用 systemctl 命令 Nginx 通常作為 systemd 服務運行&#xff0c;因此您可以使用 systemctl 命令來檢查其狀態。 打開終端。 …

解釋 Vue 中的虛擬 DOM,如何通過 Diff 算法最小化真實 DOM 更新次數?

1. 虛擬DOM核心原理&#xff08;附代碼示例&#xff09; // 簡化的VNode結構示意 class VNode {constructor(tag, data, children) {this.tag tag // 標簽名this.data data // 屬性/指令等this.children children // 子節點數組} }// 兩個新舊虛擬節點樹示例 const oldV…

Pytorch使用手冊-音頻數據增強(專題二十)

音頻數據增強 torchaudio 提供了多種方式來增強音頻數據。 在本教程中,我們將介紹一種應用效果、濾波器、RIR(房間脈沖響應)和編解碼器的方法。 最后,我們將從干凈的語音合成帶噪聲的電話語音。 import torch import torchaudio import torchaudio.functional as Fprin…

Linux-Ansible模塊擴展

文章目錄 Archive UnarchiveSetup模塊Lineinfile Replace &#x1f3e1;作者主頁&#xff1a;點擊&#xff01; &#x1f916;Linux專欄&#xff1a;點擊&#xff01; ??創作時間&#xff1a;2025年02月23日18點11分 Archive Unarchive Archive和Unarchive模塊 需求&#x…

Redhat及其衍生系統安裝python

目錄 更新包列表 安裝 Python 3 安裝特定版本的 Python 驗證安裝 安裝 pip 更新包列表 在安裝任何軟件之前&#xff0c;建議先更新系統的包列表&#xff0c;以確保安裝的是最新版本的軟件包&#xff1a; sudo dnf update 安裝 Python 3 RHEL 9 默認安裝了 Python 3&…

Python條件控制和循環語句

目錄 條件控制語句 1. if 語句 2. if-else 語句 3. if-elif-else 語句 循環語句 1. for 循環 2. while 循環 循環控制語句 1. break 語句 2. continue 語句 3. else 子句&#xff08;與循環結合&#xff09; 嵌套循環 常見應用場景 條件控制 循環語句 條件控制語…

*PyCharm 安裝教程

PyCharm 安裝教程&#xff0c;適用于 Windows、macOS 和 Linux 系統&#xff1a; 1. 下載 PyCharm 官網地址&#xff1a;https://www.jetbrains.com/pycharm/版本選擇&#xff1a; Community&#xff08;社區版&#xff09;&#xff1a;免費&#xff0c;適合基礎 Python 開發…

Three.js 快速入門教程【二】透視投影相機

系列文章目錄 系列文章目錄 Three.js 快速入門教程【一】開啟你的 3D Web 開發之旅 Three.js 快速入門教程【二】透視投影相機 Three.js 快速入門教程【三】渲染器 Three.js 快速入門教程【四】三維坐標系 Three.js 快速入門教程【五】動畫渲染循環 Three.js 快速入門教程【六…

IntelliJ IDEA 控制臺輸出中文出現亂碼

IntelliJ IDEA 控制臺輸出中文出現亂碼通常是由于編碼設置不一致導致的。以下是常見原因及解決方法 1. 項目編碼設置 檢查路徑&#xff1a;File → Settings → Editor → File Encodings 確保 Project Encoding、Global Encoding 和 Default Encoding for Properties Files 均…

C#初級教程(7)——初級期末檢測

練習 1&#xff1a;計算圓的周長和面積 改編題目&#xff1a;編寫一個 C# 程序&#xff0c;讓用戶輸入圓的半徑&#xff0c;然后計算并輸出該圓的周長和面積&#xff0c;結果保留兩位小數。 using System;class CircleCalculation {static void Main(){const double pi 3.14…