C语言编程问题:输入一个字符串,再输入一个字符ab,将字符串中所有的ab字符删除后输出该字符串。

作者&投稿:桂牵 (若有异议请与网页底部的电邮联系)
C语言编程:输入一个字符和字符串,删除字符串中和输入字符相同的所有字符,输出处理后的字符串。~

#include
#include
#define LEN 100

void delete_same(char * str,char ch)
{
int i=0;

for(i=0;str[i]!=0;i++)
{
if(str[i]==ch)
{
strcpy(str+i,str+i+1);/*删除相同元素*/
}
i--;
}
}

void main()
{
char ch;
char str[LEN];

printf("Please input the string:");
gets(str);

printf("Please input ch:");
ch=getchar();

delete_same(str,ch);

printf("After modify string is:%s
",str);
}

#include
int main()
{
char a[80];
gets(a);
int i, j = 0;
for(i=0; a[i]; i++)
if((a[i] >= 'a' && a[i] ='A' && a[i] <= 'Z'))
{
a[j] = a[i];
j++;
}
a[j] = '\0';
puts(a);
return 0;
}

扩展资料:main函数用法
1、C++中的main函数
C++继承了C语言的大部分特性,因此保留了“程序总是从main函数开始执行,且总是默认从main函数的return语句或结尾处结束运行”这一传统,但是要注意,C++中的main函数要想作为程序执行的出入口,必须写在全局(Global)范围,
不能写成某个结构体或某个类的成员。虽然main函数可以作为结构体或者类的成员函数,但相应地会失去作为程序出入口的功能。
C++中全局main函数的书写格式与C语言完全相同,功能也完全相同,且同一C++程序同样只能有一个全局main函数。
2、Java中的main函数
Java同样是以main函数作为程序执行出入口的,但Java作为“更纯洁”的面向对象语言,它的main函数与C/C++有很大的不同。
首先,返回值的概念淡化,在Java Application中main不允许返回值,因此int main是被禁止的,必须使用void main,int main仅限在JavaBean中使用。
其次,Java中所有的函数必须属于类,没有什么全局函数一说,因此main函数不能是全局成员,必须是某个类的成员。
第三,由于main函数变成了类的成员函数,因此要想直接被系统调用,还必须使用public static使其成为静态函数并具有公开权限。
第四,main函数的参数被简化,只需要提供字符串数组即可,不需要提供参数个数(这是由于Java的数组具有下标检查功能的原因)
Java Application中的main函数一般格式如下(类名可以自定义,但保存为Java源码时,主文件名必须与类名相同,否则可能无法运行)
public class MainDemo{
public static void main(String[]args){
//TODO:在此处写入主函数的内容
}
}
Java Applet的运行机制与Java Application完全不同,因此不需要main函数
3、C#中的main函数
C#中的main函数与Java大同小异,同样必须是类成员,同样使用字符串数组作唯一参数,同样是静态函数,同样的void main,
与之不同的是:main的首字母变成了大写,即"Main函数“,且是否限定为public级别已经无所谓了(默认没有public,但某些场合可能还是需要public)
另外,需要注意的是,C#中不再有”类名必须与主文件名同名“的限制,即使类名不和主文件名相同,程序照样可以运行。
C#应用程序中的main函数默认是这样的(注意main的首字母已是大写)
C#和C/C++、java不同的是C#不在拘泥于必须从main()函数开始执行,C#是属于事件触发。
class Program{
static void Main(string[]args){

大致思考方法:
定义三个字符串:str[], ab[], output[],str是输入的第一个字符串,output放的是最后的结果。
设置两个下标 i,j。i指向第一个字符串,j指向第二个子符串;
i每次向后移动一个位置,i往后的strlen(ab)个字符是不是和字符串ab匹配,如果不匹配就把str[i]添到字符串output中,如果匹配,就让i直接跳过strlen(ab)个位置;
具体还是看代码吧!自己在纸上画一画就明白了。
#include<stdio.h>
#include<string.h>
int main(void)
{
char str[30], ab[5], output[30];
scanf("%s", str);
scanf("%s", ab);
int i, j, outputIndex = 0;
for(i = 0; i < strlen(str); i ++)
{
for(j = 0; j < strlen(ab) && i + j < strlen(str); j ++)
{
if(str[i + j] != ab[j]) break;
}
if(j != strlen(ab))
output[outputIndex ++] = str[i];
else
i = i + strlen(ab) - 1;
}
output[outputIndex] = '\0';
printf("%s\n", output);
return 0;
}

#include <stdio.h>
void delchar(char* str, char c) {
int i = 0, j = 0;
while (str[j] != 0) {
if (str[j] != c) {
str[i] = str[j];
i++;
}
j++;
}
str[i] = 0;
}
int main()
{
char s[100];
while (scanf("%s", s) != EOF) {
delchar(s, 'a');
printf("[%s]\n", s);
}
return 0;
}
想象两个下标一个i一个j。j一直向前走,如果碰到要剔除的字符就跳过去,但是i不跳过去,如果不是要剔除的字符就复制给i,然后i也前进,这样就把要剔除的字符删掉了。只用遍历一遍,用strcpy发现一个要删除的字符就复制一遍,额外多做了很多无用功。

简单,比如s1是主字符串,s2是子字符串,遍历s1判断有无s2就可以。


简单的C语言编程问题。 题一:从键盘输入字符串“How are you”,并将其...
include <stdio.h>int main(){char s[200]; gets(s); puts(s);return 0;}#include <stdio.h>int main(){int i,n; printf("要输入几个字符串:"); scanf("%d%*c",&n); char s[n][80]; for(i=0;i<n;i++) gets(s[i]); printf("输入的字符串是:\\n"); for(i=0...

C语言 编程问题 第6行“如输入\\“5 7\\”表示5英尺7英寸:” 这里的两...
\\是转义字符,因为,你的printf语句想输出"57"这样的字符,而这样的字符还要在""中存在,所以,就要进行转义,不然,就会出现错误,系统会误认为57前面的引号与printf中的格式字符串自身的引号相匹配了。加了\\,系统就会忽略其后的字符,把跟在其后的字符视作转义字符进行输出 。详情可查问百度百科“...

用c语言编程!要求输入1,输出A.输入26,输出Z。输入27输出AA.输入28输出...
此题可以做,代码如下:\/\/#include "stdafx.h"\/\/If the vc++6.0, with this line.#include "stdio.h"int main(void){ char R[27]="ZABCDEFGHIJKLMNOPQRSTUVWXY",tmp[10]; int n,i,j; while(1){ printf("Input n(int n>0)...\\nn="); if(scanf("%d",&n) &&...

C语言编程:写一个函数,输入一行字符,将此字符串中最长的单词输出...
include <stdio.h> void main(){ int a,b,c;printf("请输入3个整数:");scanf("%d%d%d",&a,&b,&c);if((a>b)&& (a<c)|| (ac))printf("\\n d 为位于中间的数\\n",a);if((b>a)&& (b<c)|| (bc))printf("\\n d 为位于中间的数\\n",b);if((c>b)&& (c<a)|| ...

用c语言编程一个程序:有n个数已经从小到排列好,要求输入一个数将其插 ...
a[11] = {10,20,30,40,50,60,70,80,90,100};int n = 0;int num = 10;int tmp = 0;printf("原有数组:\\n");for (i=0; i<num; i++){printf("%d ",a[i]);}printf("\\n");printf("请输入要插入的数:\\n");scanf("%d",&n);for (i=0; i<num; i++){if(...

C语言编程:输入两个正整数,输出其中最大公约数和最小公倍数。
include<stdio.h> int main(){ int a,b,num1,num2,temp;printf("please input two number:\\n");scanf("%d%d",&num1,&num2);if(num1<num2){ temp = num1;num1 = num2;num2 = temp;} a = num1;b = num2;while(b!=0){ \/*利用辗除法,直到b为0为止*\/ temp = a%b...

c语言。编程题:输入一个正整数n(大于一小于九),输出九九乘法口诀表的前...
include "stdio.h"void main(){ int a[9][9]; int i,j,x=0,n; scanf("%d",&n); for(i=0;i<9;i++) for(j=0;j<i+1;j++) a[i][j]=(i+1)*(j+1); for(i=0;i<9;i++) { for(j=0;j=n)break; } printf("\\n");...

c语言编程问题
%f,%F,%e,%E,%g,%G 用来输入实数,可以用小数形式或指数形式输入。 %p 读入一个指针 %u 读入一个无符号十进制整数 %n 至此已读入值的等价字符数 %[] 扫描字符集合 %% 读%符号 printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出 信息。在编写程序时经常会用到此函数。函数的原...

用c语言编程,输入一个字符,若是小写字母,转换为大写输出,若是大写字母...
其他类似问题2014-11-24 输入一个字母,若是小写字母,则变为大写输出,否则,原样输出,... 39 2013-10-12 c语言,从键盘中输入一个字符,如果是大写字母,转换成小写字母... 48 2014-03-22 c语言,编程实现,把输入的一行字符原样输出,若是大写字母则转... 7 2009-12-27 编一C语言程序,任意输入一个...

C语言编程问题:从键盘上输入一个字符串按照以下规则对其加密。_百度知 ...
include <stdio.h>int main(){int i=0;char string[50];gets(string);puts(string);while(string[i] != '\\0'){if(string[i]>='a'&&string[i]<='z'){string[i]=(string[i]+3-'a')%26+'a';}else if(string[i]>='A'&&string[i]<='Z'){string[i]=(string[i]+3-'A'...

泸县13840676073: C语言编程问题:输入一个字符串,再输入一个字符ab,将字符串中所有的ab字符删除后输出该字符串. -
莱盼参芪: 大致思考方法:定义三个字符串:str[], ab[], output[],str是输入的第一个字符串,output放的是最后的结果.设置两个下标 i,j.i指向第一个字符串,j指向第二个子符串;i每次向后移动一个位置,i往后的strlen(ab)个字符是不是和字符串ab匹配,如...

泸县13840676073: 快来看看啊!!!急求,,,,在线等!!c语言编程问题:输入一个字符串,将它反向输出. -
莱盼参芪: #include<stdio.h>#include<math.h> int main(void) { int i,len; char ichar[2]; char zchar[256]={0}; char fchar[256]={0}; printf("请输入字符串:"); i=0; while(1) { scanf("%c",&ichar); //ichar=getc(); if (ichar[0] == 10) break; zchar[i]=ichar[0]; i++; } ...

泸县13840676073: c语言编程:输入数字字符串,将它转成一个整数再输出 -
莱盼参芪: #include "stdio.h" int main() { int n=0;char s[100];char *p=s;scanf("%s",s); //输入数字字符串while(*p){ n=n*10+(*p-'0'); //把字符转换成数值p++; } printf("%d",n) ; //输出转换后的整数值}

泸县13840676073: C语言程序题,在主函数中输入一个字符串,再输入一个字符,编写函数delete(),将字符串中该字符删除 -
莱盼参芪: delete()和库里面的函数名冲突,我改成deletechar()了 #include #define LENGTH 20//这里是删除了字符串中的所有与a相同的字符 //nSize是字符串的长度 int deletechar(char **ppStr, char a, int nSize) {char *pStr =*ppStr;int i,j;...

泸县13840676073: c语言 输入一个字符串,一个个读入字符,再输出. -
莱盼参芪: for ( i=0;string[i]!='\0';i++); // 分号去掉 '\0' 不好判断.scanf 读不进 '\n' ,遇到 '\n' 要你再输入东西. 改用 getchar() 较好.#include <stdio.h> #include<stdlib.h> main(){ char s[100]; int i; printf("enter a string:"); i=0; while(1){ s[i]=getchar(); ...

泸县13840676073: C语言中如何实现输入一个字符串再输出该字符串? -
莱盼参芪: 用puts()直接输出

泸县13840676073: C语言中如何实现输入一个字符串再输出该字符串? -
莱盼参芪: #include void main(){ char *p; gets(p); puts(p); } 可应该如何才能实现输入两个,输出两个呢?#include...

泸县13840676073: c语言中如何输入一段字符串然后执行某程序? -
莱盼参芪: scanf("%s",a) 它的返回值并不是a的地址(也就是说不是字符串a),而是成功读取的变量个数,而且这个scanf()也不能将回车读取到a中,应该将scanf()放在strcmp()外面,另外,用到了strcmp()就要包含string.h文件://---------------...

泸县13840676073: C语言编程在主函数中输入一个字符串利用函数求得字符串中大写字母小写字母数字字符空格及其他字符的个数 -
莱盼参芪: #include int main(void) {char ch[100];void count(char * p);printf("请输入字符串 : ");gets(ch);count(ch);return 0; } void count(char * p) {int upp=0, low=0, digi=0, spa=0, oth=0;for (int i = 0; p[i]; ++i){if (isupper(p[i]))upp++;else if (...

泸县13840676073: 用c语言编写程序,输入任意一串字符,再输入一个字符和一个位置,将此字符插入到此串字符的这个位置上. -
莱盼参芪: #include <stdio.h>#include <string.h>#include <stdlib.h> int main(void) { int l, len; char ch, a[100]; printf("请输入原始字符串:\n"); gets(a); printf("输入字符:\n"); scanf("%c", &ch); char temp; while((temp=getchar()) != '\n' && temp != ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网