24小时热门版块排行榜    

查看: 436  |  回复: 1

kitty1406

银虫 (小有名气)

[求助] C语言求助

1.写一通用函数,实现从一个一维数组中寻找一个指定的一个数,若找到,返回该数所在的下标,否则返回-1
#include
int find(int s[5],int a)
{int i,u;
for(i=0;i<4;i++)
   if(a==s)
     {printf("number=% d",i);
      u=i;
      break;}

return u;
}
main()
{int x,s[5],j,k;
for(j=0;j<5;j++)
   {scanf("%d",k);
    s[j]=k;}
printf("the number want to find:\n";
scanf("%d",&x);
printf("%d",find(s[5],x));
getch();
}
运行结果:1 2 3 4 5
                 the number want to find:4 (无论输哪个数,在不在数组内)
          -1
2.写一个通用函数slength,求出一个字符串的长度,并用main函数调用slength(不能调用系统的slength函数)
#include
int strlen(char *s)
{int i=0;
while(*s!='\0')
  {s=s+i;
  i++;}
return i;}
main()
{char *str="dent";
printf("length=%d",strlen(*str));
getch();
}
运行后求得的长度很奇怪 没有规律的值
3.写一个函数,讲4*4阶矩阵转置
#include
int change(int *a[][4])
{int i,j,temp,p;
for(i=0;i<2;i++)
   for(j=0;j<2;j++)
     {temp=a[j];
     a[j]=a[j];
     a[j]=temp;}
return a[j];
main()
{int m,n,a[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};
/*for(m=0;m<4;m++)
   for(n=0;n<4;n++)
     scanf("%d",&a[m][n]); */
printf("change square:\n";
for(m=0;m<4;m++)
   {for(n=0;n<4;n++)
     printf("%d,",change(a));
   printf("\n";}
   getch();
}


大家帮忙看看,都错在哪里了啊,我找不出来
回复此楼

» 猜你喜欢

不辱使命
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

kitty1406

银虫 (小有名气)

1.写一通用函数,实现从一个一维数组中寻找一个指定的一个数,若找到,返回该数所在的下标,否则返回-1
#include
int find(int s[5],int a)
{int i,u;
for(i=0;i<4;i++)
   if(a==s)
     {printf("number=% d",i);
      u=i;
      break;}

return u;
}
main()
{int x,s[5],j,k;
for(j=0;j<5;j++)
   {scanf("%d",k);
    s[j]=k;}
printf("the number want to find:\n";
scanf("%d",&x);
printf("%d",find(s[5],x));
getch();
}
运行结果:1 2 3 4 5
                 the number want to find:4 (无论输哪个数,在不在数组内)
          -1
2.写一个通用函数slength,求出一个字符串的长度,并用main函数调用slength(不能调用系统的slength函数)
#include
int strlen(char *s)
{int i=0;
while(*s!='\0')
  {s=s+i;
  i++;}
return i;}
main()
{char *str="dent";
printf("length=%d",strlen(*str));
getch();
}
运行后求得的长度很奇怪 没有规律的值
3.写一个函数,讲4*4阶矩阵转置
#include
int change(int *a[][4])
{int i,j,temp,p;
for(i=0;i<2;i++)
   for(j=0;j<2;j++)
     {temp=a[j];
     a[j]=a[j];
     a[j]=temp;}
return a[j];
main()
{int m,n,a[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};
/*for(m=0;m<4;m++)
   for(n=0;n<4;n++)
     scanf("%d",&a[m][n]); */
printf("change square:\n";
for(m=0;m<4;m++)
   {for(n=0;n<4;n++)
     printf("%d,",change(a));
   printf("\n";}
   getch();
}
不辱使命
2楼2012-12-18 16:00:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 kitty1406 的主题更新
信息提示
请填处理意见