可靠性与系统工程学院生专业课课件-c语言程序设计循环数组_第1页
可靠性与系统工程学院生专业课课件-c语言程序设计循环数组_第2页
可靠性与系统工程学院生专业课课件-c语言程序设计循环数组_第3页
可靠性与系统工程学院生专业课课件-c语言程序设计循环数组_第4页
可靠性与系统工程学院生专业课课件-c语言程序设计循环数组_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言程序设计

TheCProgrammingLanguage

C程序设计wlmCH6循环结构程序设计内容提要循环就是在满足一定条件时重复执行一段程序构成循环的语句(if…goto、while、do-while、for)几种循环的比较循环嵌套Break、continue语句C程序设计wlmwhile

循环表达式语句真(非0)下一语句假(0)用while语句实现当型循环表达式语句N-S图一般形式:while(表达式)语句循环体#include<stdio.h>voidmain(){ intk=1,s=0;loop: if(k<=3) { s=s+k; k++;

gotoloop; } printf("s=%d\n",s);}while(k<=3)循环控制变量循环控制表达式分析:这是一个累加求和问题s=1+2+3和的新值和的当前值求和项当前值【例6.1】计算s=∑3k=1ks=s+ks=0s=s+1s=s+2s=s+3s=0,k=1k<=3s=s+kk++输出s#include<stdio.h>voidmain(){ intk,s; s=0;k=1; while(k<=3) { s=s+k; k++; } printf("s=%d\n",s);}#include<stdio.h>voidmain(){ intk,s,n;printf(“Entern:”);scanf(“%d”,&n); s=0;k=1; while(k<=n) { s+=k; k++; } printf("Σ%d=%d\n",n,s);}【例6.2】读程序#include<stdio.h>voidmain(){ intk,t,n;printf(“Entern:”);scanf(“%d”,&n); t=1;k=1; while(k<=n) { t*=k; k++; } printf("%d!=%d\n",n,t);}s=Σnt=n!【例6.3】读程序#include<stdio.h>voidmain(){ intk,t,n;printf(“Entern:”);scanf(“%d”,&n); t=1;k=1; while(k<=n) { t*=k; k++; } printf("%d!=%d\n",n,t);}s=1!+2!+……+n!t=n!#include<stdio.h>voidmain(){ intk,t,n,s=0;printf(“Entern:”);scanf(“%d”,&n); t=1;k=1; while(k<=n) { t*=k;s+=t; k++; }

printf(“s=%d\n",s);}【例6.4】求100以内的奇数、偶数之和#include<stdio.h>voidmain(){intn=1,odd=0,even=0;

while(n<100) { odd+=n; even+=n+1;n+=2; }printf("odd=%d,even=%d\n",odd,even);}while(n<100){if(n%2==0)even+=n;elseodd+=n;n++;}分析:设:偶数和放在even变量中

even=2+4+6+…+100奇数和放在odd变量中

odd=1+3+5+…+99

计数器n初值为1while(n<100){odd=odd+n;even=even+(n+1);n=n+2;}【例6.2】求任意两个正整数m和n的最大公约数和最小公倍数1.用辗转相除法求最大公约数m对n

求余数为a,若

a≠0,则mn,na,继续求余;否则n

为最大公约数例如,设

m=12,n=21,计算过程如下:计算次数被除数除数余数1 12 21 1222112931293493032.最小公倍数=

两个数的积最大公约数输入m,nm1=m,n1=n,a=m1%n1a≠0m1=n1n1=aa=m1%n1输出n1及m·n/n1#include<stdio.h>voidmain(){ intm,n,m1,n1,a; printf("输入两个正整数:"); scanf("%d,%d",&m,&n); m1=m;n1=n;

