快乐大本营情歌王:求一个C语言小程序(一个字符串数组)

来源:百度文库 编辑:高考问答 时间:2024/05/03 04:56:30
已知有一个已被初始化的字符串:char aa[]="asd iquerdnasl askqaa da xcasd0 a997sd4 qa6drtweorf 324wa";
要求将里面的字母'a'去除后重新保存,然后再printf出这个字符串数组aa

■■不允许使用指针,只能使用数组
■■不允许再声明其他字符数组,借用其他数组进行转存

//VC 6.0编译通过
#include "stdio.h"
void main(){
int i,j;
char aa[100]={"This is a sample!"};

for(i=0;aa[i]!='\0';){
if(aa[i]=='a'){
j=i;
for(j=i;aa[j]!='\0';aa[j]=aa[j+1],j++);
}
else i++;
}
printf("%s\n",aa);
}

#include<iostream.h>
void main()
{
int i=0;
char aa[100]="asd iquerdnasl askqaa da xcasd0 a997sd4 qa6drtweorf 324wa";
for (int k=1;k<=5;k++)
{
for(i=0;i<=100;i++)
{

if(aa[i]=='a') /*判断是否是a*/
{
aa[i]=aa[i+1]; /*如果是则由后一个将a覆盖*/
for(int j=i;j<100-i;j++)
aa[j]=aa[j+1]; /*从后依次覆盖*/
}

}
}
cout<<aa<<endl;

}
如果有连续的a出现只需要增加K的循环
这里设两次就可以。

#include<iostream.h>
void main()

{
char a[100]="fjdklaejklavna";
int count = 0;
int i,j,k;
for(i = 0;i < 100;i++)
{
if(aa[i]='a')
count++;
}
for(count;count>=0;count--)
{
for(i = 0;i < 100;i ++)
{
if(aa[i]=='a')
{
k=i-1;
for(j=k;j<=0;j--,k--)
aa[j]=aa[k];
for(j=i;j<=100;j++,i++)
aa[j]=a[i+1];
}
}
}