CornIT 2020-04-18 12:52 采纳率: 0%
浏览 159
已采纳

萌新请问关于数组的应用问题

编写程序,将 3 行 4 列的二维数组中每一行的前 3 个元素依次拼接成一个整数,并将该
整数存储到数组对应行中的最后一列。例如,

程序设计的具体要求如下:
(1)定义函数 int f(int n),根据参数 n 的值返回进位整数 t,t=10 k,k 为 n 的位数。
(2)定义函数 void fun(int p[][4],int n),借助函数 f 实现二维数组中元素的拼接。

萌新自查发现问题出现在fun函数里调用f函数的部分,不知道为什么没有办法正确的把t返回回来,fun函数不输出。

#include
using namespace std;
int f(int n)
{int t=10;
while(n<10)
{
n=n/10;
t=t*10;
}
cout<<t<<endl;
return t;
}
void fun(int p[][4],int n)
{
int b,c;
for(int r=0;r<3;r++)
{
for(int i=0;i<3;i++)
{
p[r][3]=p[r][3]*(f(p[r][i]))+p[r][i];
}
}
cout<<endl<<"the changed numbers is"<<endl;
for(int i=0;i<3;i++)
{
for(int r=0;r<4;r++)
{
cout<<p[i][r]<<'\t';
}
cout<<endl;
}
}

int main()
{
int a[3][4];
cout<<"Please enter in numbers"< for(int i=0;i for(int r=0;r {
cin>>a[i][r];
}
cout<<endl<<"Please check the numbers"<<endl;
for(int i=0;i<3;i++)
{
for(int r=0;r<4;r++)
{
cout<<a[i][r]<<'\t';
}
cout<<endl;
}
fun(a,3);
system("pause");
return 0;
}

  • 写回答

1条回答 默认 最新

  • gyxx_xc 2020-04-18 20:28
    关注
    int f(int n)
    {
        int t = 10;
        while(n < 10)
                ^
        {
            n = n / 10;
            t = t * 10;
        }
        cout << t << endl;
        return t;
    }
    

    应该是while(n>10)

    你可以手动模拟一下,如果这里是n < 10的话循环还没开始就结束了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试