帮帮忙啊,仁兄们,急用啊,C语言,C语言

一、程序填空题请补充函数proc,该函数的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。例如,若一维... 一、程序填空题
请补充函数proc,该函数的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。
例如,若一维数组中的数据是:1 1 2 2 2 3 4 4 5 5 6 6 6 7 7 8 10 10。
删除后,数组中的内容应该是:1 2 3 4 5 6 7 8 10。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数proc的横线上填入所编写的若干表达式或语句。
试题程序:
#include <stdio.h>
#define M 80
int proc(int arr〔〕,int n)
{
int i, t,j=0;
t=arr〔0〕;
for (i=1;i<n;i++)
if(【1】);
else
{ 【2】;
t=arr〔i〕;
}
arr〔j++〕=t;
return j;
}
void main()
{ int arr〔M〕={1,1,2,2,2,3,4,4,5,5,6,6,6,7,7,8,10,10},i,n=18;
printf("The original data:\n");
for (i=0;i<n; i++)
printf("%4d",arr〔i〕);
n=proc(arr,n);
printf("\n\nThe data after deleted ;\n");
for (i=0;i<n;i++)
printf("%4d",arr〔i〕);
printf("\n");
}
二、程序改错题
下列给定程序中,函数proc的功能是:将m(1≤m≤10)个字符串连接起来,组成一个新串,放入pt所指字符串中,例如,把2个字符串abc、CD串联起来,结果是abcCD。
请修改程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include <stdio.h>
/*******found*******/
int proc(char str〔〕〔10〕,int m,char *pt)
{ int k,q,i,j=0;
for (k=0;k<m;k++)
{ q=strlen(str〔k〕);
j+=q;
for (i=0;i<q;i++)
/*******found*******/
pt〔i〕=str〔k,i〕;
pt+=q;
pt〔0〕=0;
}
pt-=j;
}
void main()
{ int m, h;
char str〔10〕〔10〕,p〔120〕;
system("CLS");
printf("\nPlease enter m: ");
scanf("%d",&m); gets(str〔0〕);
printf("\nPlease enter %d string:\n ",m);
for (h=0;h<m;h++) gets(str〔h〕);
proc(str,m,p);
printf("\nThe result is :%s\n ",p);
}
三、程序设计题
请编写函数proc,该函数的功能是:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。例如,若二维数组中的数据为:
W W W
S S S
H H H
I I I
则字符串中的内容应是WSHIWSHIWSHI。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数proc的花括号中填入所编写的若干语句。
试题程序:
#include <stdio.h>
#define M 4
#define N 3
void proc(char (*s)〔N〕,char *b)
{

}
void main()
{ char a〔100〕,w〔M〕〔N〕={{‘W’,‘W’,‘W’},
{‘S’,‘S’,‘S’,},{‘H’,‘H’,‘H’,}, {‘I’,‘I’,‘I’}};
int i,j;
printf("The matrix:\n");
for (i=0;i<M;i++)
{ for (j=0;j<N;j++)
printf("%3c",w〔i〕〔j〕);
printf("\n");
}
proc(w,a);
printf("The A string:\n");
puts(a);
printf("\n\n");
}
展开
 我来答
2WDragon
2009-06-21 · TA获得超过190个赞
知道小有建树答主
回答量:229
采纳率:0%
帮助的人:293万
展开全部
一、
#include <stdio.h>
#define M 80
int proc(int arr[],int n)
{
int i, t,j=0;
t=arr[0];
for (i=1;i<n;i++)

if(t==arr[i]);
else
{ arr[j++]=t;
t=arr[i];
}
arr[j++]=t;
return j;
}
void main()
{ int arr[M]={1,1,2,2,2,3,4,4,5,5,6,6,6,7,7,8,10,10},i,n=18;
printf("The original data:\n");
for (i=0;i<n; i++)
printf("%4d",arr[i]);
n=proc(arr,n);
printf("\n\nThe data after deleted ;\n");
for (i=0;i<n;i++)
printf("%4d",arr[i]);
printf("\n");
}
二、
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include <stdio.h>
/*******found*******/
void proc(char str[][10],int m,char *pt)
{ int k,q,i,j=0;
for (k=0;k<m;k++)
{ q=strlen(str[k]);
j+=q;
for (i=0;i<q;i++)
/*******found*******/
pt[i]=str[k][i];
pt+=q;
pt[0]=0;
}
pt-=j;
}
void main()
{ int m, h;
char str[10][10],p[120];
system("CLS");
printf("\nPlease enter m: ");
scanf("%d",&m); gets(str[0]);
printf("\nPlease enter %d string:\n ",m);
for (h=0;h<m;h++) gets(str[h]);
proc(str,m,p);
printf("\nThe result is :%s\n ",p);
}

三、
#include <stdio.h>
#define M 4
#define N 3
void proc(char (*s)[N],char *b)
{
int i,j;

for(j=0;j<N;j++)
for(i=0;i<M;i++)
*b++=*(*(s+i));
*b='\0';
}
void main()
{ char a[100],w[M][N]={{'W','W','W'},
{'S','S','S',},{'H','H','H',}, {'I','I','I'}};
int i,j;
printf("The matrix:\n");
for (i=0;i<M;i++)
{ for (j=0;j<N;j++)
printf("%3c",w[i][j]);
printf("\n");
}
proc(w,a);
printf("The A string:\n");
puts(a);
printf("\n\n");
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式