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;
}
求指导!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
展开
 我来答
porker2008
推荐于2017-09-08 · TA获得超过1.4万个赞
知道大有可为答主
回答量:7066
采纳率:62%
帮助的人:1.1亿
展开全部
#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;
}
更多追问追答
追问
虽然连接和编译都没错误!但是执行不出来啊!!!!!
追答

不愿相离
2014-12-29 · TA获得超过440个赞
知道小有建树答主
回答量:529
采纳率:0%
帮助的人:490万
展开全部
printf("Input a string:");

//getchar();这一句的getchar不要,如果有这一句,你输入的字符串中的第一个字母就被它所获取,str中是从第二个字母开始保存
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
鼓巨肌
2014-06-05 · 贡献了超过437个回答
知道答主
回答量:437
采纳率:0%
帮助的人:53.3万
展开全部
程序大概看了下 我的理解是你的意思是输出输入的一串字符中重复出现的大写字母,对吧?你表达的不是太清楚,你的做法你可以编译,测试啊。你应该想看看是不是有其他方法 是吧?
追问
连接也不行的!其他方法也阔以的!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一白二黑
2014-06-05 · TA获得超过177个赞
知道小有建树答主
回答量:157
采纳率:0%
帮助的人:94.1万
展开全部
什么思路,没看明白

不是把大写字母输出吗
追问
如果有重复的大写字母,只输出一次!
追答
#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;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式