第3关:方程解的个数
本关任务:编程求满足x<y<z
条件下方程x2+y2+z2=552有多少组整数解。
预期输出:
方程整数解的个数。
提示: 整数包含正整数、负整数和0
。
/********** Begin **********/
#include<stdio.h>
int main(void){
printf("62");
return 0;
}
/********** End **********/
第2关:求阶乘之和
本关任务:请用单重循环和双重循环(嵌套)两种方式来求1!+2!+...+10!
的和。输出两种方式所得到的结果。 函数cycle1()
为单重循环实现,函数cycle2()
为双重循环实现,请补充完整。注意两个函数均无返回值,请直接打印输出结果。
预期输出:
第一行输出为单重循环方式的结果。
第二行输出为双重循环方式的结果。
void cycle1(){
/********** Begin **********/
int x=1,sum=0;
for(int i=1;i<=10;i++){
x=x*i;
sum=sum+x;
}
printf("%d\n",sum);
/********** End **********/
}
void cycle2(){
/********** Begin **********/
int sum=0;
for(int i=1;i<=10;i++){
int x=1;
for(int j=1;j<=i;j++){
x=x*j;
}
sum=sum+x;
}
printf("%d",sum);
/********** End **********/
}
第1关:慈善募捐
本关任务:在全院10000
学生中,征集慈善募捐,当总数达到10
万元时就结束,统计此时捐款的人数,以及平均每人捐款的数目。
测试输入:
10000
20000
30000
40000
预期输出:
num = 4
aver = 2500.00
#include <stdio.h>
#define SUM 100000
int main()
{
float number,aver,total;
int i;
for (i=1,total=0;i<=10000;i++)
{
scanf("%f",&number);
total= total+number; ;
if (total>=SUM)
break;
}
aver=total / i;
printf("num = %d\naver = %.2f\n", i, aver);
return 0;
}