12-20学习记录

来源:互联网 发布:鲜卑化 知乎 编辑:程序博客网 时间:2024/04/27 14:30

  今天练习了一些新代码包括

  一.编写一个函数,它从一个字符串中提取一个子字符串。

#include<stdio.h>#include<string.h>#include<stdlib.h>#include<assert.h>int substr(char dst[], char src[], int start, int len){assert(dst);assert(src);int i = 0;for (i = 0; i < len; i++){dst[i] = src[start - 1];start++;}dst[i] = 0;printf("\n复制的字符串为:");for (i = 0; i < len; i++){printf("%c", dst[i]);}return (strlen(dst));}int main(){int i = 0;int flag = 1;int start = 0;int len = 0;char dst[10], src[10];printf("请输入字符串(小于十个字符):");while (flag){scanf("%c", &src[i]);if (src[i] == '\n'){flag = 0;}i++;}printf("\n请输入从第几个字符开始复制:");scanf("%d", &start);printf("\n请输入要复制几个字符:");scanf("%d", &len);printf("\n复制的字符串长度为:%d\n", substr(dst, src, start, len));system("pause");return 0;}

  二.有一个分数序列 2/1+3/2+5/3+8/5+13/8+…求出这个数列前 20 项的和。  

#include<stdio.h>int main(){float dem = 2.0, num = 1.0, sum = 0.0;int n = 0;printf("请输入n=");scanf("%d", &n);for (num = 1; num <= n; num++){sum += dem / num;dem += num;}printf("%f\n", sum);system("pause");return 0;}

  三.一个球从 100 米高的地方自由落下,每次落地后反跳回原高度的一半,再落下,再反弹。

求第10次落地时,共经过多少米,第 10 次反弹多高。

#include<stdio.h>int main(){float high = 100.0, dis = 0.0;int n = 10;for (n = 0; n < 10; n++){dis += high + high / 2.0;high /= 2.0;}printf("high=%f\n", high*2);printf("distance=%f\n", dis-high/2.0);system("pause");return 0;}

  四.猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,好不过瘾,又多吃了一个。第二天早上又吃了剩下的桃子的一半,又多吃了一个。以后每天都吃了前一天剩下的一半零一个,到第 10 天早上想再吃的时候,就剩下一个桃子。求第一天共摘多少个桃子。

#include<stdio.h>int main(){int num = 1;int i = 0;for (i = 0; i < 9; i++){num = (num + 1) * 2;}printf("num=%d\n", num);system("pause");return 0;}

  五.实现一个函数,将一个数的二进制序列逆序,然后输出逆序所得二进制序列所对应的数字。

#include<stdio.h>unsigned int reverse_bit(unsigned int num){int i = 0;unsigned int nnum = 0;for (i = 0; i < 32; i++){if (num % 2 == 1){nnum=nnum << 1;nnum = nnum | 1;}else{nnum=nnum << 1;}num /= 2;}return nnum;}int main(){unsigned int num = 0;printf("num=");scanf("%d", &num);unsigned int ret = reverse_bit(num);printf("逆序数字为:%u\n", ret);system("pause");return 0;}

  收获很多,有时候还是犯一些低级错误。继续努力!

0 0
原创粉丝点击