第一篇:c语言答案
6-13
#include
int i=0,j=0;
printf(“input string1:”);
scanf(“%s”,s1);
printf(“input string2:”);
scanf(“%s”,s2);
while(s1[i]!=' ')
i++;
while(s2[j]!=' ')
s1[i++]=s2[j++];
s1[i]=' ';
printf(“nThe new string is:%sn”,s1);
return 0;}
6-14 #include
char s1[100],s2[100];
printf(“input string1:”);
gets(s1);
printf(“ninput string2:”);
gets(s2);
i=0;
while((s1[i]==s2[i])&&(s1[i]!=' '))i++;
if(s1[i]==' ' && s2[i]==' ')
resu=0;
else
resu=s1[i]-s2[i];
printf(“nresult:%d.n”,resu);
return 0;}
6-15 #include
int i;
printf(“input s2:”);
scanf(“%s”,s2);
for(i=0;i<=strlen(s2);i++)
s1[i]=s2[i];
printf(“s1:%sn”,s1);
return 0;}
第7章用函数实现模块化程序设计170 7.1为什么要用函数170 7.2怎样定义函数172 7.2.1为什么要定义函数172 7.2.2定义函数的方法173 7.3调用函数174 7.3.1函数调用的形式174 7.3.2函数调用时的数据传递175 7.3.3函数调用的过程177 7.3.4函数的返回值178 7.4对被调用函数的声明和函数原型179 7.5函数的嵌套调用182 7.6函数的递归调用184 7.7数组作为函数参数192 7.7.1数组元素作函数实参193 7.7.2数组名作函数参数194 7.7.3多维数组名作函数参数197 7.8局部变量和全局变量199 7.8.1局部变量199 7.8.2全局变量200 7.9变量的存储方式和生存期204 7.9.1动态存储方式与静态存储方式204 7.9.2局部变量的存储类别205 7.9.3全局变量的存储类别208 7.9.4存储类别小结212 7.10关于变量的声明和定义214 7.11内部函数和外部函数215 7.11.1内部函数215 7.11.2外部函数215习题218 7-1-1 #include
int lcd(int,int,int);
int u,v,h,l;
scanf(“%d,%d”,&u,&v);
h=hcf(u,v);
printf(“H.C.F=%dn”,h);
l=lcd(u,v,h);
printf(“L.C.D=%dn”,l);
return 0;}
int hcf(int u,int v){int t,r;if(v>u)
{t=u;u=v;v=t;} while((r=u%v)!=0)
{u=v;
v=r;} return(v);}
int lcd(int u,int v,int h)
{
return(u*v/h);
}
7-1-2 #include
void lcd(int,int);
int u,v;
scanf(“%d,%d”,&u,&v);
hcf(u,v);
lcd(u,v);
printf(“H.C.F=%dn”,Hcf);
printf(“L.C.D=%dn”,Lcd);
return 0;}
void hcf(int u,int v){int t,r;if(v>u)
{t=u;u=v;v=t;} while((r=u%v)!=0)
{u=v;
v=r;
} Hcf=v;}
void lcd(int u,int v)
{
Lcd=u*v/Hcf;
}
7-2 #include
{
greater_than_zero(a,b);
printf(“x1=%fttx2=%fn”,x1,x2);
} else if(disc==0)
{equal_to_zero(a,b);
printf(“x1=%fttx2=%fn”,x1,x2);
} else
{smaller_than_zero(a,b);
printf(“x1=%f+%fitx2=%f-%fin”,p,q,p,q);
} return 0;}
void greater_than_zero(float a,float b){x1=(-b+sqrt(disc))/(2*a);
x2=(-b-sqrt(disc))/(2*a);}
void equal_to_zero(float a,float b){
x1=x2=(-b)/(2*a);}
void smaller_than_zero(float a,float b){
p=-b/(2*a);
q=sqrt(-disc)/(2*a);}
7-3 #include
int n;
printf(“input an integer:”);
scanf(“%d”,&n);
if(prime(n))
printf(“%d is a prime.n”,n);
else
printf(“%d is not a prime.n”,n);
return 0;}
int prime(int n)
{int flag=1,i;
for(i=2;i if(n%i==0) flag=0; return(flag); } 7-4 #include for(j=0;j scanf(“%d”,&array[i][j]);printf(“noriginal array :n”);for(i=0;i {for(j=0;j printf(“%5d”,array[i][j]); printf(“n”); } convert(array);printf(“convert array:n”);for(i=0;i {for(j=0;j printf(“%5d”,array[i][j]); printf(“n”); } return 0;} void convert(int array[][3]){int i,j,t;for(i=0;i for(j=i+1;j {t=array[i][j]; array[i][j]=array[j][i]; array[j][i]=t; } } #include void inverse(char str[]){char t; int i,j; for(i=0,j=strlen(str);i<(strlen(str)/2);i++,j--) {t=str[i]; str[i]=str[j-1]; str[j-1]=t; } } 7-6 #include void concatenate(char string1[],char string2[],char string[]){int i,j;for(i=0;string1[i]!=' ';i++) string[i]=string1[i];for(j=0;string2[j]!=' ';j++) string[i+j]=string2[j];string[i+j]=' ';} 7-7 #include void cpy(char s[],char c[]){ int i,j; for(i=0,j=0;s[i]!=' ';i++) if(s[i]=='a'||s[i]=='A'||s[i]=='e'||s[i]=='E'||s[i]=='i'|| s[i]=='I'||s[i]=='o'||s[i]=='O'||s[i]=='u'||s[i]=='U') {c[j]=s[i]; j++; } c[j]=' ';} 7-8 #include void insert(char str[]){int i;for(i=strlen(str);i>0;i--) {str[2*i]=str[i]; str[2*i-1]=' '; } printf(“output:n%sn”,str);} 7-9 #include printf(“nletter:%dndigit:%dnspace:%dnothers:%dn”,letter,digit,space,others);return 0;} void count(char str[]){int i;for(i=0;str[i]!=' ';i++)if((str[i]>='a'&& str[i]<='z')||(str[i]>='A' && str[i]<='Z')) letter++;else if(str[i]>='0' && str [i]<='9') digit++;else if(str[i]==32) space++;else others++;} 7-10 #include printf(“%c”,line[i]);printf(“n”);return 0;} int alphabetic(char c){if((c>='a' && c<='z')||(c>='A'&&c<='z')) return(1);else return(0);} int longest(char string[]){int len=0,i,length=0,flag=1,place=0,point;for(i=0;i<=strlen(string);i++) if(alphabetic(string[i])) if(flag) {point=i; flag=0; } else len++; else {flag=1; if(len>=length) {length=len;place=point;len=0;} } return(place);} 7-11 #include {printf(“input string:n”); scanf(“%s”,&str); if(strlen(str)>N) printf(“string too long,input again!”); else flag=0; } sort(str);printf(“string sorted:n”);for(i=0;i printf(“%c”,str[i]);printf(“n”);return 0;} void sort(char str[]){int i,j;char t;for(j=1;j for(i=0;(i