专升本C语言试题分析(一)

专升本C语言试题分析(一)

前言

尝试对C语言专升本题目进行分析,有不对的地方欢迎指正,在边学习边成长!

一、题目

编写函数 Fun23 实现功能如下:指针 s 所指向的字母数字串中只包含数字和字母,实现除了字符串前的数字字符保留,其他的数字字符全部删除。例如:如果 s 的内容为:1234ABCD44432abcde7890,按规定删除后 s 的内容应当是:1234ABCDabcde。

二、分析步骤

1.Fun23()函数的编写

代码如下(示例):

void Fun23(char *s){
	int n=0,i=0;
	while(s[i]!='\0'&&(s[i]>='0'&&s[i]<='9')){/*先将字符串前的数字全部循环得出*/
		n++;
		i++;
	}/*此时n和i的值一样,均为字符串数字结束时的位置*/ 
		for( ;s[i];i++){/*从字符串中第一个字母开始循环,找到每一个非数字元素*/
			if(s[i]<'0'||s[i]>'9'){
				s[n++]=s[i];/*拼接到数字的后面,实现删除数字的效果*/
			}
		}
	s[n]='\0';
	printf("删除后的内容:%s",s);
}

2.主函数编写

代码如下(示例):

int main(){
	char s[32];
	printf("请一个字符串:");
		scanf("%s",&s);
		Fun(s);
	return 0;
}

总结

代码如下(示例):

#include<stdio.h>
void Fun23(char *s){
	int n=0,i=0;
	while(s[i]!='\0'&&(s[i]>='0'&&s[i]<='9')){/*先将字符串前的数字全部循环得出*/
		n++;
		i++;
	}/*此时n和i的值一样,均为字符串数字结束时的位置*/ 
		for( ;s[i];i++){/*从字符串中第一个字母开始循环,找到每一个非数字元素*/
			if(s[i]<'0'||s[i]>'9'){
				s[n++]=s[i];/*拼接到数字的后面,实现删除数字的效果*/
			}
		}
	s[n]='\0';
	printf("删除后的内容:%s",s);
}
int main(){
	char s[32];
	printf("请一个字符串:");
		scanf("%s",&s);
		Fun23(s);
	return 0;
}
}

以上就是今天要讲的内容,思路大致是,先找到整体字符串中字母出现以前的所有数字,然后从第一个字母开始,将字母紧紧的链接到数字串之后。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HairyFellow

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值