有如下PAD流程图,写出相应c语言程序代码!在线等!急
答案:2 悬赏:50 手机版
解决时间 2021-11-15 18:09
- 提问者网友:贪了杯
- 2021-11-15 14:14
有如下PAD流程图,写出相应c语言程序代码!在线等!急
最佳答案
- 五星知识达人网友:玩世
- 2021-11-15 14:34
int i = 0,j = 0;
while(s[i])
{
if(s[i] == c)
for(j = i + 1; s[j]; j++)
s[j - 1] = s[j];
else i++;
}追问不行,有错!错误的大概意思是:s没有被明确的定义!追答确实应该有错的,因为你那个只是流程图的一部分,包括s[]是个什么数组以及c是数还是字符都没有在你所给出的图上反映出来,所以所给出的答案只是一段程序而已,反映这一部分流程图的追问没有,老师说s[]和c是参数。自己定义!没懂什么意思。。追答哦,原来这个还需要自己定义,我以为是图的一部分或者之前题目有说明。那你就根据情况自己定义下吧,把s[]和c定义为同一种类型。这个流程图的大致意思就是删除数组s中等于c的数据。
下面的程序只是一个简单的例子。抛砖引玉了。
#include
int main()
{ char s[]="hello";
char c='l';
int count=0;
int i = 0,j = 0;
while(s[i])
{
if(s[i] == c)
{
for(j = i + 1; s[j]; j++)
s[j - 1] = s[j];
count++;
}
else i++;
}
for(i=0;i<5-count;i++)
printf("%c",s[i]);
printf("\n");
return 0;
}来自:求助得到的回答
while(s[i])
{
if(s[i] == c)
for(j = i + 1; s[j]; j++)
s[j - 1] = s[j];
else i++;
}追问不行,有错!错误的大概意思是:s没有被明确的定义!追答确实应该有错的,因为你那个只是流程图的一部分,包括s[]是个什么数组以及c是数还是字符都没有在你所给出的图上反映出来,所以所给出的答案只是一段程序而已,反映这一部分流程图的追问没有,老师说s[]和c是参数。自己定义!没懂什么意思。。追答哦,原来这个还需要自己定义,我以为是图的一部分或者之前题目有说明。那你就根据情况自己定义下吧,把s[]和c定义为同一种类型。这个流程图的大致意思就是删除数组s中等于c的数据。
下面的程序只是一个简单的例子。抛砖引玉了。
#include
int main()
{ char s[]="hello";
char c='l';
int count=0;
int i = 0,j = 0;
while(s[i])
{
if(s[i] == c)
{
for(j = i + 1; s[j]; j++)
s[j - 1] = s[j];
count++;
}
else i++;
}
for(i=0;i<5-count;i++)
printf("%c",s[i]);
printf("\n");
return 0;
}来自:求助得到的回答
全部回答
- 1楼网友:患得患失的劫
- 2021-11-15 14:44
这段代码会删除(覆盖)ASCII码是c的字符。
int i = 0,j = 0;
while(s[i]) {
if(s[i] == c) for(j = i + 1; s[j]; j++) s[j - 1] = s[j];
else i++;
}追问也是有错!同样的错误:s没有被明确定义!这是我预测的考试题目。昨晚真考到了,不过没会做!
int i = 0,j = 0;
while(s[i]) {
if(s[i] == c) for(j = i + 1; s[j]; j++) s[j - 1] = s[j];
else i++;
}追问也是有错!同样的错误:s没有被明确定义!这是我预测的考试题目。昨晚真考到了,不过没会做!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