两个字符型数组,a[]="abcdefgh",用户输入一个值n,把数组a中右边n个字符复制到数组t中,最后输出数组t的值。
算法分析:定义两个字符型数组
char a[]="abcdef123gh",t[20]="",i,j=0,n;
printf("请输入一个数给n:");
scanf("%d",&n);
printf("%d\n",strlen(a));
if(n>=strlen(a))//如果n大于或等于数组a的字符串长度
{
strcpy(t,a);
}else
if(n<strlen(a))
{
for(i=strlen(a)-n;a[i];i++)
{
t[j++]=a[i];
}
t[j]='\0';
}
puts(t);
让用户输入一个字符串,把这个字符串中的数字字符移动到前面,其他的字符移动到后面
"12345##fcd864fd2s6"变成"1234586426##fcdfds"
char a[]="12345##fcd864fd2s6",b[30]="",c[30]="",i,j=0,k=0,n;
for(i=0;a[i];i++)
{
if(a[i]>='0' && a[i]<='9')
{
b[j++]=a[i];
}
else
{
c[k++]=a[i];
}
}
b[j]='\0';
c[k]='\0';
puts(b);
puts(c);
strcat(b,c);
strcpy(a,b);
puts(a);
算法分析:定义两个字符型数组
char a[]="abcdef123gh",t[20]="",i,j=0,n;
printf("请输入一个数给n:");
scanf("%d",&n);
printf("%d\n",strlen(a));
if(n>=strlen(a))//如果n大于或等于数组a的字符串长度
{
strcpy(t,a);
}else
if(n<strlen(a))
{
for(i=strlen(a)-n;a[i];i++)
{
t[j++]=a[i];
}
t[j]='\0';
}
puts(t);
让用户输入一个字符串,把这个字符串中的数字字符移动到前面,其他的字符移动到后面
"12345##fcd864fd2s6"变成"1234586426##fcdfds"
char a[]="12345##fcd864fd2s6",b[30]="",c[30]="",i,j=0,k=0,n;
for(i=0;a[i];i++)
{
if(a[i]>='0' && a[i]<='9')
{
b[j++]=a[i];
}
else
{
c[k++]=a[i];
}
}
b[j]='\0';
c[k]='\0';
puts(b);
puts(c);
strcat(b,c);
strcpy(a,b);
puts(a);