博主:命运之光 专栏:算法修炼之练气篇 前言:每天练习五道题,炼气篇大概会练习200道题左右,题目有C语言网上的题,也有洛谷上面的题,题目简单适合新手入门。(代码都是命运之光自己写的,练完这200多道题就考了今年第十四届的B组蓝桥杯C/C++获得了省一,后面还会更新“算法修炼之筑基篇”里面包括了省赛到国赛这一个月训练的刷奖计划,大概有40道左右,感兴趣的话可以关注一下命运之光)
读入一些字符串,将其中的空格去掉。
输入为多行,每行为一个字符串,字符串只由字母、数字和空格组成,每个字符串长度不超过80。
对于每行输入,输出转换后的字符串。
Hello World
1 2 3
Nice to meet you
abc
HelloWorld
123
Nicetomeetyou
abc
#include<bits/stdc++.h>
using namespace std;
int main()
{
char s[1000];
while(gets(s))
{
int len=strlen(s);
for(int i=0;i<len;i++)
{
if(s[i]!=' ')
{
printf("%c",s[i]);
}
}
printf("\n");
}
return 0;
}
输入一串字符,将其中的大写变成小写,若不为大写则原样输出
任意字符串(长度在100以内)以回车表示输入结束
将其中的大写 输出相应的小写,若不为大写则原样输出
A123b
a123b
#include<bits/stdc++.h>
int main()
{
char s[1000];
gets(s);
int len1=strlen(s);
for(int i=0;i<len1;i++)
{
if(s[i]>='A'&&s[i]<='Z')
{
s[i]=s[i]+32;
}
printf("%c",s[i]);
}
return 0;
}
写一函数,将两个字符串连接
两行字符串
链接后的字符串
123
abc
123abc
#include<bits/stdc++.h>
int main()
{
char s[1000],t[1000];
gets(s);
int len1=strlen(s);
gets(t);
int len2=strlen(t);
for(int i=0;i<len1;i++)
{
printf("%c",s[i]);
}
for(int i=0;i<len2;i++)
{
printf("%c",t[i]);
}
return 0;
}
写一函数,使输入的一个字符串按反序存放,在主函数中输入并输出反序后的字符串(不包含空格)。
一行字符
逆序后的字符串
123456abcdef
fedcba654321
#include<bits/stdc++.h>
int main()
{
char s[1000];
gets(s);
int len=strlen(s);
for(int i=len-1;i>=0;i--)
{
printf("%c",s[i]);
}
return 0;
}
有n个整数,使前面各数顺序向后移m个位置,最后m个数变成前面m个数。写一函数:实现以上功能,在主函数中输入n个数和输出调整后的n个数。
输入数据的个数n n个整数 移动的位置m
移动后的n个数
10 1 2 3 4 5 6 7 8 9 10 2
9 10 1 2 3 4 5 6 7 8
#include<bits/stdc++.h>
#define N 1005
int a[N];
int main()
{
int i,n,m;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
scanf("%d",&m);
for(i=n-m;i<n;i++)
{
printf("%d ",a[i]);
}
for(i=0;i<n-m-1;i++)
{
printf("%d ",a[i]);
}
printf("%d",a[n-m-1]);
return 0;
}