c语言11周(16~20)

利用函数求和

c语言11周(16~20)_第1张图片

//只填写要求的函数
double  fun(int  n) {
	double s = 0;
	int i;
	for (i = 1; i <= n; i++) {
		s += 1.0 / (i * i);
	}
	return s;
}

 编写char  fun(char  c)函数,将数字参数字符c按如下规则转换。

 

题干 编写char  fun(char  c)函数,将数字参数字符c按如下规则转换。
0---9        1---8        2---7
3---6        4---5        5---4
6---3        7---2        8---1
9---0
其他字符不变
//只填写要求的函数
char fun(char  c) {
	if (c >= '0' && c <= '9') {
		c = '9' - (c - '0');
	}
	return c;
}

 编写double  fun(double  f)函数,返回形参f保留两位小数点,第三位四舍五入的数。

因为限制(第三位四舍五入的数。)所以不能直接使用%.2lf

题干 编写double  fun(double  f)函数,返回形参f保留两位小数点,第三位四舍五入的数。
若f=123.524932,则返回123.520000;
若f=123.615032,则返回123.620000。
//只填写要求的函数
double fun(double f) {
	return (int)(f * 100 + 0.5) / 100.0;
}

因为返回值类型为double(注意必须除以100.0)

编程求n经过多少次角谷定理变换能变为1,输入几个测试数不一定。

题干 编程求n经过多少次角谷定理变换能变为1,输入几个测试数不一定。
角谷定理:对于一个大于1的整数n,如果n是偶数,则n=n/2;如果n是奇数,则n=3*n+1。反复操作后,n一定为1。
如n=6,则经过6->3->10->5->16->8->4->2->1,返回次数8
如n=22,返回次数15
如n=1000,返回次数111
输入样例 6
22
1000
输出样例 8
15
111

int fun(int n) {
	int cs = 0;
	while (n != 1) {
		if (n % 2 == 0)
			n = n / 2;
		else
			n = n * 3 + 1;
		cs++;
	}
	return cs;
}
#include
int main() {
	int n;
	while (~scanf("%d", &n)) {
		printf("%d\n", fun(n));
	}
	return 0;
}

 输入任意[1,99999]之间的整数n,求[1,n]之间所有能被3整除,且有一位数字是5的数之个数及和。

题干 输入任意[1,99999]之间的整数n,求[1,n]之间所有能被3整除,且有一位数字是5的数之个数及和。
如1-100之间符合要求的数有6个:15,45,51,54,57,75,和为297。
输入样例 100
输出样例 6,297
#include
int fun(int n) {
	int t;
	while (n) {
		t = n % 10;
		if (t == 5)
			return 1;
		n = n / 10;
	}
	return 0;
}
int main() {
	int n, i, gs = 0, h = 0;
	scanf("%d", &n);
	for (i = 3; i <= n; i += 3) {
		if (fun(i)) {
			gs++;
			h += i;
		}
	}
	printf("%d,%d", gs, h);
	return 0;
}

 

你可能感兴趣的:(c语言,开发语言)