a=m1%n1; while(a!=0) { m1=n1;n1=a;

a=m1%n1; } printf("最大公约数是%d\n",n1); printf("最小公倍数是

%d\n",m*n/n1);}C程序设计wlmdo-while语句do语句while(表达式);语句表达式形式为:do-while语句用来实现直到型循环语句表达式下一语句真假不可省略!切记切记!!!#include<stdio.h>voidmain(){ intk,s; s=0;k=1; do { s=s+k; k++; }while(k<=3); printf("s=%d\n",s);}#include<stdio.h>voidmain(){ intk,s; s=0;k=1; while(k<=3) { s=s+k; k++; } printf("s=%d\n",s);}【例6.1】计算s=∑3k=1kC程序设计wlmfor循环求解表达式1表达式2语句求解表达式3真假下一语句求解表达式1表达式2语句求解表达式3

表达式1在进入循环之前求解

(循环变量赋初值)

表达式3是循环体的一部分for循环的一般形式:for(表达式1;表达式2;表达式3)

语句表达式1;表达式3;{}这个分号不能移走这个分号不能丢掉for(表达式1;表达式2;表达式3) 语句表达式1可以移到for语句的前边表达式3可以移到内嵌语句的后边表达式2为空值永远为真成为死循环for循环的其他形式:表达式2省略时,不判断循环条件,将成为“死循环”,需要在循环体中引入break语句退出循环说明1.表达式1省略时,应在for前给循环变量赋初值如: k=1; for(;k<=3;k++)s=s+k;2.表达式2省略时,将成为“死循环”需要在循环体中引入break语句以退出循环如: for(k=1;;k++) {if(k>10)break; s+=k;}3.表达式3省略时,循环体内应有使循环条件改变的语句如: for( k=1;k<=3;){s=s+k;k++;}如:k=1; k=1; for(;k<=3;) while(k<=3) {s=s+k; {s=s+k; k++; k++; } }4.同时省略表达式1和表达式3,只有表达式2,相当于while语句5.表达式2一般是关系表达式或逻辑表达式,也可以是数值表达式或字符表达式,只要其值不等于0就执行循环体如: for(k=1;k-4;k++) s=s+k;当k的值等于4时终止循环。k-4是数值表达式。#include<stdio.h>voidmain(){charc;for(;(c=getchar())!='\n';)

putchar(c);putchar('\n');}功能:读入一个字符,当它不是回车符时就输出。【例6.4】读程序,判断程序的功能。仅输出字母如何修改if(c>=65&&c<=90||c>=97&&c<=122)printf(“%c”,c);C程序设计wlm【例6.4】求100以内的奇数、偶数之和#include<stdio.h>voidmain(){intn=1,odd=0,even=0;

while(n<100) { odd+=n; even+=n+1;n+=2; }printf("odd=%d,even=%d\n",odd,even);}#include<stdio.h>voidmain(){intn=1,odd=0,even=0;

for(;n<100;n+=2) { odd+=n; even+=n+1;

}printf("odd=%d,even=%d\n",odd,even);}C程序设计wlm循环的嵌套一个循环体内包含着另一个完整的循环结构,称为循环嵌套内嵌的循环中又可以嵌套循环,从而构成多重循环三种循环都可以互相嵌套(while、dowhile、for)说明:嵌套的循环控制变量不能相同内循环变化快,外循环变化慢正确确定循环体循环控制变量常与求解的问题挂钩功能:打印乘法口诀#include<stdio.h>voidmain(){ intm,n; for(m=1;m<=9;m++) { for(n=1;n<=m;n++) printf("%1d×%1d=%2d",m,n,m*n); printf("\n"); }}C程序设计wlm几种循环的比较while(表达式)

语句do语句while(表达式)

for(表达式1;表达式2;表达式3)

语句(1)

循环的控制循环条件初始化也可在for前循环控制条件修改循环条件也可在循环体内while循环:先判断条件,循环体可能一次也不执行

do~while循环:后判断条件,循环体至少执行一次

for循环功能强,使用灵活都可以用break语句结束循环,用continue语句

结束本次循环C程序设计wlmbreak

语句、continue语句用break语句可以结束switch结构和三种循环用continue语句结束本次循环,即忽略循环体中剩余的语句开始下一次循环C程序设计wlm输入mk=sqrt(m)i=2 i<=k m%i为0

是否 结束循环

i++i>=k+1是否m是素数m不是素数#include<math.h>#include<stdio.h>voidmain(){ intm,i,k; printf("输入一个整数:"); scanf("%d",&m); k=sqrt(m); for(i=2;i<=k;i++)

if(m%i==0)break;

if(i>k)printf("%d是素数\n",m); elseprintf("%d不是素数\n",m);}结束循环break总是作if的内嵌语句C程序设计wlm#include<math.h>#include<stdio.h>voidmain(){ intm,i,k; printf("输入一个整数:"); scanf("%d",&m); k=sqrt(m); for(i=2;i<=k;i++) if(m%i==0)break;

