1051 字母个数统计
时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65534/32767 KB(Java/Others)
提交数 : 15079 | 通过数 : 7449
题目描述
从键盘输入一行字符,统计其中英文字母的个数。
输入要求
输入一行字符,以换行符号结束。字符串长度小于等于1000。
输出要求
输出其中英文字母的个数。
输入样例
Hello Mr.007,my name is @#$%
输出样例
15
提示
来源
NBU OJ
代码:
#include<stdio.h> //C语言
int main(){
char c;
int len=0;
while(c!='\n'){
c=getchar();
if(c>='a'&&c<='z'||c>='A'&&c<='Z') len++;
}
printf("%d\n",len);
return 0;
}
1052 数字字符统计
时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65534/32767 KB(Java/Others)
提交数 : 15658 | 通过数 : 8563
题目描述
输入一行字符,统计出其中的数字字符的个数。输入以换行符结束。
输入要求
输入一行字符。以换行符结束。
输出要求
输出数字字符的个数
输入样例
Hello Mr.007,my name is @#$%
输出样例
3
提示
来源
NBU OJ
代码:
#include<stdio.h> //C语言
int main(){
char c;
int len=0;
while(c!='\n'){
c=getchar();
if(c>='0'&&c<='9') len++;
}
printf("%d\n",len);
return 0;
}
1053 字符分类统计
时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65534/32767 KB(Java/Others)
提交数 : 23147 | 通过数 : 9608
题目描述
从键盘输入一行字符(长度小于等于1000),统计出其中的英文字母、数字、空格、和其它字符的个数。
输入要求
输入一行字符(长度小于等于1000)。
输出要求
按字母、数字、空格、其它字符的顺序输出各类字符的统计结果。为0的项目也要输出。用空格隔开(最后一个数字的后面无空格)。
输入样例
Hello Boy. It is 30 July.
输出样例
16 2 5 2
提示
来源
NBU OJ
代码:
#include<stdio.h> //C语言
int main(){
char c;
int zm=0,num=0,kg=0,o=0;
c=getchar();
while(c!='\n'){
if(c>='a'&&c<='z'||c>='A'&&c<='Z') zm++;
else if(c>='0'&&c<='9') num++;
else if(c==' ') kg++;
else o++;
c=getchar();
}
printf("%d %d %d %d\n",zm,num,kg,o);
return 0;
}
1054 相邻字符判相等
时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65534/32767 KB(Java/Others)
提交数 : 24218 | 通过数 : 7543
题目描述
输入一行字符(长度小于等于1000),判断其中是否存在相邻两个字符相同的情形,若有,则输出该相同的字符并结束程序(只需输出第一种相等的字符即可)。否则输出No。
输入要求
输入一行字符(长度小于等于1000)
输出要求
若有相邻字符相等则输出该相同的字符,否则输出No。(只需要输出第一种相同的情况即可)
输入样例
hello anna
输出样例
l
提示
来源
NBU OJ
代码:
#include<stdio.h> //C语言
#include<string.h>
int main(){
char c[1000];
int len=0,i;
gets(c);
len=strlen(c);
for(i=0;i<len;i++){
if(c[i]==c[i+1]){
printf("%c\n",c[i]);
break;
}
}
if(i==len) printf("No\n");
return 0;
}
1055 统计行数
时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65534/32767 KB(Java/Others)
提交数 : 13537 | 通过数 : 4098
题目描述
编写一个程序,要求统计输入文本的行数。
输入要求
每行输入任意长度的字符串(每一行的字符串的长度小于等于1000),以输入仅由符号@构成的行作为结束, @所在的行不计入行数。
输出要求
输出文本的行数。
输入样例
Hello world! I come from China! I’m a boy! @
输出样例
3
提示
来源
NBU OJ
代码:
#include<stdio.h> //C语言
#include<string.h>
int main(){
char c[1000];
int len=0,i=0;
gets(c);
len=strlen(c);
while(len!=1||c[0]!='@'){
i++;
gets(c);
len=strlen(c);
}
printf("%d\n",i);
return 0;
}
1056 特定字符出现次数
时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65534/32767 KB(Java/Others)
提交数 : 17811 | 通过数 : 9241
题目描述
从键盘输入一个字符串,再输入一个特定字符key,判断key在字符串中的出现次数。
输入要求
从键盘输入一个字符串(长度小于等于1000),再输入一个待查找的特定字符key。
输出要求
统计并输出特定字符key在字符串中的出现次数。
输入样例
THIS IS A TEST I
输出样例
2
提示
来源
NBU OJ
代码:
#include<stdio.h> //C语言
#include<string.h>
int main(){
char c[1000],key;
int len=0,i,count=0;
gets(c);
len=strlen(c);
scanf("%c",&key);
for(i=0;i<len;i++){
if(c[i]==key) count++;
}
printf("%d\n",count);
return 0;
}
1057 字符变换
时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65534/32767 KB(Java/Others)
提交数 : 18855 | 通过数 : 8193
题目描述
CoCo在帮忙录入一篇英文文献,可是由于键盘误操作,事先按下了Caps Lock键,然后又按照平时的录入习惯进行操作,结果录入的内容里面,原本应该是英文大写的地方都变成了小写,而原来应该是英文小写的地方都变成了大写。重新录入的话实在太可怕了!你能帮忙设计一个程序,可以将字符串中的大写英文字母转换成对应的小写英文字母,而将小写英文字母转换成对应的大写英文字母,其余字符不变吗?如果对整篇文献操作还有点难度的话,先尝试对一个字符串的操作吧。
输入要求
输入任意一个字符串(长度小于等于1000),以换行结束。
输出要求
将大写字母改小写,小写字母改大写,其余字符保持不便,输出转换后的字符串的结果。
输入样例
i AM A STUDENT.i AM 19.
输出样例
I am a student.I am 19.
提示
来源
NBU OJ
代码:
#include<stdio.h> //C语言 法1
#include<string.h>
int main(){
char c[1000];
int len=0,i;
gets(c);
len=strlen(c);
for(i=0;i<len;i++){
if(c[i]>='a'&&c[i]<='z') c[i]-=32;
else if(c[i]>='A'&&c[i]<='Z') c[i]+=32;
printf("%c",c[i]);
}
printf("\n");
return 0;
}
#include<stdio.h> //C语言 法2
int main(){
char c;
int len=0;
c=getchar();
while(c!='\n'){
if(c>='a'&&c<='z') printf("%c",c-32);
else if(c>='A'&&c<='Z') printf("%c",c+32);
else printf("%c",c);
c=getchar();
}
printf("\n");
return 0;
}
1058 成绩合格问题
时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65534/32767 KB(Java/Others)
提交数 : 16345 | 通过数 : 9926
题目描述
输入一个整数表示课程成绩,判断学生成绩是否合格:当分数大于等于60分时,输出合格信息,小于60分的,输出不合格信息。
输入要求
输入任意一个整数表示成绩(假设确保数据在0到100之间)。
输出要求
如果该数大于等于60,则输出“pass”,否则输出“failure”。(输出不含双引号)。
输入样例
61
输出样例
pass
提示
来源
NBU OJ
代码:
#include<stdio.h> //C语言
int main(){
int x;
scanf("%d",&x);
if(x>=60) printf("pass\n");
else printf("failure\n");
return 0;
}
1059 三级制成绩评级
时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65534/32767 KB(Java/Others)
提交数 : 10498 | 通过数 : 6497
题目描述
对学生成绩(百分制)评等级,规则如下:
[80,100] 为A
[60,79] 为B
[0,59] 为C
输入要求
输入一个整数形式的百分制的成绩(0<=x<=100)。
输出要求
如果该成绩大于等于80则输出A,在60~79之间则输出B,小于60分则输出C。
输入样例
60
输出样例
B
提示
来源
NBU OJ
代码:
#include<stdio.h> //C语言
int main(){
int x;
scanf("%d",&x);
if(x>=80) printf("A\n");
else if(x>=60) printf("B\n");
else printf("C\n");
return 0;
}
1060 五级制成绩评级
时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)
提交数 : 16816 | 通过数 : 10366
题目描述
在学生成绩管理中,成绩经常需要在百分制与等级制之间进行转换。输入一个表示成绩的百分制分数,将其转换为对应的等级制并输出。
A:[90-100]
B:[80-89]
C:[70-79]
D:[60-69]
E:[0-59]
输入要求
输入一个整数表示百分制的成绩,保证输入的整数在0到100之内。
输出要求
输出百分制转换后对应的五级制中的某一级。
输入样例
95
输出样例
A
提示
来源
NBU OJ
代码:
#include<stdio.h> //C语言
int main(){
int x;
scanf("%d",&x);
if(x>=90) printf("A\n");
else if(x>=80) printf("B\n");
else if(x>=70) printf("C\n");
else if(x>=60) printf("D\n");
else printf("E\n");
return 0;
}