C语言:这道C语言小题我错在哪了呢?
先从键盘输入一个字符串存放在字符数组a中,再将a元素中的所有小写字母存放到字符数组b中,我这么做错在哪了呢?#include<stdio.h>#include<strin...
先从键盘输入一个字符串存放在字符数组a中,再将a元素中的所有小写字母存放到字符数组b中,我这么做错在哪了呢?
#include<stdio.h>
#include<string.h>
main()
{char a[100],b[100],i;
printf("请输入字符串");
gets(a);
for(i=0;i<100;i++)
if(a[i]>='a'&&a[i]<='z')
strcpy(b[i],a[i]);
for(i=0;i<100;i++)
printf("%s",b[i]);
}
显示没错误 可就是运行不正确!跪谢求解! 展开
#include<stdio.h>
#include<string.h>
main()
{char a[100],b[100],i;
printf("请输入字符串");
gets(a);
for(i=0;i<100;i++)
if(a[i]>='a'&&a[i]<='z')
strcpy(b[i],a[i]);
for(i=0;i<100;i++)
printf("%s",b[i]);
}
显示没错误 可就是运行不正确!跪谢求解! 展开
展开全部
你输入的字符串不一定长为100吧.所以
for(i=0;i<100;i++) 要改成
for(i=0;i<100 && a[i]!='\0';i++)
strcpy是用于字符串拷贝的,字符可以直接赋值.而且i是用于a的循环变量,b要另外设一个变量
%s也是用于输出字符串,字符要用%c
#include<stdio.h>
#include<string.h>
改过的程序如下
main()
{char a[100],b[100],i,j;
printf("请输入字符串");
gets(a);
j=0;
for(i=0;i<100&&a[i];i++)
if(a[i]>='a'&&a[i]<='z')
b[j++]=a[i];
for(i=0;i<j;i++)
printf("%c",b[i]);
}
for(i=0;i<100;i++) 要改成
for(i=0;i<100 && a[i]!='\0';i++)
strcpy是用于字符串拷贝的,字符可以直接赋值.而且i是用于a的循环变量,b要另外设一个变量
%s也是用于输出字符串,字符要用%c
#include<stdio.h>
#include<string.h>
改过的程序如下
main()
{char a[100],b[100],i,j;
printf("请输入字符串");
gets(a);
j=0;
for(i=0;i<100&&a[i];i++)
if(a[i]>='a'&&a[i]<='z')
b[j++]=a[i];
for(i=0;i<j;i++)
printf("%c",b[i]);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
#include<string.h>
void main()
{
char a[100],b[100];
int i,k=0;
printf("请输入字符串");
gets(a);
for(i=0;i<100;i++) {
if(a[i]>='a'&&a[i]<='z')
b[k++]=a[i]; }
for(i=0;i<k;i++)
printf("%c\n",b[i]);
}
#include<string.h>
void main()
{
char a[100],b[100];
int i,k=0;
printf("请输入字符串");
gets(a);
for(i=0;i<100;i++) {
if(a[i]>='a'&&a[i]<='z')
b[k++]=a[i]; }
for(i=0;i<k;i++)
printf("%c\n",b[i]);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询