就是删除字符串中的指定字符,但是有一点不同,例如输入*******ASC*YU***hon*******输出就是*******ASCYUhon*******字符串两边的*号不去掉,就去掉字母中间的*。。。O(∩_∩)O谢谢
#include<stdio.h>
int main(){ char a[81],b[81],*p; int k=0,i=0; scanf("%s",a); p=a; while( *p == '*') { b[k] = *p; k++; p++; i++; } while( *p != '\0') { if (*p != '*') { b[k]=*p; k++; } p++; i++; } while(*(a+i)='\0') { if(*(a+i) = '*') { b[k]=*(a+i); k++; } i++; } puts(b); return 0;}
那应该怎么改,不知道字符串中的字符数量呀
追答这样吧,等我十五分钟,我给你写个,你看看,行吧?
追问哦哦,也行。O(∩_∩)O谢谢
追答#include
int main()
{
char a[81],b[81],*p;
int k=0,i=0,j;
for(j=0;a[j-1]!='\n';j++)
{
a[j]=getchar();
}
a[j-1]='\0';
p=a;
while( *p == '*')
{
b[k] = *p;
k++;
p++;
i++;
}
while( *p != '\0')
{
if (*p != '*')
{
b[k]=*p;
k++;
}
p++;
i++;
}
while(*(a+i)='\0')
{
if(*(a+i) = '*')
{
b[k]=*(a+i);
k++;
}
i++;
}
puts(b);
return 0;
}
我把你的输入的地方改了一下,你看看行不行
还是乱码,我再改改吧,不知道自己哪里错了。
那应该是你的算法有问题,改不好可以继续问我O(∩_∩)O
追问那我自己再改一下,谢谢啦
C语言出现报错咋搞在线等急
有多处错误,修正后如下:include <stdio.h>void main(){ char a; printf("\\n请输入一个字符\\n");\/\/函数名是printf scanf("%c",&a); if(a>='a'&&a<='z'){\/\/删除分号;加大括号{} a-=32; printf("%c",a);\/\/函数名是printf } else if(a>='A'&&a<='Z'){\/\/加大括号...
C语言命令问题..急..在线等
1.在程序编辑完后按f9进行编译 2.要返回编辑窗口修改 程序,按f6,修改后运行编辑 3.要运行程序可选择RUM菜单中的RUN命令,也可用快捷键ctrl+f9 4.观察结果alt+f5。f2是保存。其他都忘记了。上学时的笔记上就记了这么多,你看着用吧。我刚翻出我的c程序设计第二版来看。笔记虽然乱了点,但重点...
C语言 在线等 补充程序 中间那是我写的 帮我看一下有什么错误 改一下...
if(str1[i]==ch)break;count(str1);return count;\/***end***\/ 修改如下:\/***begin***\/ int count =0; \/\/这里先声明和初始化。for(i=0; str1[i] !='0'; i++) \/\/下标是从0开始的。if(str1[i]==ch)count++;return count; \/\/我觉得这是计算字符在字符串中出现...
C语言 在线等 改错!found 下一行的错误 其他不动
有几处错误 首先输入语句scanf("%d",&a[i]);要加取地址符& 还有break用的有问题 中断运行 下面的不会被执行
c语言,在线等高手解答,很短的
scanf("%d,&a[i]");这一行代码错了。改成 scanf("%d",&a[i]);
...之间所有整数和的函数。改了好多遍都有错,在线等,急
include <stdio.h> int sum(int m, int n);int main(){ int m, n;scanf("%d %d", &m, &n);printf("sum = %d\\n", sum(m, n));return 0;} \/* 你的代码将被嵌在这里 *\/ int sum(int m,int n){ int total=0;while(m<=n){ total+=m;m++;} return total;} ...
C语言改错,输入一个整数m计算如下t=1-1\/2-1\/3-1\/4-。。。1\/m 不得增...
double MyLim( int m ){ double t = 1.0;int i;\/***found***\/ for( i = 2; i <= m; i++ )t = t - 1.0\/i;\/*t = 1.0 -1.0\/t;*\/ return( t );} main(){ int m ;system("cls");printf( "\\nPlease enter 1 integer numbers:\\n" );\/***found***\/ scanf...
c语言程序改错,速求高手高奖励,代码如下,我觉得错误是字符串的值Z付...
test.c:3:14: 错误: ‘y1’被重新声明为不同意义的符号 可以判断y0和y1已经被定义了,猜测是math.h,也算是情理之中。所以要改个名。用文本工具替换y0为y01,替换y1为y02,再编译:undefined reference to `getch'哦,linux下面只有getchar(),加上之后,编译通过。程序执行:the best result:...
c语言 在线等
第一题:include <stdio.h>int f(int b[], int n){ int i,r; r=1; for(i=0;i<=n;i++) r=r*b[i]; return r;}main(){ int x,a[]={2,3,4,5,6,7,8,9}; x=f(a,3);printf("%d\\n",x);}运行结果:120 ...
c语言,急,在线等待!错在哪里
刚学吧,要努力啊!首先循环条件(i<=k)不能判断是否成立(k没有初始化)。在有就是s初值不能是1,要不然结果会多1。还有就是应该是sum=1.0\/(sum*1)。sum应定义成float类型。不过你的程序结果是不对的。