if(*p ='0' *p='9')
成都创新互联于2013年成立,先为东昌府等服务建站,东昌府等地企业,进行企业商务咨询服务。为东昌府企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
{ *p1=*p;p1++;}
else
{*p2=*p;p2++;}
p++;
那分
# include stdio.h
int main ()
{
float a,b,c;
char op;
printf ("请输入一个算式,如'7*9'。\n");
scanf ("%f%c%f",a,op,b);
switch (op)
{ case '+' : c=a+b;break;
case '-' : c=a-b;break;
case '*' : c=a*b;break;
case '/' : if (b!=0) c=a/b; else {printf ("你所输入的算式不合法\n");return 0;}
}
printf ("%f%c%f=%f\n\n\n",a,op,b,c);
return 0;
}
/*如何把上面这个转置3*3 二维数组程序转换成俩个子函数*/
#includestdio.h
int arr[3][3];//将数组arr定义成一个全局变量
int main()
{
int sr();
int sc();
sr();//输入二维数组
sc();//输出转置后的二维数组
}
int sr(){
int i,j;
for(i=0;i3;i++)
for(j=0;j3;j++)
scanf("%d",arr[i][j]);
return 0;
}
int sc(){
int i,j;
for(i=0;i3;i++)
{
for(j=0;j3;j++)
printf("%d ",arr[j][i]);
printf("\n");
}
return 0;
}
运行结果:
严格意义上,你的这个转置并没有改变arr数组原来的值,换句话说,执行完sc后,arr的值并没有改变成转置数组。
可以利用中间数组来完成数组转置,修改如下:
如何把上面这个转置3*3 二维数组程序转换成俩个子函数*/
#includestdio.h
int arr[3][3];//将数组arr定义成一个全局变量
int main()
{
int sr();
int sc();
void printfarr(int arr[3][3]);
sr();//输入二维数组
sc();//转置
printfarr(arr);//输出数组
return 0;
}
int sr(){
int i,j;
for(i=0;i3;i++)
for(j=0;j3;j++)
scanf("%d",arr[i][j]);
return 0;
}
int sc(){
int i,j;
int br[3][3];
for(i=0;i3;i++)
for(j=0;j3;j++)
br[i][j]=arr[j][i];//转置后的数组暂放在数组br中
for(i=0;i3;i++)
for(j=0;j3;j++)
arr[i][j]=br[i][j];//将转置后的数组赋值给arr;
return 0;
}
void printfarr(int arr[3][3]){//输出数组
int i,j;
for(i=0;i3;i++)
{
for(j=0;j3;j++)
printf("%d ",arr[i][j]);
printf("\n");
}
}
结果和上边一样。