博主:命运之光
专栏:算法修炼之练气篇
前言:每天练习五道题,炼气篇大概会练习200道题左右,题目有C语言网上的题,也有洛谷上面的题,题目简单适合新手入门。(代码都是命运之光自己写的,练完这200多道题就考了今年第十四届的B组蓝桥杯C/C++获得了省一,后面还会更新“算法修炼之筑基篇”里面包括了省赛到国赛这一个月训练的刷奖计划,大概有40道左右,感兴趣的话可以关注一下命运之光)
目录
题目 1060: 二级C语言-同因查找
题目描述
输入格式
输出格式
样例输入
样例输出
题目 1126: C语言训练-字符串正反连接
题目描述
输入格式
输出格式
样例输入
样例输出
题目 1132: C语言训练-最大数问题
题目描述
输入格式
输出格式
样例输入
样例输出
题目 1129: C语言训练-排序问题<2>
题目描述
输入格式
输出格式
样例输入
样例输出
题目 1128: C语言训练-排序问题<1>
题目描述
输入格式
输出格式
样例输入
样例输出
🍓🍓今日份修炼结束,再接再厉!!!
题目 1060: 二级C语言-同因查找
题目描述
求出10至1000之内能同时被2、3、7整除的数,并输出。
每行一个。
输入格式
无
输出格式
无
样例输入
无
样例输出
无
🍓解题思路:内涵五种方法,总有一种适合你
编写题解 1060: 二级C语言-同因查找
题目描述:
求出10至1000之内能同时被2、3、7整除的数,并输出。
关键代码:(能同时被2、3、7整除的数)
if(i%2==0&&i%3==0&&i%7==0)//进行取余操作%
{
printf("%d\n",i);//输出满足条件的值
}
本题分别通过for循环;while循环;do while循环;goto语句;暴力破解等方法解决此问题,总有一种适合你。
方法一:for循环
#include<stdio.h>
int main()
{
for(int i=10;i<=1000;i++)
{
if(i%2==0&&i%3==0&&i%7==0)//进行取余操作%
{
printf("%d\n",i);//输出满足条件的值
}
}
return 0;
}
方法二:while循环
#include<stdio.h>
int main()
{
int i=10;
while(i>=10&&i<=1000)
{
if(i%2==0&&i%3==0&&i%7==0)//进行取余操作%
{
printf("%d\n",i);//输出满足条件的值
}
i++;//实现10~1000递增
}
return 0;
}
方法三:do while循环
#include<stdio.h>
int main()
{
int i=10;
do
{
if(i%2==0&&i%3==0&&i%7==0)//进行取余操作%
{
printf("%d\n",i);//输出满足条件的值
}
i++;//实现10~1000递增
}while(i>=10&&i<=1000);
return 0;
}
方法四:goto语句
#include<stdio.h>
int main()
{
int i=10;
flag:
if(i%2==0&&i%3==0&&i%7==0)//进行取余操作%
{
printf("%d\n",i);//输出满足条件的值
}
i++;//实现10~1000递增
if(i==1000)
{
return 0;
}
goto flag;//返回flag继续循环
}
方法五:暴力破解输出
#include<stdio.h>
int main()
{
printf("42\n");
printf("84\n");
printf("126\n");
printf("168\n");
printf("210\n");
printf("252\n");
printf("294\n");
printf("336\n");
printf("378\n");
printf("420\n");
printf("462\n");
printf("504\n");
printf("546\n");
printf("588\n");
printf("630\n");
printf("672\n");
printf("714\n");
printf("756\n");
printf("798\n");
printf("840\n");
printf("882\n");
printf("924\n");
printf("966\n");
return 0;
}
题目 1126: C语言训练-字符串正反连接
题目描述
所给字符串正序和反序连接,形成新串并输出
输入格式
任意字符串(长度<=50)
输出格式
字符串正序和反序连接所成的新字符串
样例输入
123abc
样例输出
123abccba321
#include<bits/stdc++.h>
using namespace std;
int main()
{
string s1,s2;
cin>>s1;
s2=s1;
reverse(s1.begin(),s1.end());/*STL——翻转字符串reserve(s1.begain(),s1.end());就是如此简单!!*/
cout<<s2+s1;
return 0;
}
题目 1132: C语言训练-最大数问题
题目描述
输入若干个整数,以-1标记输入结束。输出其中的最大数
输入格式
若干个整数。(以-1标记输入结束)
输出格式
其中的最大数
样例输入
1 2 5 7 8 6 1 -6 -1
样例输出
8
#include <bits/stdc++.h>
using namespace std;
int a[10005];
int main()
{
int i=0,n=0;
while(cin>>a[i])
{
if(a[i]==-1)
{
break;
}
i++;
n++;
}
printf("%d",*max_element(a,a+n));
return 0;
}
题目 1129: C语言训练-排序问题<2>
题目描述
将十个数进行从大到小的顺序进行排列
输入格式
十个整数
输出格式
以从大到小的顺序输出这个十个数
样例输入
1 2 3 4 5 6 7 8 9 10
样例输出
10 9 8 7 6 5 4 3 2 1
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a[10];
for(int i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
sort(a,a+10,greater<int>());
for(int i=0;i<10;i++)
{
printf("%d ",a[i]);
}
return 0;
}
题目 1128: C语言训练-排序问题<1>
题目描述
将四个整数进行从小到大的顺序排列,
输入格式
四个整数
输出格式
从小到大输出这四个数
样例输入
5 3 4 2
样例输出
2 3 4 5
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a[4];
for(int i=0;i<4;i++)
{
scanf("%d",&a[i]);
}
sort(a,a+4);
for(int i=0;i<4;i++)
{
printf("%d ",a[i]);
}
return 0;
}