内容正文:
一 : 给定一个字符串s,验证s是否是回文串,只考虑小写字母和数字字符
回文串即正过来读和发过来读完全一样。
考点: 字符数组的简单运用
难度: 简单
示例1:
输入; s=”race a ecar”
输出; true
解释: “race ae car”是回文串
示例2:
输入: s=”i am a boy”
输出: false
解释: ”i am a boy“不是回文串
#include<stdio.h>
#include<string.h>
int main(){
int i,j,length,flag;
char s[100];
gets(s);
length=strlen(s);
/*************start*************/
/*************end*************/
if(flag){
printf("%s是回文串
",s);
}else{
printf("%s不是回文串
",s);
}
}
答案:
i=0,j=length-1;
while(i<j){
if(s[i]==s[j]){
i++;
j--;
}else{
flag=0;
break;
}
}
if(i>=j) flag=1;
样张一:
样张二:
二 . 给定一个整数数组num和一个值value,在数组中原地移除所有数值等于value的元素,并返回移除后数组的新长度。
考点: 数组和函数的简单综合运用
难度: 简单
示例 :
输入: num[] ={0,1,2,2,3,0,4,2} value=2
输出: 5
解释: 函数返回新的数组长度为5, 新数组为[0,1,3,0,4]
#include<stdio.h>
#include<string.h>
int removeElement(int *num, int numsize, int val){
int i,j;
/*************start*************/
/*************end*************/
return j;
}
int main(){
int num[]={0,1,2,2,3,0,4,2};
int size,value,newsize;
size=sizeof(num)/sizeof(int);
scanf("%d",&value);
newsize=removeElement(num,size,value);
printf("移除元素后的新数组长度为:
%d
",newsize);
}
答案:
j=0;
for(i=0;i<numsize-1;i++){
if(num[i]!=val)
{
num[j++]=num[i];
}
}
样张:
学科网(北京)股份有限公司
$$