• SDUT 1176 删除指定字符


    我来写个超级水的题。下午突然想用一个别的法做。卡了一下午。

    还有就是以后还得用Chrome来写。IE8太电梯了。

    题目描述

    从键盘输入一个字符串给str和一个字符给c,删除str中的所有字符c并输出删除后的字符串str。

    输入

    第一行是一个字符串;
    第二行是一个字符。

    输出

    删除指定字符后的字符串。

    示例输入

    sdf$$$sdf$$
    $

    示例输出

    sdfsdf
    方法一:只要是那个字符,就不输出。
    View Code
     1 #include<stdio.h>
     2 #include<string.h>
     3 int main()
     4 {
     5     char str[100],c;
     6     int i,j=0;
     7     gets(str);
     8     scanf("%c",&c);
     9     for(i=0;i<strlen(str);i++)
    10         if(str[i]!=c)
    11         printf("%c",str[i]);
    12         printf("\n");
    13         return 0;
    14 }

      方法二:需要最后加个‘\0’。

    View Code
     1 #include<stdio.h>
     2 #include<string.h>
     3 int main()
     4 {
     5     char str[100],c;
     6     int i,j=0;
     7     gets(str);
     8     scanf("%c",&c);
     9     for(i=0;(str[i]!='\0');i++)
    10         if(str[i]!=c)
    11         {
    12             str[j++]=str[i];
    13         }
    14         str[j]='\0';    
    15         puts(str);
    16         return 0;
    17 }

     方法三:就是卡了我一下午的方法,太电梯了。

    View Code
     1 #include<stdio.h>
     2 #include<string.h>
     3 int main()
     4 {
     5     char str[100],c;
     6     int i,j=0;
     7     gets(str);
     8     scanf("%c",&c);
     9     for(i=0;str[i]!='\0';i++)
    10     {
    11         if(str[i]==c)
    12         {
    13     for(j=i;j<strlen(str);j++)
    14     {
    15         str[j]=str[j+1];
    16     }
    17         i--;
    18     }
    19     }
    20         puts(str);
    21         return 0;
    22 }
  • 相关阅读:
    mysql导出某张表的部分数据
    linux命令行实用快捷键
    mysql导出数据库某些表的数据
    二进制日志过期时间设置expire_logs_days
    进程信息
    安装mysql-workbench
    create user
    系统io统计
    mysqldump与mydumper
    系统负载监控
  • 原文地址:https://www.cnblogs.com/timeship/p/2524710.html
Copyright © 2020-2023  润新知