「已注销」 2020-11-30 19:13 采纳率: 0%
浏览 12

该怎么把它写成函数调用啊?void count(int a[],b[],int k)

  1. #include <stdio.h>
    int main()
    {   
        static int b[]={5,26,74,56,1,27},a[10]={0},i,j,k=6;
      	for(j=0;j<k;j++)
         {if(b[j]>=10)
          { a[i=b[j]%10]++;
           a[i=b[j]/10]++;
          }
         else
         {a[b[j]]++;}
        }
      	 for(i=0;i<10;i++)
      	 printf("%3d",a[i]);
    }

 

  • 写回答

1条回答 默认 最新

  • 芣苢的成长之路 2023-06-27 00:22
    关注

    可以按照以下步骤进行设计:
    1、创建一个名为 countDigits 的函数,该函数接受一个整数数组 b 和数组的大小 k,并返回一个表示每个数字出现次数的整数数组。
    2、在 countDigits 函数内部,声明并初始化一个长度为 10 的整数数组 a,用于存储每个数字出现的次数。
    3、使用循环遍历数组 b 中的元素,从索引 0 到 k-1。
    4、在循环中,使用条件语句判断当前元素 b[j] 的值是否大于等于 10。
    5、如果 b[j] 大于等于 10,执行以下操作:
    6、使用模运算 % 获取 b[j] 的个位数,并将其作为索引,将 a 数组中对应位置的值加1。
    7、使用除法运算 / 获取 b[j] 的十位数,并将其作为索引,将 a 数组中对应位置的值加1。
    8、如果 b[j] 小于 10,执行以下操作:
    9、将 b[j] 直接作为索引,将 a 数组中对应位置的值加1。
    10、循环结束后,返回整数数组 a。
    11、在 main 函数中调用 countDigits 函数,并将结果存储在一个整数数组中。
    12、使用循环遍历结果数组,并打印每个数字出现的次数。

    
    #include <stdio.h>
    
    void countDigits(int b[], int a[], int k) {
        int i, j;
        for (j = 0; j < k; j++) {
            if (b[j] >= 10) {
                a[i = b[j] % 10]++;
                a[i = b[j] / 10]++;
            } else {
                a[b[j]]++;
            }
        }
    }
    
    int main() {
        int b[] = {5, 26, 74, 56, 1, 27};
        int a[10] = {0};
        int k = 6;
        
        countDigits(b, a, k);
    
        for (int i = 0; i < 10; i++) {
            printf("%3d", a[i]);
        }
    
        return 0;
    }
    
    
    评论

报告相同问题?

悬赏问题

  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。