第1关:数位之积
任务描述
本关任务:函数fun的功能是:计算正整数num的各位上的数字之积。
相关知识
为了完成本关任务,你需要掌握:
算术运算符
do while语句
迭代法
编程要求
请改正程序中的错误,使它能得出正确的结果,不要改动main函数,不得增行或删行,也不得更改程序的结构。
测试说明
平台会对你编写的代码进行测试:
测试输入:
252
预期输出:
20
#include <stdio.h>
long fun(long num)
{
/********found********/
long k=1;
do
{ k*=num%10;
/********found********/
num/=10;
} while(num);
return (k);
}
void main()
{ long n;
scanf("%ld",&n);
printf("%ld\n",fun(n));
}
第2关:数字中零的个数
任务描述
给定程序中函数fun的功能是:统计一个无符号整数中各位数字值为零的个数,通过形参传回主函数;并把该整数中各位上最大的数字值作为函数值返回。
相关知识
完成本关,你需要掌握:
循环结构
字符编码规则
编程要求
请改正程序中的错误,使它能得出正确的结果,不要改动main函数,不得增行或删行,也不得更改程序的结构。
测试说明
平台会对你编写的代码进行测试:
测试输入:
30800
预期输出:
3 8
#include <stdio.h>
int fun(unsigned n,int *zero){
int count=0,max=0,t;
do {
t=n%10;
/********found********/
if(t==0)
count++;
if (max<t)
max=t;
n=n/10;
}while(n);
/********found********/
*zero=count;
return max;
}
void main(){
unsigned n;
int zero,max;
scanf("%u",&n);
max=fun(n,&zero);
printf("%d %d\n",zero,max);
}
第3关:加星号
任务描述
本关任务:给定程序中函数fun的功能是:在字符串的最前端加入n个*,形成新串,并且覆盖串。字符串的长度最长允许为79。
相关知识
为了完成本关任务,你需要掌握:1.如何用字符数组存放字符串,2.如何修改字符串。
编程要求
请改正程序中的错误,使它能得出正确的结果,不要改动main函数,不得增行或删行,也不得更改程序的结构。
测试说明
平台会对你编写的代码进行测试:
测试输入:
ABCDE
4;
预期输出:
****ABCDE
#include <stdio.h>
#include <string.h>