C语言 百炼成钢15
//题目43:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出
//圈子,问最后留下的是原来第几号的那位。 #include<stdio.h>
#include<stdlib.h> //分析:用while循环实现 //定于数组的大小
#define N 6 void main(){
int a[N] = { , , ,,,};
//定义报数变量
int k = ;
//定义数组下标变量
int index = ;
//定义数组有用元素变量
int num = N;
while (num != ){
//确保元素下标不会越界
if (index>N - )
{
index = ;
}
//当遇到已经删除的元素,要跳到下一个元素上
if (a[index] != )
{
if (k == )
{
//删除已经报3的元素
a[index] = ;
//实际元素个数减1
num--;
//遇到3后 重置报数
k = ;
}
else{
k++;
}
index++;
}
else{
index++;
} }
for (int i = ; i < N; i++)
{
if (a[i]!=)
{
printf("最后留下的是第%d号",a[i]);
}
} system("pause"); }

//题目44:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。 #define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h> //分析:自已一个字符串数组 void main(){
char str[] = { };
printf("请输入一个字符串\n");
scanf("%s",str);
int num = ;
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 = ; i <=n; i=i+)
{
s += 1.0 / i;
}
return s;
} //奇数 Odd
double Odd(int n){
double s = 0.0;
for (int i = ; i <= n; i=i + )
{
s += 1.0 / i;
}
return s;
} void main(){
int num = ;
printf("请输入一个数字\n");
scanf("%d",&num);
//定义函数指针,函数指针的定义必须是(*p),不然会报错
double (*p)(int n);
if (num%==)
{
//如果是偶数
p = Even;
}
else{
p = Odd;
}
printf("函数的值是%lf",p(num));
system("pause");
}

C语言 百炼成钢15的更多相关文章
- (转)C++语言的15个晦涩特性
原文链接: Evan Wallace 翻译: 伯乐在线- 敏敏 译文链接: http://blog.jobbole.com/54140/ 这个列表收集了 C++ 语言的一些晦涩(Obscure)特 ...
- C++你不知道的那些事儿—C++语言的15个晦涩特性
这个列表收集了 C++ 语言的一些晦涩(Obscure)特性,是我经年累月研究这门语言的各个方面收集起来的.C++非常庞大,我总是能学到一些新知识.即使你对C++已了如指掌,也希望你能从列表中学到一些 ...
- C语言 百炼成钢19
/* 题目55: 有一个字符串符合以下特征(”abcdef,acccd,eeee,aaaa,e3eeeee,sssss,";),要求写一个函数(接口),输出以下结果 1) 以逗号分割字符串, ...
- C语言 百炼成钢14
//题目40:输入3个数a,b,c,按大小顺序输出.(使用指针完成) #include<stdio.h> #include<stdlib.h> //分析:用指针完成,说明不可以 ...
- C语言 百炼成钢5
//题目13:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数 //本身.例如:153是一个“水仙花数”,因为153 = 1的三次方+5的三次方+3的三次方. #de ...
- C语言 百炼成钢4
//题目10:打印楼梯,同时在楼梯上方打印两个笑脸. #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdli ...
- 转:C++语言的15个晦涩特性
转自 http://blog.jobbole.com/54140/ 操作符重载和检查顺序 重载,(逗号),||或者&&操作符会引起混乱,因为它打破了正常的检查规则.通常情况下,逗号操作 ...
- C程序设计语言练习题1-5
练习1-5 修改温度转换程序,要求以逆序(即按照从300度到0度的顺序)打印温度转换表. 代码如下: #include <stdio.h> // 包含标准库的信息. int main() ...
- C++语言基础(15)-友元函数和友元类
一个类中可以有 public.protected.private 三种属性的成员,通过对象可以访问 public 成员,只有本类中的函数可以访问本类的 private 成员.现在,我们来介绍一种例外情 ...
随机推荐
- 【读书笔记】iOS-UIFont-如何知道字体的PostScript名称
一,名词解释 PostScript字体: 按 PostScript 页面描述语言 (PDL) 规则定义的字体,并且只能在 PostScript 兼容的打印机上打印. 二,打开Launchpad---- ...
- 五种创建UIImage的类方法
五种创建UIImage的类方法 UIImage有五个类方法,用来创建UIImage的.下面介绍一下每个类方法的作用和创建实例. 1.使用类方法imageNamed:创建 + (UIImage *)im ...
- UVa 109 - SCUD Busters(凸包计算)
题目来源:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=3&pa ...
- Modernizr的介绍和使用
传统浏览器目前不会被完全取代,令你难以将最新的 CSS3 或 HTML5 功能嵌入你的网站. Modernizr 正是为解决这一难题应运而生,作为一个开源的 JavaScript 库,Moderniz ...
- 8张图理解Java
一图胜千言,下面图解均来自Program Creek 网站的Java教程,目前它们拥有最多的票选.如果图解没有阐明问题,那么你可以借助它的标题来一窥究竟. 1.字符串不变性 下面这张图展示了这段代码做 ...
- ReportViewer技巧汇总
在MVC项目中使用ReportViewer 创建WebForm,向Webform中添加ReportViewer控件,通过CodeBehind设置报表参数并填充数据,测试通过后在MVC的View中iFr ...
- Erlang 的新数据结构 map 浅析
更新:文中示例代码直接从Joe的新版 Erlang 书中摘抄而来,其中模式匹配的代码有错误,现已纠正.应该用 := 匹配字段,而不是 => . 即将发布的 Erlang 17 最大变化之一包括新 ...
- C语言的数据类型及其对应变量
声明,定义和初始化 声明标识符iden是告诉编译器"有这么一个变量var,具体var里是什么,你自己去看".声明只需要标识符的类型和标识符名字,C语言的任何标识符在使用前都需要声明 ...
- linux动态网络和静态网络和克隆后的网络配置
建议设置网卡NAT模式 动态网络配置:1.一定要开启本地DHCP服务 2.在虚拟网络编辑器中选择NAT模式选中DHCP项如下图 3.ifup eth0 静态网络配置 : 注释:ifcfg-eth0部分 ...
- 使用spring-test报异常org.springframework.asm.ClassReader.<init>(Unknown Source)
spring3.x需要jdk1.7或以下版本 spring4.x与jdk1.8配合使用