1.数位五五
2.简写单词
3.字符串操作
笔者开头感想,如今大部分高校已经开学,当然笔者也不列外!但是由于疫情的原因,笔者被迫在家上网课学习!一脸忧愁,而这恰恰给了笔者自学的机会!相信笔者会加油滴!按照时间的步伐来追寻科班的脚步!C语言练习题集册见!
1.数位五五
描述
求出[a,b]区间内有多少个数数位之和为5的倍数
输入描述:
输入一行包含两个整数a,b (1<= a<= b<=1000000)
输出描述:
输出一个整数
示例1
输入:
10 20
输出:
2
说明:
14和19的数位和为5和10,符合条件
#include <stdio.h>
int main()
{
int a = 0;
int b = 0;
scanf("%d %d", &a, &b);
int i = 0;
// int sum=0;
int count = 0;
for (i = a; i <= b; i++)
{
int tab = i;
int sum = 0;
while (tab)
{
sum = sum + tab % 10;
tab = tab / 10;
}
if (sum % 5 == 0)
count++;
}
printf("%d\n", count);
return 0;
}
2.简写单词
规定一种对于复合词的简写方式为只保留每个组成单词的首字母,并将首字母大写后再连接在一起
比如 “College English Test”可以简写成“CET”,“Computer Science”可以简写为“CS”,“I am Bob”简写为“IAB”
输入一个长复合词(组成单词数 sum,sum\geq1且sum\leq100sum,sum≥1且sum≤100,每个单词长度len,len\geq1且len\leq50len,len≥1且len≤50),请你输出它的简写
输入描述:
输入一个复合词
输出描述:
输出一行,表示复合词的简写
示例1
输入:
College English Test
输出:
CET
#include <stdio.h>
#include <string.h>
int main ()
{
char ch[1000]={0};
gets(ch);
int i=0;
int len=strlen(ch);
for(i=0;i<len;i++)
{
if(ch[i]>=97)
{
ch[i]=ch[i]-32;
}
}
printf("%c",ch[0]);
for(i=0;i<len;i++)
{
if(ch[i]==' ')
printf("%c",ch[i+1]);
}
return 0;
}
3.字符串操作
描述
给定长度为n的只有小写字母的字符串s,进行m次操作,每次将[l,r]范围内所有c1字符改成c2,输出操作完的字符串
输入描述:
第一行两个数n,m
第二行一个字符串s
之后m行,每行两个数l r两个字符c1 c2
输出描述:
输出一行一个字符串
示例1
输入:
5 3 wxhak 3 3 h x 1 5 x a 1 3 w g
输出:
gaaak
说明:
第一次修改后为wxxak 第二次修改后为waaak 第三次修改后为gaaak
备注:
对于100%的数据,有1<=n , m<=100
#include <stdio.h>
int main ()
{
int n=0;
int m=0;
scanf("%d %d",&n,&m);
char ch[100]={0};
scanf("%s",&ch);
// puts(ch);
int l=0;
int r=0;
char ch1=0;
char ch2=0;
int i=0;
for(i=0;i<m;i++)
{
scanf("%d %d %c %c",&l,&r,&ch1,&ch2);
int j=0;
for(j=l;j<=r;j++)
{
if(ch[j-1]==ch1)
ch[j-1]=ch2;
}
}
printf("%s",ch);
// gets(ch);
return 0;
}