
#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 = 0i<n - 1i++)
for (j = 0j <n - i - 1j++) {
//如果前面的数比后面大,进行交换
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 =lefti <righti++) {
if (arr[i] >arr[i + 1]) {
int temp = arr[i]
arr[i] = arr[i + 1]
arr[i + 1] = temp
}
}
right--
//从右到左遍历选出最小的数放到数组左边
for (j = rightj>leftj--) {
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=0i<NUMi++) {
printf("请输入第(%d)个数:",i+1)
scanf("%d",&arr[i])
}
printf("\n输入如下排列:\n")
for(i=0i<NUMi++) {
printf("%4d",arr[i])
}/*
for(i=0i<NUMi++) {
for(j=i+1j<NUMj++) {
if(arr[i]>arr[j]) {
temp=arr[i]
arr[i]=arr[j]
arr[j]=temp
}
}
}*/
bubbleSort_1(arr,NUM)
/*printf("\n从小到大如下排列:\n")
for(i=0i<NUMi++) {
printf("%4d",arr[i])
}*/
printf("\n从大到小如下排列:\n")
for(i=NUM-1i>=0i--) {
printf("%4d",arr[i])
}
return 0
}
1.数控编程指令——外圆切削循环指令:G90X(U)_Z(W)_F_;
例:G90X40.Z40.F0.3
X30.
X20.2.数控编程指令——端面切削循环
指令:G94X(U)_Z(W)_F_;
例如:G90X40.Z-3.5.F0.3
Z-7.
Z-10.3.数控编程指令——外圆粗车循环
指令:G71U_R_
G71P_Q_U_W_F_
精车:G70P_Q_F_
U每次进给量,
R每次退刀量,
P循环起始行号,
Q循环结束行号,
U精加工径向余量,
W精加工轴向余量。4.数控编程指令——端面粗车循环
指令:G72W_R_
G72P_Q_U_W_F_
精车:G70P_Q_F_(字母含义同3)5.数控编程指令——固定形式粗车循环
指令:G73P_Q_I_K_U_W_D_F_
I粗车是径向切除的总余量(半径值),
K粗车是轴向切除的总余量,
D循环次数,(其余字母含义同3).
6.数控编程指令——刀尖半径补偿指令
指令:G41
G01
G42
X(U)_Z(w)_
G00
G40
注意:(1).G41,G42,G40指令不能与圆弧切削指令写在同一程序段内。(2).在调用新刀具前或更改刀具补偿方向时,必须取消前一个刀具补偿。字串6
(3).在G41或G42程序段后面加G40程序段,便可以取消刀尖半径补偿。7.数控编程指令——锥面循环加工
指令:G90X(U)_Z(W)_I_F_
例如:G90X40.Z-40.I-5.F0.3
X35.
X30.
I切削始点与圆锥面切削终点的半径差。8.数控编程指令——带锥度的端面切削循环指令
指令:G94X(U)_Z(W)_K_F_
K端面切削始点至终点位移在Z方向的坐标值增量值。9.数控编程指令——简单圆弧加工
指令:G02
I_K_
X(U)_Z(W)_
F_
G03
R_;10.数控编程指令——深空加工
指令:G74R_
G74Z(W)_Q_
R每次加工退刀量,
Z钻削总深度,
Q每次钻削深度,11.数控编程指令——G75指令格式
指令:G75R_
G75X(U)_Z(W)_P_Q_R_F_
R切槽过程中径向(X)的退刀量,
X最大切深点的X轴绝对坐标,
Z最大切深点的Z轴绝对坐标,
P切槽过程中径向(X)的退刀量(半径值),
Q径向切完一个刀宽后,在Z的移动量,
R刀具切完槽后,在槽底沿-Z方向的退刀量。12.数控编程指令——子程序调的用
指令:M98P****
****
例如:M98P42000
字串7
表明调用子程序2000两次。
M98P2
表明调用2号程序一次。13.数控编程指令——等螺距螺纹切削指令
指令:G32(U)_Z(W)_F_
X,Z为螺纹终点的绝对坐标,
例如:G32X29.Z-35.F2.
G00X40.
Z5.
X28.2
G32Z-35.F0.2
G00X40.
Z5.
X28.214.数控编程指令——螺纹切削固定循环指令
指令:G92X(U)_Z(W)_R_F_
R=0时切削圆柱螺纹。
例如:G92X29.Z-35.F0.2
X28.2
X27.6
X27.415.数控编程指令——多线螺纹切削指令
指令:X(U)_Z(W)_F_P_
F长轴方向的导程。
P螺纹线数和起始角。
例如:G33X34.Z-26.F6.P2=0
G01X28.F0.2
G00Z8.
G01X34.F0.2
G33Z-26.F6.P2=18000
G01X28.F0.2
G00Z8.16.数控编程指令——G76指令格式
指令:G76GmraQ_R_
G76X(U)_Z(W)_R_P_Q_F_
m精加工重复次数,
r倒角量,
a螺纹刀尖角度,
Q最小被吃刀量(半径值),单位为微米。
R精加工余量(半径值),单位为毫米。
G76X(U)_Z(W)_R_P_Q_F_
R螺纹半径值(半径值),
P螺纹牙深(半径值),单位为微米。
Q第一次切削深度(半径值),单位为微米。
F螺纹导程。单位为毫米。17.数控编程指令——变导程螺纹加工(G34)
指令:G34
X(U)_Z(W)_F_K_
F长轴方向导程,单位为毫米
K主轴每转导程的增量或减量,单位为毫米每转。
解释如下:
#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\n",x,y)//输出cos of x is y
}
double pcos(double a)//定义子函数名,形式参数
{
double b//定义双精度数据b
b=cos(a)//计算cos(a),并赋值给b
return b//返回b的值
}
扩展资料:
注释就是对代码的解释和说明,其目的是让人们能够更加轻松地了解代码。注释是编写程序时,写程序的人给一个语句、程序段、函数等的解释或提示,能提高程序代码的可读性。
注释就是对代码的解释和说明。目的是为了让别人和自己很容易看懂。为了让别人一看就知道这段代码是做什么用的。
正确的程序注释一般包括序言性注释和功能性注释。序言性注释的主要内容包括模块的接口、数据的描述和模块的功能。模块的功能性注释的主要内容包括程序段的功能、语句的功能和数据的状态。
参考资料:注释–百度百科
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)