C语言练习题(三)

今日题目

1. 将数组A中的内容和数组B中的内容进行交换。(数组一样大)
2. 计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值。
3. 编写程序数一下 1到 100 的所有整数中出现多少次数字9。

1. 将数组A中的内容和数组B中的内容进行交换。(数组一样大)
将两个一样大小数组的内容交换,本质是将数组的每一个值进行交换,和两个变量交换内容的方法是一样的

#include <stdio.h>
#include <stdlib.h>
int main() {
	int arrA[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
	int arrB[10] = { 2, 4, 6, 8, 0, 1, 3, 5, 7, 9 };
	int arrA_len = sizeof(arrA) / sizeof(arrA[0]);
	//交换数组中的每个位置的内容
	for (int i = 0; i < arrA_len; ++i){
		arrA[i] = arrA[i] + arrB[i];
		arrB[i] = arrA[i] - arrB[i];
		arrA[i] = arrA[i] - arrB[i];
	}
	//打印交换后的数组A的内容
	printf("arrA[]= ");
	for (int i = 0; i < arrA_len; ++i){
		printf("%d", arrA[i]);
	}
	printf("\n");
	//打印交换后的数组B的内容
	printf("arrB[]= ");
	for (int i = 0; i < arrA_len; ++i){
		printf("%d", arrB[i]);
	}
	printf("\n");
	system("pause");
	return 0;
}

运行结果:
在这里插入图片描述
2. 计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值。
仔细观察这个算式,会发现一个规律,分母是依次递增的,偶数位的数符号是“-”,奇数位的数符号位“+”,可以将所有正数加起来,所有附属加起来,最后把两者一加就是这个算式的值

#include <stdio.h>
#include <stdlib.h>
int main() {
	double  sum = 0;
	double	sum1 = 0;
	double	sum2 = 0;
	int i = 0;
	//偶数项相加赋给sum1
	for (i = 1; i <= 100; i += 2){
		sum1 += 1.0/i;
	}
	//奇数项相加赋给sum2
	for (i = 2; i <= 100; i += 2){
		sum2 += (-1.0/i);
	}
	sum = sum1 + sum2;
	printf("%f\n", sum);
	system("pause");
	return 0;
}

运行结果:
在这里插入图片描述
3. 编写程序数一下 1到 100 的所有整数中出现多少次数字9。
1到100之间所有整数中有数字9的,包含个位数为9和十位数为9的两种情况,所以要考虑这两种情况

#include <stdio.h>
#include <stdlib.h>
int main() {
	int count = 0;
	int i = 0;
	
	for (i = 1; i <= 100; ++i) {
	    //通过取余找出个位数为9的数字
		if(i % 10 == 9) {
		count++;
		}
		//通过除以10找出十位数为9的数字
		if (i / 10 == 9) {
			count++;
		}
	}
	printf("count=%d\n", count);
	system("pause");
	return 0;
}

运行结果:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值