1131:最常用字符
1132:数字字符统计
1133: 单词个数统计
1134: 字符串转换
1135: 算菜价
1136: 首字母变大写
1137: 查找最大元素
1138: C语言合法标识符
1139: 输出最短字符串
1140: 小数点后第n位 多实例
1131:最常用字符
题目描述英文字母里出现频率最高的是哪个字母呢? 给定一个字符串,输出字符串中出现次数最多的字母。
输入
输入一个只含有大小写字母和空格的字符串,长度不超过100,以回车结束。
输出
输出一个小写字母,表示该字符串中出现次数最多的字母。若答案有多个,则只输出ASCII码最小的那个。
样例输入 Copy
An apple
样例输出 Copy
a
AC代码:
#include <stdio.h> int main() {
int a[30]={
0}; char s[110],ch; int i,j=0,k,n; gets(s); for(i=0; s[i]!='\0'; i++){
if(s[i]>='A'&&s[i]<='Z')//遇到一个大写字母之后转化为小写 s[i]+=32; if(s[i]>='a'&&s[i]<='z'){
//遇到小写字母在对应的数组中加1 ch=s[i]-'a'; a[ch]++; } } int max=a[0]; for(i=1; i<26; i++){
if(a[i]>max){
max=a[i]; j=i; } } ch= 'a' + j; printf("%c", ch); return 0; }
讯享网
1132: 数字字符统计
题目描述对于给定的一个字符串,统计其中数字字符出现的次数。字符串长度不超过1000.
输入
输入数据有多行,第一行是一个整数n,表示测试实例的个数,后面跟着n行,每行包括一个由字母和数字组成的字符串。
输出
对于每个测试实例,输出该串中数字字符的个数,每个输出占一行。
样例输入 Copy
2
asdfasdfasdfasdf
asdfasdfasdfasdf
样例输出 Copy
AC代码:
讯享网#include<stdio.h> int main(){
int i,n,num; char s[1020]; scanf("%d", &n); getchar();//吃掉换行 while(n--){
num=0; gets(s); for(i=0; s[i]!='\0'; i++){
if(s[i]>='0'&&s[i]<='9') num++; } printf("%d\n", num); } return 0; }
1133: 单词个数统计
题目描述从键盘输入一行字符,长度小于1000。统计其中单词的个数,各单词以空格分隔,且空格数可以是多个。
输入
输入只有一行句子。仅有空格和英文字母构成
输出
单词的个数
样例输入 Copy
stable marriage problem Consists of Matching members
样例输出 Copy
7
#include<stdio.h> #include<string.h> int main(){
int i,n,num=0,len; char s[1020]; gets(s); len=strlen(s); for(i=0; s[i]!='\0'; i++){
if(s[i]!=' '&&s[i+1]==' ') num++; } if(s[len-1]!=' ')//处理最后一个字符 num++; printf("%d\n", num); return 0; }
1134: 字符串转换
题目描述输入一个以回车结束的字符串,它由数字和字母组成,请过滤掉所有非数字字符,然后将数字字符串转换成十进制整数后乘以2输出。
输入
输入一个以回车结束的字符串,长度不超过100,由数字和字母组成。
输出
将转换后的整数乘以2输出,测试数据保证结果在int范围内。
样例输入 Copy
sg987aa65t498
样例输出 Copy
AC代码:
讯享网#include<stdio.h> int main(){
int i,n,num=0,len; char s[102]; gets(s); for(i=0; s[i]!='\0'; i++){
if(s[i]>='0'&&s[i]<='9') num=num*10+s[i]-'0'; } printf("%d\n", num*2); return 0; }
1135: 算菜价
题目描述妈妈每天都要出去买菜,但是回来后,兜里的钱也懒得数一数,到底花了多少钱真是一笔糊涂帐。现在好了,作为好儿子(女儿)的你可以给她用程序算一下了,呵呵。
输入
输入含有一些数据组,每组数据包括菜种(不含空格的字串),数量w(计量单位不论,一律为double型数)和单价p(double型数,表示人民币元数),因此,每组数据的菜价就是数量乘上单价啊。菜种、数量和单价之间都有空格隔开的。
输出
支付菜价的时候,由于最小支付单位是角,所以总是在支付的时候采用四舍五入的方法把分头去掉。最后,请输出一个精度为角的菜价总量。
样例输入 Copy
青菜 1 2
萝卜 2 1.5
鸡腿 2 4.2
样例输出 Copy
13.4
提示
知道%*s的作用吗?试试 while( scanf(“%*s%lf%lf”, &w,&p) != EOF ){ }
来源/分类
#include<stdio.h> int main(){
double w,p,money=0; while(scanf("%*s%lf%lf", &w,&p) != EOF ){
money+=w*p; } printf("%.1f\n", money); return 0; }
1136: 首字母变大写
题目描述输入一个只包含大小写英文字母和空格的句子,将每个单词的第一个字母改成大写字母。
输入
输入一个长度不超过100的英文句子。
输出
请输出按照要求改写后的英文句子。
样例输入 Copy
i like ACM
样例输出 Copy
I Like ACM
讯享网#include<stdio.h> int main(){
int i; char s[150]; gets(s); if(s[0]>='a'&&s[0]<='z')//首先解决掉第一个单词 s[i]-=32; for(i=0; s[i]!='\0'; i++){
//要注意第一个字符是空格的情况!!!! if(s[i]==' '&&s[i+1]!=' '){
if(s[i+1]>='a'&&s[i+1]<='z') s[i+1]-=32; } } puts(s); return 0; }
1137: 查找最大元素
题目描述对于输入的字符串,查找其中的ASCII码值最大字母,在该字母后面插入字符串“(max)”。
输入
输入一行长度不超过200的字符串组成,字符串仅由大小写字母构成。
输出
输出的结果是插入字符串“(max)”后的结果,如果存在多个最大的字母,就在每一个最大字母后面都插入"(max)"。
样例输入 Copy
abcdefgfedcbag
样例输出 Copy
abcdefg(max)fedcbag(max)
#include<stdio.h> int main(){
int i; char s[220],max; gets(s); //找到ASCII码最大的字母 for(i=1; s[i]!='\0'; i++){
if(s[i]>max) max=s[i]; } for(i=0; s[i]!='\0'; i++){
printf("%c", s[i]); if(s[i]==max) printf("(max)"); } return 0; }
1138: C语言合法标识符
题目描述输入一个字符串,判断其是否是C的合法标识符。C语言中规定标识符只能由字母、数字和下划线3种字符组成,且第一个字符必须为字母或下划线。
输入
输入一个长度不超过50的字符串。
输出
如果输入数据是C的合法标识符,则输出"yes",否则,输出“no”。
样例输入 Copy
8fixafghgjhjhjyuyuyyuyuyu
样例输出 Copy
no
来源/分类
讯享网 #include<stdio.h> int main(){
int i,flag; char s[60]; gets(s); if((s[0]>='a'&&s[0]<='z')||(s[0]>='A'&&s[0]<='Z')||s[0]=='_') flag=0; else flag=1; for(i=1; s[i]!='\0'; i++){
if((s[i]>='a'&&s[i]<='z')||(s[i]>='A'&&s[i]<='Z')|| s[i]=='_'||(s[i]>='0'&&s[i]<='9')) flag=flag; else flag=1; if(flag==1) break; } if(flag==1) printf("no"); else printf("yes"); return 0; }
1139: 输出最短字符串<
题目描述输入n和n个字符串,输出其中最短的字符串。若长度相同则输出出现较早的那一个。
输入
第一行是一个整数n,后面跟着n行,每行包括一个由字母和数字和空格组成的字符串,长度不超过1000。
输出
长度最短的字符串,若长度相同则输出出现较早的那一个。
样例输入 Copy
5
How are you!
Happy
Good!
Hello world!
Thinks
样例输出 Copy
Happy
来源/分类
#include<stdio.h> #include<string.h> int main(){
int i,n,len=0,len1; char s[1050],a[1050]; scanf("%d", &n); getchar();//吃掉空格 gets(s); len=strlen(s); for(i=0; s[i]!='\0'; i++){
a[i]=s[i]; } n--; while(n--){
//getchar(); gets(s); len1=strlen(s); if(len1<len){
len=len1; for(i=0; s[i]!='\0'; i++){
a[i]=s[i]; } } } for(i=0; i<len; i++){
printf("%c", a[i]); } return 0; }
1140: 小数点后第n位 多实例
题目描述给你一个小数x,让你算出小数点后第n位是什么,1 <= n <= 6。
输入
输出
输出一个整数,表示小数点后第n位的数。
样例输入 Copy
3
1.234 1
2.345 2
3.456 4
样例输出 Copy
2
4
0
来源/分类
讯享网#include<stdio.h> int main(){
int i,j,n,len=0,num,t; char s[1050]; scanf("%d", &n); while(n--){
scanf("%s %d", s,&num); int flag=0;//标记是否存在要求的第n位小数 t=0;//标记当前的小数是第几位 //查找小数点的位置 for(i=0; s[i]!='\0'; i++){
if(s[i]=='.') break; } //printf("%d %d\n", i,num); //查找第n位小数并且标记 for(j=i+1; s[j]!='\0'; j++){
t++; if(t==num){
if(s[j]!=' '){
flag=1; printf("%c\n", s[j]); break; } } } if(flag==0) printf("0\n"); } return 0; }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/73660.html