if(i>k)printf("%d是素数\n",m); elseprintf("%d不是素数\n",m);}flag=1;{flag=0;break;}flagC程序设计wlm打印100~200间所有不能被3整除的数#include<stdio.h>voidmain(){ intn; for(n=100;n<=200;n++) { if(n%3==0)continue; printf("%d",n); }}能整除,不打印本次循环结束,执行表达式3,进入下一循环contiune总是作if的内嵌语句if(n%3)

printf("%d",n);C语言程序设计——

数组数组——主要内容概念一维数组二维数组字符数组如何定义如何初始化如何引用一维数组定义类型说明符数组名[常量表达式];……a[0]a[1]a[8]a[9]a#defineM10voidmain(){inta[10];floatdata[100];longclass[34];floatx[20],y[4*M+1];….}常量或符号常量,符号常量用define定义inta[10];数组名a,长度是10,有10个元素a[0]…a[9]注意没有a[10]由具有相同类型的若干个分量按一定顺序排列组成的

代表地址一维数组定义定义数组注意事项方括弧a[2]

a(2)命名规则和简单变量相同数组元素的下标从0开始,最大下标值为(数组元素个数-1)不允许对数组的大小做动态定义,即不能用变量符号定义只能由字母、数字、下划线组成第一个字符不能是数字;不能使用保留字。intn;scanf(“%d”,&n);inta[n];a[10]

a[0]a[1]……a[9]inta(10),b[x],%[5],8[3],x-y[50],5x[100]是否正确?intn=5,a[n];a[1]=100;printf(“a[1]=%d\n”,a[1]);是否正确性?编译指出:constantexpressionrequiredinfunctionmain(主函数中要求常量表达式)数组的初始化---实现方法1.在定义数组时对数组元素赋初值例如: inta[5]={1,2,3,4,5};2.可以只给部分元素赋初值例如: intb[5]={1,2,3};3.在对全部数组元素赋初值时,可不指定数组长度.若数组长度与初值个数不同,数组长度不能省略例如: intc[5]={2,4,6,8,10};

intc[]={2,4,6,8,10};效果一样5.静态数组元素具有自动初始值0定义例如: staticintd[5];a[0]=1

a[1]=2a[2]=3a[3]=4a[4]=5b[0]=1b[1]=2b[2]=3b[3]=0b[4]=04.使数组中全部元素值为0例如: inte[5]={0};inta[5]={0*5}12345a[0]a[1]a[2]a[3]a[4]a一维数组元素的引用规则:先定义后使用引用形式:数组名[下标]

下标:整型常量或整型表达式inta[10];10个元素下标从0~9

a[0]=a[3]+a[5]+a[2*2];引用方法:逐个引用,不能一次引用整个数组注意下标越界的问题

如:inta[10];10个元素a[0]…a[9]

a[10]内容随意变化,不受保护inta[10];定义数组b=a[5];引用数组元素注意区别一维数组应用#include<stdio.h>voidmain(){inti,a[5];for(i=0;i<=4;i++){a[i]=i+1;printf("a[%d]=%d\n",i,a[i]);}}运行结果:

a[0]=1a[1]=2a[2]=3a[3]=4a[4]=5例1将1,2,3,4,5分别存入数组a,并打印这些数组元素。一维数组应用例2对数组a顺序赋值,逆序输出。#include<stdio.h>voidmain(){inti,a[5];for(i=0;i<=4;i++)a[i]=i;for(i=4;i>=0;i--)printf(“a[%d]=%d\n",i,a[i]);}运行结果:a[4]=4a[3]=3a[2]=2a[1]=1a[0]=001234a[0]a[1]a[2]a[3]a[4]系统不检查数组元素下标超过定义范围(下标越界)问题,属隐形错误printf("a[%d]=%d\n",5,a[5]);printf("a[%d]=%d\n",6,a[6]);}一维数组应用例3统计全班某门功课期末考试的平均分和最高分用简单变量实现(首先求总分)#defineN30//设全班人数为30voidmain(){inti,sum=0,high=0,score;floataverage;printf(“inputeveryone’sscore.\n”);fori=0;i<N;i++)//读成绩求和判断最高分

