蓝杯三十五
算法训练 数对
时间限制:1.0s 内存限制:512.0MB
提交此题
问题描述
编写一个程序,该程序从用户读入一个整数,然后列出所有的数对,每个数对的乘积即为该数。
输入格式:输入只有一行,即一个整数。
输出格式:输出有若干行,每一行是一个乘法式子。(注意:运算符号与数字之间有一个空格)
输入输出样例
样例输入
32
样例输出
1 * 32 = 32
2 * 16 = 32
4 * 8 = 32
8 * 4 = 32
16 * 2 = 32
32 * 1 = 32
#include "stdio.h"
int main()
{
int n,i ;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
if(n%i==0)
{
printf("%d * %d = %d\n",i,n/i,n);
}
}
return 0 ;
}
思路分析:
①定义变量:一个整数n,从1开始的数i;
②输入一个整数;
③for语句循环,直至整数n;用if语句进行判断n%i是否为0,如果是则输出乘法式子。
算法训练 字符删除
时间限制:1.0s 内存限制:512.0MB
提交此题
问题描述
编写一个程序,先输入一个字符串str(长度不超过20),再输入单独的一个字符ch,然后程序会把字符串str当中出现的所有的ch字符都删掉,从而得到一个新的字符串str2,然后把这个字符串打印出来。
输入格式:输入有两行,第一行是一个字符串(内部没有空格),第二行是一个字符。
输出格式:经过处理以后的字符串。
输入输出样例
样例输入
123-45-678
-
样例输出
12345678
#include<stdio.h>
#include<string.h>
int main()
{
char s[20],ch;
gets(s);
scanf("%c",&ch);
int i;
for(i=0;i<strlen(s);i++)
{
if(s[i]!=ch)
{
printf("%c",s[i]);
}
}
return 0;
}
思路分析:
①定义变量:字符串(一维数组),删除字符,循环次数;
②输入字符串,删除字符;
③for语句循环(长度为字符串长度);用if语句判断是否字符是不等于删除字符,如果是则输出字符。
算法训练 整除问题
时间限制:1.0s 内存限制:512.0MB
提交此题
问题描述
编写一个程序,输入三个正整数min、max和factor,然后对于min到max之间的每一个整数(包括min和max),如果它能被factor整除,就把它打印出来。
输入格式:输入只有一行,包括三个整数min、max和factor。
输出格式:输出只有一行,包括若干个整数。
输入输出样例
样例输入
1 10 3
样例输出
3 6 9
#include<stdio.h>
int main(){
int min,max,factor;
scanf("%d%d%d",&min,&max,&factor);
int i;
for(i=min;i<=max;i++){
if(i%factor==0){
printf("%d ",i);
}
}
return 0;
}
思路分析:
①定义变量:三个整数,循环次数;
②输入三个整数;
③用for语句循环(从min起,max结束);if语句判断其中的整数是否被factor整除,如果整除,输出该数;