void root2(float a,float b,float c) {
float p; p=-b/(2*a);
printf(\方程的两个根为:x1=x2=%6.2f\\n\\n\}
void root3(float a,float b,float c) {
float p,q; p=-b/(2*a);
q=sqrt(-b*b+4*a*c)/(2*a);
printf(\方程的两个根为:x1=%6.2f+%6.2fi,x2=%6.2f-%6.2fi\\n\\n\} 8-3
#include
int prime(int); int x;
printf(\输入一个正整数\\n\\n\ scanf(\
if(prime(x)==0) printf(\此数为素数\\n\\n\ else printf(\此数不是素数\\n\\n\}
int prime(int x) {
int i,flag;
for(i=2;i if(x%i==0) { flag=1; break; } else flag=0; } return(flag); } 8-4 #include void exchange(int a[3][3]); int a[3][3],i,j; printf(\输入一个3*3的矩阵\\n\\n\ for(i=0;i<3;i++) { for(j=0;j<3;j++) { scanf(\ } } exchange(a); printf(\转置后的矩阵为:\\n\\n\ for(i=0;i<3;i++) { for(j=0;j<3;j++) { printf(\ } printf(\ } } 8-5 #include void exchange(char str[]); char str[80]; printf(\输入一个字符串\\n\\n\ gets(str); exchange(str); printf(\反序字符串为:\\n\\n\ puts(str); } void exchange(char str[]) { int i,j,k; char temp; for(i=0;;i++) { if(str[i]=='\\0') break; } k=i/2; for(j=0;j<=k;j++) { temp=str[j]; str[j]=str[i-1-j]; str[i-1-j]=temp; } str[i]='\\0'; } 8-6 #include void strcat(char str1[],char str2[]); char str1[80],str2[80]; printf(\输入str1\\n\\n\ gets(str1); printf(\输入str2\\n\\n\ gets(str2); strcat(str1,str2); printf(\连接后的字符串为:\\n\\n\ puts(str1); } void strcat(char str1[],char str2[]) { int i,j; for(i=0;;i++) { if(str1[i]=='\\0') { for(j=0;str2[j]!='\\0';j++) { str1[i]=str2[j]; i+=1; } break; } } str1[i]='\\0'; } 8-7 #include void strcpy(char str1[],char str2[]); char str1[80],str2[80]; printf(\输入str2\\n\\n\ gets(str2); strcpy(str1,str2); printf(\复制后的字符串为:\\n\\n\ puts(str1); } void strcpy(char str1[],char str2[]) { int i,j=0; for(i=0;str2[i]!='\\0';i++) { if((str2[i]=='a')||(str2[i]=='e')||(str2[i]=='i')||(str2[i]=='o')||(str2[i]=='u')) { str1[j]=str2[i]; j++; } } str1[j]='\\0'; } 8-8 #include void stradd(char str[]); char str[80]; printf(\输入一串数字\\n\\n\ gets(str); stradd(str); printf(\加空格后的字符串\\n\\n\ puts(str); } void stradd(char str[]) { char a[80]; int i=0,j; for(j=0;str[j]!='\\0';j++) { a[i]=str[j]; a[i+1]=' '; i+=2; } a[i]='\\0'; for(i=0;a[i]!='\\0';i++) { str[i]=a[i]; } str[i]='\\0'; } 8-9 #include void num(char str[],int a[]); char str[80]; int a[4]={0}; printf(\输入一个字符串\\n\\n\ gets(str); num(str,a); printf(\字母个数为: %d\\n\ printf(\数字个数为: %d\\n\ printf(\空格个数为: %d\\n\ printf(\其它字符个数为:%d\\n\} void num(char str[],int a[]) { int i,word=0,num=0,span=0,oth=0; for(i=0;str[i]!='\\0';i++) { if((str[i]>='A'&&str[i]<='Z')||(str[i]>='a'&&str[i]<='z')) word+=1; else if(str[i]>=48&&str[i]<=57) num+=1; else if(str[i]==' ') span+=1; else oth+=1; } a[0]=word; a[1]=num; a[2]=span; a[3]=oth; } 8-10 #include int word(char c);