Road to Coder _练习

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Road to Coder _练习相关的知识,希望对你有一定的参考价值。

周次

学习时间

新编写代码行数

博客量(篇)

学到知识点

         

第15周

-0.5h

 

1

函数‘及算法加深

#include"stdio.h"
#include"string.h"

main()
{
char string[20];
char c;
int word=0,num=0,i;

printf("请输入一个句子:");
gets(string);

for(i=0;(c=string[i])!=‘\0‘;i++)//结束条件:字符串结束符
{
if(c==‘ ‘)word=0;//判断字符前是否是空,如果不是,则单词计数+1
else if(word==0)
{
word=1;//标志置1;代表这个字符前面是个连接的符
num++;
}
}
printf("这句子里有%d个单词。",num);

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

汉诺塔是根据一个传说形成的一个问题:有三根杆子A,B,C。A杆上有N个(N>1)穿孔圆盘,盘的尺寸由下到上依次变小。要求按下列规则将所有圆盘移至C杆:提示:可将圆盘临时置于B杆,也可将从A杆移出的圆盘重新移回A杆,但都必须尊循上述两条规则。问:如何移?最少要移动多少次?

#include<stdio.h>


main()
{
int n;
printf("Please input tier of the hanoi:");
scanf_s("%d",&n);
hanoi(n,‘A‘,‘B‘,‘C‘);
getch();
}

 

hanoi(int n, char a, char b, char c)
{
if (n == 1) printf("\t%c --> %c\n",a,c);//如只有一层,直接A-》C;
else
{
hanoi(n - 1, a, c, b);//(1)     把n-1个盘子由A 移到 B;             

printf("\t%c --> %c\n",a,c);//(2)     把第n个盘子由 A移到 C;
hanoi(n - 1, b, a, c);//(3)     把n-1个盘子由B 移到 C;
}
}

运行结果:

Please input tier of the hanoi:3
A --> C
A --> B
C --> B
A --> C
B --> A
B --> C
A --> C

 

/////////////////////////////////////////////////////////////////////////////////////////////////////////

//舍罕王失算(麦子)

故事: 
相传现在流行的国际象棋是古印度舍罕王(Shirham)的宰相达依尔(Dahir) 发明的。舍罕王十分喜爱国际象棋,决定让达依尔自己要求得到什么赏赐。这位聪明的宰相指着8×8共64格的象棋盘说:”陛下,请你赏给我一些麦子吧,就在棋盘的第1格中放1粒,第2格中放2粒,第3格中放4粒,以后每一格都比前一格增加一倍,一次放完棋盘上的64格,我就感恩不尽了。“ 
舍罕王让人扛来了一袋麦子,他要兑现达依尔的许偌。。。请问,舍罕王能兑现他的许偌吗?

摆放完棋盘上的64格共需多少麦子?这些小麦合多少吨(1吨小麦约2.4e7粒)?这些小麦相当于世界粮食年总产量(以2014年度数据2.48e9吨计算)的多少倍?


main()
{
double t, v, p, s;
int i, n;

printf("请输入格数n:");
scanf_s("%d",&n);

t = 1; s = 1;
for (i = 2; i <= n; i++)
{
t = t*2;//进行计算
s = s + t;
}
v = s / 2.4e7;//求吨数
p = v / 2.48e9;//世界粮食产量的倍数
if (n <= 40)printf("总麦子数量为:%。0f\n", s);
else
printf("格数n为%d的麦子数量为%.3e\n",n,s);//就是计算量有点大,输出的时候需要仔细确认,我是错了好久才调好的;
printf("这些粮食重量为:%.0f吨。\n",v);
printf("约等于世界粮食产量的%.0f倍",p);
getch();
}
运行结果:

请输入格数n:64
格数n为64的麦子数量为1.845e+19
这些粮食重量为:768614336405吨。
约等于世界粮食产量的310倍

////////////////////////////////////////////////////////////////////////////////////////////

最近考试什么的没能自觉的敲代码,导致这星期除了上课没什么敲,上面都是之前敲的就拿出来顶一下。

                                                                                                By Genmer-Visual Stduio 2017 Programming 

 

以上是关于Road to Coder _练习的主要内容,如果未能解决你的问题,请参考以下文章

Road to Coder _String

Road to Coder _指向函数的指针

机器学习之路 The Road To Machine Learning

ZJOI2017练习D3T2 road(斯坦纳树,状压DP)

python练习题__列表

Code Signal_练习题_palindromeRearranging