C语言编程 输入一个以回车键结束的字符串(少于80个字符)。输出其中所出现过的大写英文字母.是出现过的
#include<stdio.h>intmain(void){charstr[80],y[26];inti,j,ny=0;printf("Enterastring:");...
#include<stdio.h>
int main(void)
{
char str[80],y[26];
int i,j,ny=0;
printf("Enter a string:");
i=0;
while((str[i]=getchar())!='\n')
i++;
str[i]='\0';
for(i=0;str[i]!='\0';i++)
if(str[i]>='A'&&str[i]<='Z')
{
for(j=0;j<ny;j++)
if (y[i]==str[i])
break;
if(i>=ny){
y[ny]=str[i];
ny++;}
}
printf("%c",str[i]);
else
printf("Not Found");
return 0;
}
求指导!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 展开
int main(void)
{
char str[80],y[26];
int i,j,ny=0;
printf("Enter a string:");
i=0;
while((str[i]=getchar())!='\n')
i++;
str[i]='\0';
for(i=0;str[i]!='\0';i++)
if(str[i]>='A'&&str[i]<='Z')
{
for(j=0;j<ny;j++)
if (y[i]==str[i])
break;
if(i>=ny){
y[ny]=str[i];
ny++;}
}
printf("%c",str[i]);
else
printf("Not Found");
return 0;
}
求指导!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 展开
4个回答
展开全部
#include<stdio.h>
int main(void)
{
char str[80], y[26];
int i, j, ny = 0;
printf("Enter a string:");
i = 0;
while ((str[i] = getchar()) != '\n')
i++;
str[i] = '\0';
for (i = 0; str[i] != '\0'; i++) {
if (str[i] >= 'A'&&str[i] <= 'Z')
{
for (j = 0; j < ny; j++)
if (y[j] == str[i])
break;
if (j >= ny){
y[ny] = str[i];
ny++;
}
}
}
y[ny] = 0;
if (ny != 0)
printf("%s", y);
else
printf("Not Found");
return 0;
}
展开全部
printf("Input a string:");
//getchar();这一句的getchar不要,如果有这一句,你输入的字符串中的第一个字母就被它所获取,str中是从第二个字母开始保存
//getchar();这一句的getchar不要,如果有这一句,你输入的字符串中的第一个字母就被它所获取,str中是从第二个字母开始保存
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
程序大概看了下 我的理解是你的意思是输出输入的一串字符中重复出现的大写字母,对吧?你表达的不是太清楚,你的做法你可以编译,测试啊。你应该想看看是不是有其他方法 是吧?
追问
连接也不行的!其他方法也阔以的!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
什么思路,没看明白
不是把大写字母输出吗
不是把大写字母输出吗
追问
如果有重复的大写字母,只输出一次!
追答
#include
int main(void)
{
char str[80],ch[27]={0};/*定义一个大写字符链,用来存出现过的大写字母,因为最多只有26个字符,所以定义成char ch[27],符值{0},会让每一个的值都为0*/
int i,j,k;
gets(str);
for(i=j=k=0;str[i];i++)
{
if(str[i]>='A'&&str[i]<='Z')/*判断是不是大写字母*/
{
for(j=0;ch[j];j++)/*对大写字符链循环比较*/
if(ch[j]==str[i])
break;/*如果存在这个字符就意外退出循环*/
if(j==k)/*如果是意外退出,j达不到尾部就退出的比较,此时j<k,如果链中不存在这个字符,j=k*/
ch[k++]=str[i];/*让大写字符链长度加一,并把新出现的字符加进去*/
}
}
puts(ch);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询