當前位置:首頁 » 編程語言 » c語言代碼走查
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言代碼走查

發布時間: 2023-03-01 03:08:53

『壹』 求50行簡單c語言程序代碼,基礎的就好

#include <stdio.h>
#include <stdlib.h>

#define NUM 10
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
//冒泡排序演算法
//基本思想:比較相鄰的兩個數,如果前者比後者大,則進行交換。每一輪排序結束,選出一個未排序中最大的數放到數組後面。
void bubbleSort(int *arr, int n) {
int i,j;
for (i = 0; i<n - 1; i++)
for (j = 0; j < n - i - 1; j++) {
//如果前面的數比後面大,進行交換
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
//最差時間復雜度為O(n^2),平均時間復雜度為O(n^2)。穩定性:穩定。輔助空間O(1)。
//升級版冒泡排序法:通過從低到高選出最大的數放到後面,再從高到低選出最小的數放到前面,
//如此反復,直到左邊界和右邊界重合。當數組中有已排序好的數時,這種排序比傳統冒泡排序性能稍好。
//升級版冒泡排序演算法
void bubbleSort_1(int *arr, int n) {
//設置數組左右邊界
int left = 0, right = n - 1;
//當左右邊界未重合時,進行排序
while (left<=right) {
int i,j;
//從左到右遍歷選出最大的數放到數組右邊
for (i =left; i < right; i++) {
if (arr[i] > arr[i + 1]) {
int temp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = temp;
}
}
right--;
//從右到左遍歷選出最小的數放到數組左邊
for (j = right; j> left; j--) {
if (arr[j + 1] < arr[j]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
left++;
}
}
int main(int argc, char *argv[]) {
int arr[NUM],i,j,temp;
printf("請輸入10個數:\n");
for(i=0; i<NUM; i++) {
printf("請輸入第(%d)個數:",i+1);
scanf("%d",&arr[i]);
}
printf("\n輸入如下排列:\n");
for(i=0; i<NUM; i++) {
printf("%4d",arr[i]);
}/*
for(i=0; i<NUM; i++) {
for(j=i+1; j<NUM; j++) {
if(arr[i]>arr[j]) {
temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
}*/
bubbleSort_1(arr,NUM);
/*printf("\n從小到大如下排列:\n");
for(i=0; i<NUM; i++) {
printf("%4d",arr[i]);
}*/
printf("\n從大到小如下排列:\n");
for(i=NUM-1; i>=0; i--) {
printf("%4d",arr[i]);
}
return 0;
}

『貳』 求二分法查找演示C語言源代碼

二分法查找演算法:

1.主要思想是:假設數據是按升序排序的,對於給定值x,從序列的中間位置開始比較,如果當前位置值等於x,則查找成功;若x小於當前位置值,則在數列的前半段 中查找;若x大於當前位置值則在數列的後半段中繼續查找,直到找到為止。


2. 時間復雜度: O(log2n)。


3. C語言源代碼(小例子)

search函數即為核心代碼:遞歸查找

#include<stdio.h>
intsearch(int*a,intnum,intlow,inthigh)
{
intmid=(low+high)/2;
if(low<=high)
{
if(num<a[mid])
returnsearch(a,num,low,mid-1);//加return
if(num>a[mid])
returnsearch(a,num,mid+1,high);//加return
if(num==a[mid])
return1;
}
else
return0;
}
intmain(){
inta[11]={0,1,2,3,4,5,9,11,12,13,15};
if(search(a,11,0,10)==1)
printf("success!!");
else
printf("failed!!");
}

『叄』 C語言源代碼分析(越易懂越好,我只是一個初學者)

printf「」里的是原樣輸出的東西,但是你的y是未知的,是你程序運行到這一步才可以得到的,你沒有辦法寫到「」里,所以你用%d代替,%d不會原樣輸出,它代表整數,而你的y的數值就是%d的數值,就是當printf里有%d的時候程序知道它的數值是「」,後跟的那個數,也就是這個程序里的y,比如printf(「%d%d%d」,a,b,c);第一個%d輸出的是a的值,第二個%d輸出的是b的值,第三個就是c的值了,如果是%c就是字元的意思,%f就是浮點型的數

『肆』 C語言基本代碼,求詳細解釋,越詳細越好。

這代碼的注釋已經很詳細了呀。前面都是一堆學生信息的聲明。從main()開始看,兩行*****************之間的代碼是你的學生管理系統的主界面及其(增刪查改)功能。接下來就是if/else的判斷,這是判斷你輸入的數字是否和你設定好的(增刪查改)功能相匹配,如果匹配則可以進行相信的學生信息修改。在你做完一次選擇之後,會進行類似與一個返回上級的操作,就是清屏/清除你剛才的選擇。那麼這個時候,只是除掉你對功能編號的選擇,而保留了學生管理系統的主界面及其功能,為什麼清屏沒有全部清除掉呢?是因為在最初你加了一個while(1)的循環,可以循環回到系統主界面。至於你最後的代碼功能cin1(){}這一段是被if/else第一判斷調用(n = cin1(); //錄入入n個學生的信息)。學生系統一開始是沒有錄入學生信息的,那麼調用這段代碼,你會手動將學生信息錄入到系統中,這樣才能進行其他功能(增刪查改)的操作。

『伍』 C語言基本代碼,求詳細解釋,越詳細越好。

解釋如下:

#include"stdio.h"//頭文件

#include"math.h"//數學庫函數

double pcos(double a);//聲明子函數

main()//主函數

{

double x,y;//定義x,y這兩個雙精度數據

printf("please input one number:");

//輸出please input one number:

scanf("%lf",&x);//出入一個數據並賦值給x

y=pcos(x);//把x傳入pcos函數,返回值賦值給y

printf("cos of %lf is %lf ",x,y);//輸出cos of x is y

}

double pcos(double a)//定義子函數名,形式參數

{

double b;//定義雙精度數據b

b=cos(a);//計算cos(a),並賦值給b

return b;//返回b的值

}

(5)c語言代碼走查擴展閱讀:

注釋就是對代碼的解釋和說明,其目的是讓人們能夠更加輕松地了解代碼。注釋是編寫程序時,寫程序的人給一個語句、程序段、函數等的解釋或提示,能提高程序代碼的可讀性。

注釋就是對代碼的解釋和說明。目的是為了讓別人和自己很容易看懂。為了讓別人一看就知道這段代碼是做什麼用的。

正確的程序注釋一般包括序言性注釋和功能性注釋。序言性注釋的主要內容包括模塊的介面、數據的描述和模塊的功能。模塊的功能性注釋的主要內容包括程序段的功能、語句的功能和數據的狀態。