【无标题】p1957 代码特别特别简单,适合c语言入门级同学。

这篇博客适合C语言初学者,重点介绍了如何计算数字位数以及使用sscanf函数处理混合数据。文章通过实例代码讲解,解释了在没有字母的情况下如何将输入的字符串转换为整数,强调了自定义函数和sscanf函数在处理此类问题时的优势。
摘要由CSDN通过智能技术生成

做这个题有两个亮点:

1,计算长度的时候采用函数(计算数字位数的函数),可能有些同学想用strlen函数计算字符串长度,但是很麻烦,反正我没有写出来。但是如果自编算位数的函数,只需要每个数的位数和再加上两个运算符的长度即可。

2,运用sscanf函数。这个题的难点就是如果一组数据没有字母该怎么办,我们j可以假设每一组都输入了字母并存储到s[0]中,然后进行判断:如果是s[0]是字母,继续运行;如果不是字母,将之格式化,并且转化为整数型,存储第一个数。

sscanf的作用:从一个字符串中读进于指定格式相符的数据。利用它可以从字符串中取出整数、浮点数和字符串。

sscanf和scanf的区别:scanf是以键盘作为输入源,sscanf是以字符串作为输入源。

 下面直接上代码:

#include<stdio.h>
int sw(int n)//计算长度的函数。因为最后需要计算出每个算式的长度,我们只需要计算出每一个数的长度再加上两个运算符的长度就行了 
{
	int i,b;
	b=n;//存储原数,便于判断正负 
	for(i=0;n!=0;i++)
		n=n/10;
	if(b<=0)//还需要考虑到非正整数的情况 
		return i+1;
	else 
		return i;
}
int main()
{
	int n,i,a,b,w[100000
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值