C语言 百炼成钢15
2016-01-25 18:50
411 查看
//题目43:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出 //圈子,问最后留下的是原来第几号的那位。 #include<stdio.h> #include<stdlib.h> //分析:用while循环实现 //定于数组的大小 #define N 6 void main(){ int a = { 1, 2, 3 ,4,5,6}; //定义报数变量 int k = 1; //定义数组下标变量 int index = 0; //定义数组有用元素变量 int num = N; while (num != 1){ //确保元素下标不会越界 if (index>N - 1) { index = 0; } //当遇到已经删除的元素,要跳到下一个元素上 if (a[index] != 0) { if (k == 3) { //删除已经报3的元素 a[index] = 0; //实际元素个数减1 num--; //遇到3后 重置报数 k = 1; } else{ k++; } index++; } else{ index++; } } for (int i = 0; i < N; i++) { if (a[i]!=0) { printf("最后留下的是第%d号",a[i]); } } system("pause"); }
//题目44:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> //分析:自已一个字符串数组 void main(){ char str[50] = { 0 }; printf("请输入一个字符串\n"); scanf("%s",str); int num = 0; while (str[num]!='\0'){ num++; } printf("字符串的长度是%d\n", num); system("pause"); }
//题目45:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数 //1 / 1 + 1 / 3 + ... + 1 / n(利用指针函数) #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> //分析:知识点函数指针的调用 //偶数 double Even(int n){ double s = 0.0; for (int i = 2; i <=n; i=i+2) { s += 1.0 / i; } return s; } //奇数 Odd double Odd(int n){ double s = 0.0; for (int i = 1; i <= n; i=i + 2) { s += 1.0 / i; } return s; } void main(){ int num = 0; printf("请输入一个数字\n"); scanf("%d",&num); //定义函数指针,函数指针的定义必须是(*p),不然会报错 double (*p)(int n); if (num%2==0) { //如果是偶数 p = Even; } else{ p = Odd; } printf("函数的值是%lf",p(num)); system("pause"); }
相关文章推荐
- 链表ADT C语言实现
- Face Alignment at 3000FPS(C++版)工程配置(非Cmake)
- C++中一个class类对象占用多少内字节
- c语言 setjmp和longjmp 实现协线程
- 解析C++编程中异常相关的堆栈展开和throw()异常规范
- C语言中内存分配 (转)
- C++编程异常处理中try和throw以及catch语句的用法
- C语言 segment fault
- 2009: C语言实验——各位数字之和排序
- C++智能指针的实现
- C++后台实践:古老的CGI与Web开发
- C++技巧之operator操作符
- 详解C++中new运算符和delete运算符的使用
- VC++获取当前系统时间日期 GetSystemTime()函数的用法
- 揭秘Facebook官方底层C++底层函数Folly
- C++读系统时间,且读出毫秒的方法[VC和GCC]
- IDEA算法c语言实现
- 揭秘Facebook官方底层C++底层函数Folly
- C++读系统时间,且读出毫秒的方法[VC和GCC]
- IDEA算法c语言实现