自学的C,晚上做了一张试卷。有挺多不懂
#include "stdio.h"void main()
{
int k,p,s;
printf("输入里程:\n");
scanf("%d",&k);
s=k/500;
switch(s)
{
case 0:p=19*(k/50);break;
case 1:p=190+12*((k-500)/50);break;
case 2:
case 3:p=310+8*((k-1000)/50);break;
case 4:
case 5:p=470+4*((k-2000)/50);break;
}
printf("票价=%d",p);
}
//一次就写出来了。虽然很简单,但对我才学1个礼拜的C来说,觉得不错了。调试后结果是对。顿时自信爆棚了。
试卷最后一道题,想了半天还是不懂。发大家参考下。
题目:任何一个自然数m的立方均可以写成m个连续奇数之和。例如
pow (1,3) =1
pow(2,3)=3+5
pow(3,3)=7+9+11
pow(4,3)=13+15+17+19
写一个程序实现:输入自然数n,求出组成pow(n,3)的n个连续奇数.
//我的思路是这样的:使用for循环。
int a,n,b,t,sum;
a=1,n=1;
for(n=2;n<=99;n++)
sum=a+b;a=a+2;b=a+2
这样求不出来连续的n个数,只能求一个数。
怎么样的算法比较好。谢谢
[ 本帖最后由 qq23826868 于 2013-4-26 01:18 编辑 ]