数控编程G20是什么意思G20表示英制输入,G21表示米制输入。机床出厂前一般设定为G21状态,机床的各项参数均以米制单位设定,所以数控车床一般适用于米制尺寸工件加工,如果一个程序
C语言编程简单问题
简单c语言编程题?
根据题意,程序分三个主要功能:1、从数组中查找一个整数。2、向数组插入一个整数。3、数组升序排列。
一、其中查找功能,数组无序或升序对应二种写法(直接遍历比较、二分法)。
对于升序数组用二分法查找更快(本案例只有10个数,如数字量大则效果更明显)。
二、数组插入功能,将插入位置及其往后的元素均后移一位(数组大小需多预留1位)。
另外:重复的代码段要写成独立函数,避免代码冗余。
下面是代码(数值我用的随机数填充,你想手动输入自添scanf函数):
#include
#include
#include
#define M 10//最大整数个数
void input(int nums[],int len);//输入
void showNum(int nums[],int len);// 打印数组
void px(int nums[],int len);//排序
int checkNum(int nums[],int len,int n);//检查n是否存在于无序数组num,是返回下标,否将n插入数组并返回-1。
int checkNumPX(int nums[],int len,int n);//检查n是否存在于升序数组num,是返回下标,否将n插入对应位置并返回-1。
void move1(int nums[],int len,int inx);//从下标inx开始的元素,全部往后移动1位(inx下标空出来给插入)
int main()
{
int nums[M+1],len=M+1,inx,n;//预留一位给插入
srand(time(NULL));
input(nums,len-1);
showNum(nums,len-1);
printf("请输入要查找的数n:"),scanf("%d",&n);
inx=checkNum(nums,len-1,n);
if(inx!=-1) printf("存在!下标是%d\n",inx);
if(inx==-1) printf("不存在!已在数组末尾插入,插入后的数组为:\n"),showNum(nums,len);
printf("\n-----------------------下面是问题2-------------------------------\n");
input(nums,len-1);
px(nums,len);
showNum(nums,len-1);
printf("请输入要查找的数n:"),scanf("%d",&n);
inx=checkNumPX(nums,len-1,n);
if(inx!=-1) printf("存在!下标是%d\n",inx);
if(inx==-1) printf("不存在!已在插入数组对应的位置\n"),showNum(nums,len);
return 0;
}
void input(int nums[],int len)
{
int i;
for(i=0,printf("生成%d个2位随机整数......\n",len);i } void showNum(int nums[],int len) { int i; for(i=0,printf("当前数组元素为:\n");i printf("\n"); } void px(int nums[],int len) { int i,j; for(i=0,printf("对数组进行升序排序......\n");i for(j=i+1;j if(nums[i]>nums[j]) nums[i]^=nums[j],nums[j]^=nums[i],nums[i]^=nums[j]; } int checkNum(int nums[],int len,int n) { int i; for(i=0,printf("数组中按元素顺序查找%d......\n",n);i if(nums[i]==n) return i; if(i==len) nums[len]=n; return -1; } int checkNumPX(int nums[],int len,int n) { int bInx=0,eInx=len-1,mInx; printf("对升序数组按二分法查找%d......\n",n); while(eInx-bInx>1)//当序列区间元素大于2个时,取中间值 { mInx=bInx+(eInx-bInx)/2; if(nums[mInx]==n) return mInx; if(n if(n>nums[mInx]) bInx=mInx;//n比中间值大,取后半区间中间继续比较 } if(nums[eInx]==n) return eInx; if(nums[bInx]==n) return bInx; if(n if(n>nums[bInx] && n if(n>nums[eInx]) move1(nums,len+1,eInx+1),nums[eInx+1]=n; return -1; } void move1(int nums[],int len,int inx) { int i; for(i=len-1;i>inx;nums[i]=nums[i-1],i--); } #include int main() { int a,b,c,t; scanf("%d%d%d",&a,&b,&c); if(a>b){t=a;a=b;b=t;} if(a>c){t=a;a=c;c=t;} if(b>c){t=b;b=c;c=t;} printf("%d %d %d\n",a,b,c); return 0; } #include #include #include void fun1();//函数声明 void fun2(); int main() { while(1) { int x; for(int i=0;i<20;i++) printf("*"); printf("\n1,求整数n的立方\n"); printf("2,判断是否能构成三角形\n"); printf("3,结束程序\n"); for(int i=0;i<20;i++) printf("*"); printf("\n"); scanf("%d",&x); if(x==1) { printf("求整数n的立方\n"); fun1(); } if(x==2) { printf("判断是否能构成三角形\n"); fun2(); } if(x==3) exit(0);//结束程序 else if(x!=1&&x!=2&&x!=3) printf("请输入正确指令\n\n"); } return 0; } void fun1()//立方函数 { int n; scanf("%d",&n); printf("%d\n",n*n*n); } void fun2()//判断三角形 { int a, b, c; scanf("%d%d%d",&a,&b,&c); if(a+b>c&&a+c>b&&c+b>a) printf("%d %d %d可以构成三角形\n",a,b,c); else printf("%d %d %d不可以可以构成三角形\n",a,b,c); } 相关文章 什么是linux?他的作用又是什么?Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。严格来讲,Linux这个 三菱FX系列PLC怎么编写SFC程序块,自动,急停,手动,如何启动与停止这些块。FX系列里有个方便指令叫 IST 可以编写手动,回原点,单步运行,单周期运行,全自动运行,回原点启动,自动运 初中毕业学习编程可以吗?首先,初中毕业能学会编程,但是,一般达不到太高的造诣。 编程是知识密集型的行业,需要很强的学习能力。初中就毕业了,肯定学习不好。大家的智商都差不多,成 下面这道编程题怎么做?代码:#include 学计算机技术有用吗?当然有用, 认真学,专一门,软件或者硬件。 软件方面比较有前途的是:网页制作开发、软件开发(编程)、平面设计、三维设计; 硬件方面主要是维修、组装,在硬件方面学 c语言作业 急#include 别人发过来的慧编程我怎么打开首先,打开慧编程软件界面后,鼠标点击右上角的Python编辑器按钮.等待模式加载完成后,点击左上角文件菜单下的新建作品按钮.接着,输入print ("HelloC语言编程问题,刚开始学,麻烦简单些,谢谢。
C语言编程简单题目求解 急!
a数组定义的太小了,作为同时被这种测试系统虐过的人,可以告诉你,你根本想象不到那个测试会给你加多少大的数。10不可能够用,至少100,建议你用内存分配函数malloc 把int a[10]那行改成a=(int *)malloc(sizeof(int)*n) 头文件stdlib.h 不想改也行,试试看100 1000……,总会够大的 还有,就是你的程序本身也有错 do(j++)while……是先j自加再去判断while后面的条件,就是说你没有比较a[0]和x的大小,这样如果加进来的数是这一串数中的最小值时,就会出错,建议是用把j的初值赋为-1 希望能帮到你C语言编程问题,初学者,麻烦简单些,谢谢
#includeC语言编程问题?
void main()
{
int letter=0,space=0,digit=0,other=0;
char c;
while((c=getchar())!='\n')
{
if('a'
int main(){ int a,b; scanf("%d%d",&a,&b); if(b!=0) printf("%d %d\n",a/b,a%b); else printf("error\n"); return 0;}C语言编程作业,求