{scanf(“%d”,&score);sum+=score;if(score>high)high=score;}average=(float)sum/N;//精度高

printf(“average=%f\n”,average);printf(“highest=%d\n”,high);}一个变量只保存一个数,读到第十个成绩时,前面九个成绩没有存,只有总分。分析:定义一个整型读入数组score[30],存放全班每位同学的分数用for循环读入分数,并求出总分和平均分定义变量high存放当前得到的“最高分”,每得到一个分数都要与high值比较,若比high大,则放入high中,这样最后high的值一定是最高分#defineN30voidmain(){inti,sum=0,high=0,score[N];floataverage;printf(“inputeveryone’sscore.\n”);for(i=0;i<N;i++)scanf(“%d”,&score[i]);

for(high=score[0],i=0;i<N;i++){sum+=score[i];if(score[i]>high)high=score[i];}average=(float)sum/N;printf(“average=%f\n”,average);printf(“highest=%d\n”,high);}可输出每位学生的成绩for(high=0,i=0;i<N;i++){scanf(“%d”,&score[i]);sum+=score[i];if(score[i]>high)high=score[i];}补充:找出n个数中超出平均值的那些数,用简单变量能实现吗?9854209854208959492909998542095848280888420589552045894402458922结果第㈠轮㈡㈢㈣开始㈤024589例4用冒泡法对6个数排序(由小到大)冒泡法的思路是:将相邻两个数比较,将小的调到前面比较5次比较4次比较1次如此进行,6个数比较5轮,可推知若有n个数,则进行n-1轮比较在第j轮比较中要进行n-j次两两比较(因为已有j-1个数排好序)例4用冒泡法对6个数排序(由小到大)冒泡法的思路是:将相邻两个数比较,将小的调到前头voidmain(){ inta[7];inti,j,t; printf(“input6numbers:\n”);

for(i=1;i<7;i++)//----inputdata------ scanf(“%d”,&a[i]);//没有使用a[0]元素

for(j=1;j<=5;j++)//N个数排序,进行j=N-1轮比较

for(i=1;i<=6-j;i++)//每轮进行N-j次两两比较

if(a[i]>a[i+1])(因为已有j-1个数排好序)

{t=a[i];a[i]=a[i+1];a[i+1]=t;}

printf(“thesortednumbers:\n”);

for(i=1;i<7;i++)//----outputdata------ printf(“%d__”,a[i]);}一维数组应用例5:选择法排序//--------------sort-------------------for(i=0;i<num;i++){max=data[i];n=i;for(j=i;j<num;j++){if(data[j]>max){max=data[j]; n=j;}}temp=data[i];data[i]=data[n];data[n]=temp;} //----------inputdata--------------

for(i=0;i<100;i++){scanf("%f",&data[i]);if(data[i]==9999)break;num=i;//-----datanumber}//----------outputdata--------------

for(i=0;i<num;i++)printf("%f\n",data[i]);思路:1.确定搜索范围;(保存输入数据个数)2.遍历数据,选出其中的最大值;3.将最大的数据和最前面的数据交换;4.搜索范围减小一个;5.重复步骤2和3,直至排序完毕。二维数组在C语言中,数组的元素还可以是数组,这样就构成二维数组。二维数组看作是一种特殊的一维数组,其元素是一维数组,即“数组的数组”以此类推,还可以构成三维数组、四维数组(称多维数组)等。二维数组是多维数组中最简单最常用的数组,它代表多维数组的基本特征。二维数组定义如:inta[3][4]a为3×4(3行4列)的整型数组,有12个元素。概念上可理解a[3][4]是3行4列的矩阵在此基础上扩展,可类推多维数组的定义如:floatx[2][3][4];/*可想象成空间矩阵*/inta[3,4],b(3)(4),c(2,3)行列层类型标识符数组名[常量表达式][常量表达式]二维数组定义可将二维数组看作是一种特殊的一维数组,其元素是一维数组。如:inta[3][4];将a数组看作是一个一维数组,有3个元素:a[0]a[1]a[2]每个元素又是包含4个元素的一维数组a[0]a[1]a[2]a[0][0]a[0][1]a[0][2]a[0][3]aa[1][0]a[1][1]a[1][2]a[1][3]a[2][0]a[2][1]a[2][2]a[2][3][4][4][4]a[0]、a[1]、a[2]

——

一维数组名二维数组存储在内存中,二维数组中元素排列的顺序——按行存放如:floatb[2][3];//一个float变量占4个字节b[0][0]b[0][1]b[0][2]b[1][0]b[1][1]b[1][2]右边的下标比左边下标变化快。二维数组引用数组元素引用形式:

数组名[下标][下标]

如:inta[2][4],b[3][4];//数组定义,分配空间

//数组元素引用,对数据进行处理

a[2-1][2*2-1]下标可以是整型表达式

b[1][2]=a[1][3]/2数组元素可出现在表达式中注意:下标的最大取值,即数组定义与数组元素引用的区别使用数组元素时,应注意不要超出其定义的范围;如:inta[2][3];a[2][3]=5;

a[1][2]=5;尺寸位置二维数组的初始化1.完全赋初值(含省略形式)如:inta[2][3]={1,2,3,4,5,6};按数组元素排列的顺序如:inta[2][3]={{1,2,3},{4,5,6}};按行如:inta[][3]={1,2,3,4,5,6};省略第一维长度,如:inta[][3]={{1,2,3},{4,5,6}};不能省第二维长度2.部分赋初值如:inta[2][3]={2,5,3};按存放顺序

inta[2][3]={{2,5},{3}};按行赋值(注意区别)inta[3][3]={{2,5},{},{3}};250000300

123456

103a=0000100inta[][3]={{1,0,3},{},{0,10}};

分行赋值253000250300二维数组应用二维数组输入输出用二重循环来实现用循环变量的值控制数组元素的下标#include<stdio.h>voidmain(){inta[3][3],i,j;

for(i=0;i<=2;i++)for(j=0;j<=2;j++)/*---input123456789---*/

scanf(“%d”,&a[i][j]);

for(i=0;i<=2;i++){for(j=0;j<=2;j++) if((i+j)%2)printf(“%5d”,a[i][j]);printf(“\n”);}}

for(i=0;i<=2;i++)for(j=0;j<=2;j++)scanf(“%d”,&a[i][j]);内循环比外循环变化快,跳跃赋值for(i=0;i<=2;i++){for(j=0;j<=2;j++)if((i+j)%2)printf(“%5d”,a[i][j]);输入:123456789输出:2468若输出:13579应如何处理二维数组应用思考:如何修改程序输出主对角线上的数据如何输出次对角线的元素j=n-1-i

二维数组行和列元素互换(转置)算法:a数组初始化并输出P152

用二重循环进行转置

b[j][i]=a[i][j]

输出b数组#include<stdio.h>voidmain(){inta[3][3],i,j;

for(i=0;i<=2;i++)for(j=0;j<=2;j++)/*---input123456789---*/

scanf(“%d”,&a[i][j]);

for(i=0;i<=2;i++){for(j=0;j<=2;j++)printf(“%5d”,a[i][j]);printf(“\n”);}}

for(i=0;i<=2;i++)printf(“%5d”,a[i][i]);将一个二维数组逆序放在另一个二维数组中,并分别打印出来for(i=0;i<N;i++){for(j=0;j<M;j++)printf("%5d",a[i][j]);printf("\n");}printf("\n\n");

for(i=0;i<N;i++){for(j=0;j<M;j++)printf("%5d",b[i][j]);printf("\n");}}#defineN3#defineM3#include<stdio.h>voidmain(){inta[N][M];intb[N][M],i,j;printf("arraya:\n");for(i=0;i<N;i++)for(j=0;j<M;j++){scanf("%d",&a[i][j]);b[N-i-1][M-j-1]=a[i][j];}习题已有排好序的数组(有N个元素),输入一数据,按原序规律插入数组中打印初始数组(由小到大排列)输入待插入数值data与数组元素比较逐个比较直到找到数组元素a[i]>data,将data插在a[i]处将原第i个元素之后的所有元素下标依次增1若大于末尾数组元素则将data插入数组末尾输出结果for(i=0;i<N;i++)scanf("%d",&a[i]);printf(“Insertdata:");

