练习题目2

1>将数组A中的内容和数组B中的内容进行交换(数组一样大)
思路:新建一个数组作为中间数组进行交换.
代码如下:

#include<stdio.h>
#include<stdlib.h>
void Func(int a[], int b[]);
void Print(int a[]);
int main(void){
 int a[10] = {1,2,3,4,5,6,7,8,9,10};
 int b[10] = {10,9,8,7,6,5,4,3,2,1};
 int c[10] = {0};
 Func(c, a);
 Func(a, b);
 Func(b, c);
 Print(a);
 Print(b);
 system("pause");
 return 0;
}
void Func(int a[], int b[]){
  for (int i = 0; i <10; ++i){
   a[i] = b[i];
  }
 }
void Print(int a[]){
 for (int i = 0; i < 10; ++i){
  printf("%d ", a[i]);
 }
 printf("\n");
}

在这里插入图片描述
2>计算1/1-1/2+1/3-1/4+1/5…+1/99-1/100的值.
思路:通过每一轮循环给分子乘以-1来控制加数的正负号,计算出和.
代码如下:

#include<stdio.h>
#include<stdlib.h>
int main(void){
 double sum=0;
 double f = 1.0;
 for (int i = 1; i <101; ++i){
  sum += f / i;
  f *= -1;
 }
 printf("%lf\n", sum);
 system("pause");
 return 0;
}

在这里插入图片描述
3>编写程序数一下1到199的所有整数中出现过多少次数字9
思路:依次先求出个位,判断是否为9,如果是,计数器加1,再求出十位,判断是否为9,如果是,计数器加1.
代码如下:

#include<stdio.h>
#include<stdlib.h>
int main(void){
 int count = 0;
 for (int i = 1; i < 10; i++){
  if (i % 10 == 9){
   ++count;
  }
 }
 for (int i = 10; i < 101; i++){
  if (i%10 == 9){
   ++count;
  }
  if (i / 10 % 10 == 9){
   ++count;
  }
 }
d\n", count);
 system("pause");
 return 0;
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_44779696/article/details/88643337