当前位置:首页 » 编程语言 » 用c语言编g01程序
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

用c语言编g01程序

发布时间: 2022-06-27 21:08:40

⑴ 求用c语言编写程序

vc里面建立一个控制台程序,代码如下:
#include<stdio.h>
#include<string.h>
int
main()
{
int
len;
printf("请输入正方形的边长:");
while(scanf("%n",&len)){
printf("正方形的边长为:%d\n",len);
printf("正方形的表面积为:%d\n",len*len);
printf("正方形的体积为:%d\n",len*len*len);
printf("\n请输入正方形的边长:");
}
}
这段代码是计算正方形表面积和体积的,直接用记事本编写的,没有编译过,不知道有没错误,有错误你自己稍微修改下,大致是这样,我手头上没有vc,就不编译了

⑵ 用C语言编写程序

程序就是读取文件到数组,再将数组进行排序,最后写入文件。

读写文件流程:fopen获取文件流(根据读写需求,选择参数,使用完必须调用fclose函数关闭),fscanf读取文件内容,fseek控制文件流指针,fprintf写入文件。

选择排序:每个循环周期选出一个最值,交换一次。

下面是代码(数组为动态数组):

#include <stdio.h>

#include <malloc.h>

int maxLen;//数组长度

int *read2Nums(char path[]);//读取

int write2File(int *nums,char path[]);//写入

void showNums(int *nums);

int px(int *nums,int flag);//选择排序flag=1升序,flag=0降序

int main()

{

int *nums=NULL;

char rPath[]="c:\000.dat",wPath[]="c:\rank.dat";

if(!(nums=read2Nums(rPath))) return 1;

showNums(nums);

printf("数组升序排列: ");

if(px(nums,1)==-1) return 1;

showNums(nums);

printf("数组降序排列: ");

if(px(nums,0)==-1) return 1;

showNums(nums);

printf("写入到文件路径%s下(存在覆盖,不存在新建) ",wPath);

if(write2File(nums,wPath)==-1) return 1;

printf("写入成功! ");

return 0;

}

void showNums(int *nums)

{

int i;

if(nums) for(i=0,printf("文件内容: ");i<maxLen;printf("%d ",nums[i]),i++);

printf(" ");

}

int px(int *nums,int flag)

{

int i,j,n,temp;

if(!nums) return -1;

for(i=0;i<maxLen-1;i++)

{

n=i;

for(j=i+1;j<maxLen;j++)

{

if(flag && nums[n]>nums[j]) n=j;

if(!flag && nums[n]<nums[j]) n=j;

}

temp=nums[i],nums[i]=nums[n],nums[n]=temp;

}

return 1;

}

int write2File(int *nums,char path[])

{

int i;

FILE *fp=NULL;

if(!nums) return -1;

if(!(fp=fopen(path,"w"))) return -1;

//fseek(fp,SEEK_END);

for(i=0;i<maxLen;i++)

fprintf(fp,"%d ",nums[i]);

fclose(fp);

return 1;

}

int *read2Nums(char path[])

{

int *nums=NULL,*temp=NULL,cnt=0;

FILE *fp=NULL;

maxLen=10;

if(!(fp=fopen(path,"r"))) return NULL;

nums=(int *)malloc(sizeof(int)*maxLen);

if(!nums) return NULL;

while(fscanf(fp,"%d",&nums[cnt++])!=-1)

if(cnt==maxLen)//数组长度不够扩展(每次扩展10长度)

{

maxLen=maxLen+10;

temp=(int *)realloc(nums,sizeof(int)*maxLen);

if(temp) return NULL;

nums=temp;

}

if(--cnt<maxLen)//函数结束前,删除多余地址,减少内存占用

{

maxLen=cnt;

temp=(int *)realloc(nums,sizeof(int)*maxLen);

if(!temp) return NULL;

nums=temp;

}

fclose(fp);

return nums;

}

⑶ 用c语言编写的代码程序

c语言的源程序语法结构如下:
#include<stdio.h>//预处理语句
/* 自定义函数1*/
/* 自定义函数2*/
int main()
{
//main()主函数执行调用以上定义的函数的顺序
return 0;//执行完毕 退出

}
示例如下:
#include <stdio.h>
int main()
{
printf("welcome to c language!!!\n");
return 0;

}

