C语言之字符串强化练习题

请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,具体任务如下:

将字符串s转化为整型返回。

输入格式:输入包括一行,是一个字符串(只包含数字和‘-’)。

输出格式:输出只有一行,转换后的整数。

测试说明:

测试输入: -123。 预期输出: -123

测试输入: 45。 预期输出: 45

 

#include <stdio.h>
int atoi(char s[])
{
    int num = 0;
    int sign = 1;
    int i = 0;
    if(s[i] == '-')
    {
        sign = -1;
        i++;
    }
    for (;s[i] != '\0';i++)
    {
        num = num *10 + (int)(s[i] - '0');
    }
    num *= sign;
    return num ;
}

int main ()
{
    /*********begin*********/
   int num;
     char str[10];
     scanf("%s", str);  
  
    num = atoi(str);
    printf("%d", num);
     /*********end*********/
}

 

请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,具体任务如下:

要求编写程序将字符串中的指定字符删去。

测试输入:I am happy a

预期输出:I m hppy

 

#include<stdio.h>
#include <string.h>
void delete_char(char a[],char ch)
{
    /*********begin*********/
    int i,j;
	for(i=j=0;a[i]!='\0';i++){
		if(a[i]!=ch){
			a[j++]=a[i];
		}
	}
	a[j]='\0';
    
 

    /*********end*********/
}
int main()
{
    /*********begin*********/
    char string[50]; char c;
   fgets(string,100,stdin);
scanf("%c",&c);

    delete_char(string, c);
    printf("%s",string);
    return 0;


    /*********end*********/
}

平台会对你编写的代码进行测试,若是与预期输出相同,则算通关。

测试输入:hello world。 预期输出:相等。 测试输入:do English。 预期输出:Englishdo

#include<stdio.h>
#include<string.h>
int main()
{
	/*********begin*********/
    char str1[20], str2[20];

int len1, len2;



scanf("%s",str1); 
scanf("%s",str2);

len1 = strlen(str1); 

len2 = strlen(str2); 
if(len1!=len2)
{


if(len1 < len2)

{

strcat(str2, str1); 

printf("%s\n", str2);

}

else

{

strcat(str1, str2);

printf("%s\n", str1);

}
}
else
printf("相等"); 


	/*********end*********/
}

测试输入: A

预期输出: 小写字母为:a,ASCII码为:97

后一个小写字母为:b ,ASCII码为:98

#include<stdio.h>
int main()
{
    /*********begin********/
    char a,b,c,d;
    int i;
    a=getchar();
 
if(a>='A'&&a<='Z')
{
              b=a+32;
              c=a+33;
              d=a+31;
 printf("小写字母为:%c ,ASCII码为:%d\n",b,b);
 if(d>='a'&&d<='z')
 printf("前一个小写字母为:%c ,ASCII码为:%d\n",d,d);
 if(c>='a'&&c<='z')
 printf("后一个小写字母为:%c ,ASCII码为:%d\n",c,c);
}
  return 0;
     

    

    /*********end*********/
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值