scanf("%d",&data);for(i=0;i<N;i++)printf("%5d",a[i]);for(i=0;i<N;i++)if(a[i]>data){t1=a[i]; a[i]=data; for(j=i+1;j<N+1;j++){t2=a[j];a[j]=t1;t1=t2;}}if(data>a[i-1])a[i]=data;for(i=0;i<N+1;i++)printf("%5d",a[i]);字符数组在C语言中,没有专门的字符串变量,将字符串存入字符数组处理字符数组:用来存放字符数据的数组其中一个元素存放一个字符。一维字符数组:存放一个字符串二维字符数组:存放多个字符串(行数是字符串的个数)字符数组的定义字符数组是数组的一个特殊情况,定义方法:char数组名[常量表达式](一维)char数组名[常量表达式1][常量表达式2](二维)

例:charn[5];n[0]=‘C’;n[1]=‘H’;n[2]=‘I’;n[3]=‘N’;n[4]=‘A’;

字符型与整型互相通用

intn[5];n[0]=‘C’;n[1]=‘H’;n[2]=‘I’;n[3]=‘N’;n[4]=‘A’;效果同上,但浪费存储空间CHINAn[0]n[1]n[2]n[3]n[4]字符数组的初始化1.按元素赋chara[5]={‘C’,‘H’,‘I’,‘N’,‘A’};charc[5]={‘C’,‘H’,‘I’};charb[5]={‘C’,‘H’,‘I’,‘N’,‘W’,‘U’};

