第1关:九九乘法表
任务要求
设计程序,实现输出“九九乘法表”。
输入要求
无输入
输出要求
按照要求输出“九九乘法表”, 输出内容每一行末尾含有一个空格。
//根据题目要求完成程序设计
#include <stdio.h>
void printMultiplicationTable (void);
/*
函数名称:printMultiplicationTable
函数功能:输出九九乘法表
*/
//设计函数printMultiplicationTable
/*=====Begin=====*/
void printMultiplicationTable(void)
{
for(int i = 1; i<=9; i++)
{
for(int j = 1; j<=i; j++)
{
printf("%d*%d=%2d ",i,j,i*j);
}
printf("\n");
}
}
/*======End======*/
/*
函数名称:solve
函数功能:程序入口
函数返回值:void
*/
//设计函数solve
/*=====Begin=====*/
void solve()
{
printMultiplicationTable();
}
/*======End======*/
第2关:NN乘法表
任务要求
设计程序,实现输出“NN乘法表”。
输入要求
输入一个正整数N
(1<=N<=9)
输出要求
按照要求输出“NN乘法表”
输入样例
3
输出样例
1*1= 1
2*1= 2 2*2= 4
3*1= 3 3*2= 6 3*3= 9
说明
输出内容每一行末尾没有空格;每两个乘法表达式之间有一个空格
//根据题目要求完成程序设计
#include <stdio.h>
/*
函数名称:printMultiplicationTable
函数功能:输出NN乘法表
函数参数:整数
*/
//设计函数printMultiplicationTable
/*=====Begin=====*/
void printMultiplicationTable(int n)
{
for(int i = 1; i<=n; i++)
{
int j = 0;
for(j = 1; j<i; j++)
{
printf("%d*%d=%2d ",i,j,i*j);
}
printf("%d*%d=%2d",i,j,i*j);
printf("\n");
}
}
/*======End======*/
/*
函数名称:solve
函数功能:程序入口
函数返回值:void
*/
//设计函数solve
/*=====Begin=====*/
void solve()
{
int n =0;
scanf("%d",&n);
printMultiplicationTable(n);
}
/*======End======*/
第3关:阶乘的和
任务要求
设计程序,输出所有满足条件的五位数:该五位数等于其每位数字的阶乘之和,即abcdef=a!+b!+c!+e!+f!。
输入要求
无输入
输出要求
从小到大依次输出符合条件的五位数,中间用空格隔开。
//根据题目要求完成程序设计
#include <stdio.h>
int fact(int n)
{
if(n==1||n==0)
return 1;
else
return n*fact(n-1);
}
/*
函数名称:factorial
函数功能:计算n!
函数参数:整数
*/
//设计函数factorial
/*=====Begin=====*/
int factorial(int n)
{
int sum = 0;
int m = n;
for (int i = 0; i < 5; i++)
{
int tmp = 0;
tmp = n % 10;
n = n / 10;
tmp = fact (tmp);
sum += tmp;
}
if (sum == m)
{
return m;
}
else
return 0;
}
/*======End======*/
/*
函数名称:solve
函数功能:程序入口,输出满足条件的五位数
*/
//设计函数solve
/*=====Begin=====*/
int solve()
{
for (int i = 10000; i < 100000; i++)
{
int l = factorial(i);
if (l)
{
printf("%d ",l);
}
}
}
/*======End======*/
第4关:特殊的数
任务要求
设计程序,输出所有满足条件的四位数:该四位数是个完全平方数;同时满足千位、十位数字之和是10,百位、个位数字之积是7。
输入要求
无输入
输出要求
按照要求输出满足条件的数,中间用空格隔开。
//根据题目要求完成程序设计
#include <stdio.h>
#include<math.h>
/*
函数名称:function
函数功能:用于判定整数num是否满足条件(完全平方数;满足千位、十位数字之和是10,百位、个位数字之积是7)
函数参数:整数
*/
//设计函数function
/*=====Begin=====*/
int function(int i)
{
int m = i;
int a = m%10;
m=m/10;
int b = m%10;
m=m/10;
int c = m%10;
m=m/10;
int d = m%10;
if((int)sqrt(i)==sqrt(i)&&(d+b)==10&&a*c==7)
{
printf("%d ",i);
}
}
/*======End======*/
/*
函数名称:solve
函数功能:程序入口,输出满足条件的四位数
*/
//设计函数solve
/*=====Begin=====*/
void solve()
{
for(int i = 1000;i<10000;i++)
{
function(i);
}
}
/*======End======*/
第5关:有序数列求和
任务要求
设计程序,利用递归算法完成有序数列求和:1+2+3+4+...+n的值。
输入要求
输入一个正整数n
(1<=n<=1e4)
输出要求
输出一个结果,代表1+2+3+4+...+n的值。
输入样例1
1
输出样例1
1
输入样例2
100
输出样例2
5050
//根据题目要求完成程序设计
#include <stdio.h>
/*
函数名称:function
函数功能:递归函数实现有序数列求和
函数参数:整数
*/
//设计函数function
/*=====Begin=====*/
int function(int n)
{
if(n==1)
return 1;
return n+function(n-1);
}
/*======End======*/
/*
函数名称:solve
函数功能:程序入口,输出有序数列的和
*/
//设计函数solve
/*=====Begin=====*/
int solve()
{
int m = 0;
scanf("%d",&m);
printf("%d",function(m));
}
/*======End======*/