请教下getchar的用法
#include<stdio.h>int main()
{
int count;
printf("请输入英文句子;");
while(getchar()>=65&&getchar()<=90)
count=count+1;
printf("有%d个大写字母",count);
return 0;
}
这是个求输入字符中有多少个大写字母的代码,但是一直没法算出正确的数 本帖最后由 村里小黑 于 2021-10-14 12:16 编辑
#include<stdio.h>
int main()
{
int count,i=0;
Bool flage =1;
char a[];
printf("请输入英文句子;");
while(flage)
{
a = getchar();
if(a == 10)//换行的ascii码表值
{
flage=0
}
else{
i++;
if(a>=65&&a<=90)
{
count++;
}
}
}
printf("有%d个大写字母",count);
return 0;
}
可能存在不严谨,供参考。代码输入任意长度字符,当检测到换行结束输入输出结果
#include <stdio.h>
int main(){
int alphabet = 0;
char a;
printf("请输入英文句子:");
while(1){
scanf("%c", &a);
if(a == '\n') break;
else if(a>=65 && a<=90) alphabet += 1;
}
printf("英文句子有 %d 个大写字母", alphabet);
return 0;
}请输入英文句子:BananaApple
英文句子有 2 个大写字母 https://blog.csdn.net/weixin_44551646/article/details/98076863?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163049156016780366543090%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=163049156016780366543090&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-98076863.first_rank_v2_pc_rank_v29&utm_term=getchar&spm=1018.2226.3001.4187 本帖最后由 bild 于 2021-10-14 18:56 编辑
傻眼貓咪 发表于 2021-10-14 11:55
可以问下while(1)是指在什么条件下while正确呢
我解决了
傻眼貓咪 发表于 2021-10-14 11:55
感谢感谢 bild 发表于 2021-10-14 18:33
可以问下while(1)是指在什么条件下while正确呢
我解决了
C 语言的 while(1) 如同 C++语言里的 while(True) 傻眼貓咪 发表于 2021-10-14 19:08
C 语言的 while(1) 如同 C++语言里的 while(True)
好的,谢谢!!
页:
[1]