1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > c语言统计字符数组上字母和数字 C语言问题求数组中的字母数字字符个数 – 手机爱问...

c语言统计字符数组上字母和数字 C语言问题求数组中的字母数字字符个数 – 手机爱问...

时间:2023-10-19 08:33:25

相关推荐

c语言统计字符数组上字母和数字 C语言问题求数组中的字母数字字符个数 – 手机爱问...

编个程序要求满足以下功能将字符串数组中每一行中的大写字母A、B、C都换成数字2,并且去除字符串中的连字符号‘-’,但是数字保持不变。设字符串数组有3行。例如:字符串内容为:输出的内容为A-BC-CBC222222A-12- 3C-3-1 4

楼主,分值是不是少了点啊???

#include

main()

{int i,j,k;

char a[10][10];

for(i=0;i<10;i++)/*字符数组赋值*/

scanf("%s",a[i]);

for(k=0;k<10;k++)

{

for(i=0;i<10;i++)/*扫描字符是否是‘-’,如果是,删除。 此处可以看做一维的来考虑了*/

{if(a[k][i]=='-')

for(j=i;j<10;j++)

a[k][j]=a[k][j+1];/*删除的方法,将后面字符依次前移动*/

}

for(i=0;i<10;i++)

if(a[k][i]=='A'||a[k][...全部

楼主,分值是不是少了点啊???

#include

main()

{int i,j,k;

char a[10][10];

for(i=0;i<10;i++)/*字符数组赋值*/

scanf("%s",a[i]);

for(k=0;k<10;k++)

{

for(i=0;i<10;i++)/*扫描字符是否是‘-’,如果是,删除。

此处可以看做一维的来考虑了*/

{if(a[k][i]=='-')

for(j=i;j<10;j++)

a[k][j]=a[k][j+1];/*删除的方法,将后面字符依次前移动*/

}

for(i=0;i<10;i++)

if(a[k][i]=='A'||a[k][i]=='B'||a[k][i]=='C')

a[k][i]=50;

}

for(k=0;k<10;k++)

printf("%s\n",a[k]);

}

程序运行过了,没问题的。

我们要处理的数据是只有ABC和数字、-组成,别的字符我没有考虑,如果题目有要求,你可以尝试改一下。

对字符串赋值的问题就不用解释了吧。

按题目的要求,要处理的主要是两个问题,1:将字符串中的A,B,C字符换成2,2的ASCII就是50,程序里面的50就是这个原因了。

2:将字符串中的‘-’删除掉。

对于上面的问题,我首先处理的删除‘-’的问题,扫描字符串,对于二维字符数组,我们先考虑一维的,然后增加一维扫描就好了。判断字符数组中字符是不是‘-’,如果是,将后面的字符依次前移动。

那么这个时候就没有‘-’字符存在了

我们接着重新扫描字符串,如果字符是‘A’‘B’‘C’那么替换掉,替换成‘2’ASCII就是50,你也可以用a[k][i]='2'这样处理,这个时候就得到你要的程序结果了。

我们输出结果检查,满足要求,OK了

这个是比较简单的思路,你可以写下函数调用的程序,也可以尝试写下关于指针处理的函数,祝你好运。

呵呵,第一句话,和你看玩笑了。收起

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。