⑷ 用C语言编写一个程序

#include<stdio.h>
intmain()
{doubles,y=0;
scanf("%lf",&s);
if(s>=5000)
{y=0.13*(s-5000);
s=5000;
}
if(s>=3000)
{y+=0.1*(s-3000);
s=3000;
}
if(s>=2000)
{y+=0.08*(s-2000);
s=2000;
}
if(s>=1600)
{y=0.05*(s-1600);
s=1600;
}
printf("%.2f ",y);
return0;
}

⑸ 怎么样来读取G代码 就是用什么编程软件能读取数控代码,能进行数控代码的计算机识别

EdiTasc比较好!

⑹ 用C语言编写程序

#include <stdio.h>
#include <string.h> //strlen 对应头文件
int main (void)
{
char a[] = "C Programing Design";
char b[80];
int res;
res = cpystr(b, a, 3, 17);
if (res > 0 )
printf ("the result is:%s\n", b);
else
printf ("Error.\n");
return 0;
}
/*int cpystr (char dest[],char src[],int s,int n),实现将*/
/*字符串src中从第s个字符开始的n个字符复制到dest中,考虑s大于src中字 */
/*符的个数、s>1或n≤0等情况 */
int cpystr(char dest[],char src[],int s, int n)
{
char *start = dest; //记录起始位置
char *p = src; //纯粹为了安全,防野指针
if(n < 0 || n > strlen(src) - s + 1) //如果n非法,返回-1,strlen为标准库函数(取字串长度)
return -1;

if(s > strlen(src) || s < 0) //如果s非法,返回
return -1;
else
{
for(p += (s - 1); (n-- > 0) && *p; p++,dest++)
*dest = *p;
}
*dest++ = '\0';
return dest - start; //返回已复制字串长度
}

⑺ 谁有用C语言编写的直线,圆弧插补程序

给你推荐一本书,<计算机图形学基础>唐泽圣,周嘉玉,李新友写的,我们以前上课用的,上面有常用的直线和圆弧算法,比如数值微分法生成直线,逐点比较法插补圆弧,角度DDA法产生圆弧,基本都有C语言的源程序.你可以搜搜这本书,本来都有源程序的,后来给删掉了~~
贴一个别人的
/*************************************************************************
Function: int ArcXY(double dfx0,double dfy0,double dfrx,
double dfry,int angle);
Description: 在X-Y轴所构成的平面上,以圆弧运动的方式从目前位置经过指
定的参考点到目的点。调用此函数成功将增加运动命令的库存数目。
Parameters: dfx0, dfy0 参考点的X-Y轴座标值
dfrx, dfry 圆心的X-Y轴座标值
angle 插补角度
Calls: 无
Return Value: 大于或等于0 给予此运动命令的编码
小于0 失败,传回值的意义可参考错误信息代码
**************************************************************************/

#include <stdio.h>
#include <math.h>
int ArcXY(double dfx0,double dfy0,double dfrx, double dfry,int angle);
int symbol(double number);

