c语言编程,输入1个字符串,输出其中所出现过的大写英文字母,知道的请帮一下,谢谢啊
展开全部
#include<iostream>
using namespace std;
int main(){
char a[50];
cin>>a;
for(int i=0;i<50;i++){
if(a[i]-'A'>=0&&a[i]-'Z'<=0){
cout<<a[i];
}
}
return 0;
}
这是C++写的,没学过的话用scanf和printf替换cin和cout就行了
using namespace std;
int main(){
char a[50];
cin>>a;
for(int i=0;i<50;i++){
if(a[i]-'A'>=0&&a[i]-'Z'<=0){
cout<<a[i];
}
}
return 0;
}
这是C++写的,没学过的话用scanf和printf替换cin和cout就行了
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
#include<stdlib.h>
#include"string.h"
#include <ctype.h>
int main()
{
char str[100];
printf("please input a string\n");
gets(str);
printf("%s\n",str);
int i = 0;
while(*(str+i) != 0)
{
if( isupper(*(str + i)))
printf("%c ",*(str + i));
i++;
}
return 0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
string aa="请输入一个字符串";
cout << aa << endl;
cin >> aa;
for (int i = 0; i < aa.length(); i++)
{
if (aa[i]>64 && aa[i] < 91)
cout << aa[i];
}
system("pause");
cout << aa << endl;
cin >> aa;
for (int i = 0; i < aa.length(); i++)
{
if (aa[i]>64 && aa[i] < 91)
cout << aa[i];
}
system("pause");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
void main()
{
char s[20];
int i=0;
scanf("%s",s);
for(i=0;(s[i]>=65)&&(s[i]<=90);i++)
printf("%c",s[i]);
printf("\n");
}
追问
有两串字符串的话,中间and连接之后,它只能输出前面一部分.一个大写字母输出一次就够了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
#include<ctype.h>
#include<malloc.h>
#include<string.h>
int main()
{
int i=0;
char *str=(char*)malloc(sizeof(char)*100);
gets(str);
for(i=0;i<strlen(str);i++)
if(isupper(*(str+i)))
printf("%c",*(str+i));
return 0;
}
#include<ctype.h>
#include<malloc.h>
#include<string.h>
int main()
{
int i=0;
char *str=(char*)malloc(sizeof(char)*100);
gets(str);
for(i=0;i<strlen(str);i++)
if(isupper(*(str+i)))
printf("%c",*(str+i));
return 0;
}
更多追问追答
追问
*(str+i)
*str=(char*)malloc(sizeof(char)这两部分什么意思
追答
第一个*(str+i)是指向数组的内容变化 *str是指向str[0],相当于*str=str[0],*(str+1)=str[1]''''''''递推下去 第二个操作是防止内存溢出的 其实最后还要加一个free(str)与malloc对应, malloc()就是给数组分配内存空间的 ,free()删除空间
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询