![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
杂
styfish
这个作者很懒,什么都没留下…
展开
-
删除字符串中某字符
思路:利用前移,记录要删除的字符的个数,其后面的字符前移直接覆盖即可void Func(char a[],char b){ int t=0; int i; for(i=0;a[i]!='\0';i++) { if(a[i]!=b) a[i-t]=a[i]; //前移 else { t++; } } a[i-t]=a[i]; //处理末尾 '\o' }...原创 2021-03-10 09:25:25 · 88 阅读 · 0 评论 -
统计字符数组中单词的个数
问题 输入一行字符,假设单词之间用空格隔开,统计有多少个字符 特殊情况 字符开头有一连串空格 字符结尾没有空格或有一连串空格 思路 第一种,在输入字符后加上一个字符,保证字符末尾必有空格,方便统计;开头的空格可在统计前先处理掉 第二种,不用处理,一个单词的出现,除了最开始可能直接出现非空格符,前面必由一个空格+第一个非空格符,按此统计即可(推荐) int main(){ char s[1000]; gets(s); int sum=(s[0]!=' ')?1:0;原创 2021-03-08 09:45:37 · 1804 阅读 · 1 评论 -
阶乘的计算
思路:很容易知道,对阶乘的计算很容易就产生数据溢出,所以我们用数组保存数据,模拟手工乘法的方法获得结果; 代码: #include<iostream>using namespace std;#include<ctime>int main(){ int a[100]={0,1}; //初始化从a[1]开始 int index=1; //记录位数变化 for(int i=1;i<=40;i++) //40可用变量替代,表示要计算从1-40原创 2021-03-06 09:28:40 · 346 阅读 · 0 评论