main()
{

ArcXY(0,0,-3,5,360);
getch();

}
int ArcXY(double dfx0,double dfy0,double dfrx, double dfry,int angle)
{
FILE *f1;

double i,j,dx,dy,dfr,x,y,ang,step,f = 0.01;

int flag,tempx,tempy,statex,statey,direction = 1;

dfr = sqrt((dfrx - dfx0) * (dfrx - dfx0) + (dfry - dfy0) * (dfry - dfy0));

if(dfx0 == 0)
{
dfx0 = 1;
dfrx = dfrx + 1;
statex =1;
}
if(dfy0 == 0)
{
dfy0 = 1;
dfry = dfry + 1;
statey =1;
}

dfrx = 2 * dfx0 - dfrx;

i = dfx0 - dfrx;
j = dfy0 - dfry;

x = dfx0 ;
y = dfy0 ;

step = ang = 180 * 2 * asin(f/(2*dfr))/3.1415926;

if(((dfx0 > 0) && (dfy0 > 0)) || ((dfx0 < 0) && (dfy0 < 0)))
{
flag = direction;
}

if(((dfx0 < 0) && (dfy0 > 0)) || ((dfx0 > 0) && (dfy0 < 0)))
{
flag = -direction;
}

f1=fopen("c:\\c.txt","w+");

if(statex ==1)
{
x = x - 1;
}
if(statey ==1)
{
y = y - 1;
}

fprintf(f1,"%f,",x);
fprintf(f1,"%f\n",y);

while(ang < angle)
{
dx = f * (j + flag*(f * i)/(2 * dfr))/dfr;
dy = f * (i - flag*(f * j)/(2 * dfr))/dfr;
tempx = symbol(x);
tempy = symbol(y);

x = x + dx;
y = y + dy;

fprintf(f1,"%f,",x);
fprintf(f1,"%f\n",y);

if( (tempx !=symbol(x)) || (tempy != symbol(y)) )
{
flag = -flag;
}

i = i - dx;
j = j + dy;
ang = ang + step;

}

return 0;

}

int symbol(double number)
{
if(number > 0)
{
return 1;
}
else
{
return -1;
}
}
int ArcXY(double dfx0,double dfy0,double dfrx, double dfry,int angle); 这个就是子函数,你放到你需要的地方注意参数,按自己需要修改,要么添加返回值返回感兴趣的部分,要么添加参数按照传引用的方法取得,直线的有简单DDA算法的,需要的话明天打上,今天有点晚了.

⑻ 数控代码用c语言解释是什么意思

G00 定位 (快速移动)
G01 直线切削
G02 顺时针切圆弧 (CW,顺时钟)
G03 逆时针切圆弧 (CCW,逆时钟)
G04 暂停 (Dwell)
G09 停于精确的位置
G20 英制输入
G21 公制输入
G22 内部行程限位 有效
G23 内部行程限位 无效
G27 检查参考点返回
G28 参考点返回
G29 从参考点返回
G30 回到第二参考点
G32 切螺纹
G40 取消刀尖半径偏置
G41 刀尖半径偏置 (左侧)
G42 刀尖半径偏置 (右侧)
G50 修改工件坐标;设置主轴最大的 RPM
G52 设置局部坐标系
G53 选择机床坐标系
G70 精加工循环
G71 内外径粗切循环
G72 台阶粗切循环
G73 成形重复循环
G74 Z 向步进钻削
G75 X 向切槽
G76 切螺纹循环
G80 取消固定循环
G83 钻孔循环
G84 攻丝循环
G85 正面镗孔循环
G87 侧面钻孔循环
G88 侧面攻丝循环
G89 侧面镗孔循环
G90 (内外直径)切削循环
G92 切螺纹循环
G94 (台阶) 切削循环
G96 恒线速度控制
G97 恒线速度控制取消
G98 每分钟进给率
G99 每转进给率

⑼ 用C语言编一段程序

像这种C语言的编程的话,建议你找程序员编写一下,一般也不会太贵的,然后叫他们帮你一个小忙就可以了

⑽ 用C语言编写一个简单的程序

画菱形的代码:

#include <stdio.h>
void main() {
int i,j,k;
/*i控制要打印的行数,
*j控制要打印的空格数,
控制要打印的星号的个数*/

//先打印上边的4行
for(i=1;i<=4;i++) //控制要打印的行数
{
for(j=1;j<=4-i;j++) //控制每行要打印的空格数
printf(" ");
for(k=1;k<=2*i-1;k++) //控制打印第一个“*”到第二个“*”
{
if(k==1||k==2*i-1) //只在循环的边界值打印“*”,否则打空格
printf("*");
else
printf(" ");
}
printf("\n");
}

//然后打印下边的3行
for(i=1;i<=3;i++) //控制要打印的行数
{
for(j=1;j<=i;j++) //控制每行要打印的空格数
printf(" ");
for(k=1;k<=7-2*i;k++) //控制每行要打印的“*”的个数
{
if(k==1||k==7-2*i) //只在循环的边界值打印“*” ,否则打印空格
printf("*");
else
printf(" ");
}
printf("\n");
}
}