1. 将数组A中的内容和数组B中的内容进行交换
问题分析:这个问题很简单,仅为数组长度相同所以直接一层循环然后将两个数组的内容逐个交换即可
代码:
int main(){
int a[5];
int b[5];
int i;
int j;
int t;
printf("请输入a[5]中的元素\n");
for (i = 0; i < 5; i++) {
scanf("%d", &a[i]);
}
printf("请输入b[5]中的元素\n");
for (i = 0; i < 5; i++) {
scanf("%d", &b[i]);
}
for (i = 0; i < 5; i++) {
t = a[i];
a[i] = b[i];
b[i] = t;
}
printf("a[5]中的元素为\n");
for (i = 0; i < 5; i++)
printf("%d\t", a[i]);
printf("\n");
printf("b[5]中的元素为\n");
for (i = 0; i < 5; i++)
printf("%d\t", b[i]);
return 0;
}
运行截图:
2. 计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值
问题分析:首先这是一个加减循环出现的过程,所以要用循环来解决,其次我们需要用一个变量来控制符号为,也就是,一次加一次减的过程,还有结果是一个小数,所以我们要定义一个double类型的sum来保存结果.
代码:
int main() {
int i;
int j = 1;
double sum=0.0;
for (i = 1; i < 101;i++) {
sum = sum + 1.0 / i * j;
j = -j;
}
printf("%f\t",sum);
return 0;
}
运行结果:
3. 编写程序数一下 1到 100 的所有整数中出现多少次数字9
问题分析:问题是是1-100中有多少个9,所以不用考虑百位,所以9只可能出现在个位和十位,那么问题就分为两个部分,一个是统计个位的9,另一个是统计十位上的9,然后加起来即可.
代码
int main(){
int n;
int j;
int num=0;
for (n = 1; n < 101;n++) {
if (n%10==9) {
num++;
}
if (n/10==9) {
num++;
}
}
printf("9的个数为:%d\n",num);
return 0;
}
运行截图: