【C语言】初级阶段10

【C语言】初级阶段10,第1张

 溢出


1.求阶乘

#define _CRT_SECURE_NO_WARNINGS
#include
int main() {
	int n;
	printf("请输入n\n");
	scanf("%d",&n);
	int i = 1, total = 1;
	for (i = 1;i <= n;i++) {
		total = total * i;		
	}
	printf("%d\n", total);
	/*
	while (i <= n) {
		total = total * i;
		i++;
	}
	printf("%d\n", total);
	*/
	return 0;		
}

2.某人将手中的一张面值为100元的人民币换成10元、5元、2元和1元面值的票子,要求正好换40张,且每中票子都至少一张,问:有几种换法?

#define _CRT_SECURE_NO_WARNINGS
#include
int main() {
	int e = 0;
	/*
	for (int x = 1; x < 40;x++) {
		for (int y = 1; y < 40; y++) {
			for (int z = 1; z < 40; z++) {
				for (int w = 1; w < 40; w++) {
					if (10 * x + 5 * y + 2 * z + w ==100&& x + y + z + w ==40) {
						e++;
						//printf("%d%d%d%d\n", "x=", x,"y=",y, "z=", z, "w=", w);
					}
				}
			}
		}
	}
	*/
	//优化
	for (int x = 1; x <= 9; x++) {
		for (int y = 1; y <= 19; y++) {
			for (int z = 1; z <= 37; z++) {
				for (int w = 1; w <= 37; w++) {
					if (10 * x + 5 * y + 2 * z + w == 100 && x + y + z + w == 40) {
						e++;
						printf("x=%d,y=%d,z=%d,w=%d\n", x, y, z, w);
					}
				}
			}
		}
	}
	printf("%d", e);
	return 0;		
}

运行结果:


3.输入要输入的元素个数,输入元素值,判断元素值为2的个数

#define _CRT_SECURE_NO_WARNINGS
#include
int main() {
	int total;
	scanf("%d", &total);
	int a[100];
	int sum = 0;
	for (int i = 0; i < total ;i++) {
		scanf("%d",&a[i]);
		if (a[i] == 2) {
			sum++;
		}
	}
	printf("2的个数为%d\n",sum);
	return 0;
	
}

运行结果:


4.gets和fgets的差异在于fgets会读入\n

 

消除差异。


把\n换成\0


反转字符串 

 

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/634450.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-16
下一篇 2022-04-16

发表评论

登录后才能评论

评论列表(0条)

保存