鱼C论坛

 找回密码
 立即注册
查看: 1056|回复: 1

[已解决]c

[复制链接]
发表于 2019-12-7 22:12:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
)程序填空:下面程序要实现的功能是:一个整型数组有 10 个元素,删除所有值为 m 的 元素,其运行结果见图 4-2。

图 4-2  删除数组元素程序的运行结果
#include <stdio.h> void deletep(int p[],int a,int *k); void main() {   int a[10];     int i,m,n=10;     printf("请输入 10 个数:");     for (i=0;i<10;i++)     scanf("%d,",&a[i]);     printf("\n 输入要删除数 m:");     scanf("%d",&m);     deletep(     (1)   );     for(i=0;i<n;i++)       printf("%5d",a[i]);     printf("\n"); } void deletep(int p[],int m,int *k) {   int j=0,t;     while(      (2)   )     {    if(  (3)  )    {      (*k)--;         for(t=j;t<*k;t++)            (4)  ;    }      else         j++;  } }
最佳答案
2019-12-8 21:57:23
  1. #include <stdio.h>

  2. void deletep(int p[], int a, int *k);

  3. void main() {
  4.     int a[10];
  5.     int i, m, n = 10;
  6.     printf("请输入 10 个数:");
  7.     for (i = 0; i < 10; i++)
  8.         scanf("%d,", &a[i]);
  9.     printf("\n 输入要删除数 m:");
  10.     scanf("%d", &m);
  11.     deletep(a, m, &n);    //(1)
  12.     for (i = 0; i < n; i++)
  13.         printf("%5d", a[i]);
  14.     printf("\n");
  15. }

  16. void deletep(int p[], int m, int *k)
  17. {
  18.     int j = 0, t;
  19.     while (j < *k)    //(2)
  20.     {
  21.         if (p[j] == m)    //(3)
  22.         {
  23.             (*k)--;
  24.             for (t = j; t < *k; t++)
  25.                 p[t] = p[t + 1];    //(4)
  26.         }
  27.         else
  28.             j++;
  29.     }
  30. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-12-8 21:57:23 | 显示全部楼层    本楼为最佳答案   
  1. #include <stdio.h>

  2. void deletep(int p[], int a, int *k);

  3. void main() {
  4.     int a[10];
  5.     int i, m, n = 10;
  6.     printf("请输入 10 个数:");
  7.     for (i = 0; i < 10; i++)
  8.         scanf("%d,", &a[i]);
  9.     printf("\n 输入要删除数 m:");
  10.     scanf("%d", &m);
  11.     deletep(a, m, &n);    //(1)
  12.     for (i = 0; i < n; i++)
  13.         printf("%5d", a[i]);
  14.     printf("\n");
  15. }

  16. void deletep(int p[], int m, int *k)
  17. {
  18.     int j = 0, t;
  19.     while (j < *k)    //(2)
  20.     {
  21.         if (p[j] == m)    //(3)
  22.         {
  23.             (*k)--;
  24.             for (t = j; t < *k; t++)
  25.                 p[t] = p[t + 1];    //(4)
  26.         }
  27.         else
  28.             j++;
  29.     }
  30. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-27 09:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表