初值个数大于数组长度,编译时将出错chard[]={‘C’,‘H’,‘I’,‘N’,‘A’}系统自动确认其长度为5C中将字符串作为字符数组来处理,为测定实际字符串长度,C语言中规定‘\0’为字符串结束标志,遇到第一个‘\0’,即认为该字符串结束。‘\0’既无动作,也不显示注意:定义字符数组的长度与字符串的长度是两个概念字符串的长度:第一个‘\0’以前字符的个数CHI\0\0\0空字符,ASCII为0BOY\0\0字符数组的初始化2.使用字符串常量给字符数组赋初值

——直观方便符合习惯chara[6]={“CHINA”};或chara[6]=“CHINA”;或chara[]=“CHINA”;注意与chara[]={‘C’,‘H’,‘I’,‘N’,‘A’,‘\0’};等价长度为6,系统自动加\0空字符CHINA\0注:以字符串方式赋值时,须保证数组元素个数≥字符个数+1

(字符串后面自动加‘\0’

)exp0706#include<stdio.h>voidmain(){chara[7]={'a','p','p','l','e'};charb[7]={"apple"};charc[7];//没有初始化

inti;for(i=0;i<=6;i++){printf("%5c%5c%5c",a[i],b[i],c[i]);printf("\n");}for(i=0;i<=6;i++){printf("%5d%5d%5d",a[i],b[i],c[i]);printf("\n");}}字符数组的初始化字符串给字符数组赋初值,系统自动加空字符‘\0’(终结符)‘’空格字符,ASCII编码为32‘\0’空字符,ASCII编码为0,两者均无法打印出来#include<stdio.h>voidmain(){charstr[]={“Seeyou!"};inti=0;while(str[i]!=‘\0’){printf("%c=%d\n",str[i],str[i]);i=i+1;}printf("%c=%d\n",str[i],str[i]);}S=83e=101e=101=32y=121o=111u=117!=33=0字符数组的引用与输入输出可以逐个引用字符串中的单个字符(数组元素)也可以一次引用整个字符串(数组)——数值数组不可以1.逐个字符数组元素输入输出%c2.整个字符串(数组)输入输出%s

数组名代表数组的首地址注:用%s输出,只要遇‘\0’就结束用%s输入,遇空格或回车认为输入结束对一维数组,数组名就是地址对二维字符数组,只写行下标,表示当前行的首地址main(){inti;chara[10]=“CHINA”;for(i=0;i<10;i++)printf(“%c”,a[i]);printf(“\n”);printf(“%s\n”,a);}chara[6];scanf(“%c”,&a[0]);scanf(“%s”,a);//输入:chinacharstr[3][4]={{“#”},{“##”},{“###”}};printf(“%s\n%s\n%s\n”,str[0],str[1],str[2]);######字符串处理函数字符串专用输入函数——gets(str)str表示字符数组从键盘输入一个字符串到字符数组与scanf的主要区别是:可以输入空格。遇“

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论