1. 将数组A中的内容和数组B中的内容进行交换。(数组一样大)
scan函数:用来输入数组值
print函数:用啦输出数组值
#include<stdlib.h>
#include<stdio.h>
void scan(int arr[], int sz)
{
int i = 0;
for (i = 0; i < sz; i++)
{
scanf("%d", &arr[i]);
}
}
void print(int arr[], int sz)
{
int i = 0;
for (i = 0; i < sz; i++)
{
printf("%d ", arr[i]);
}
}
int main()
{
int arr1[10] = { 0 };
int arr2[10] = { 0 };
int i = 0;
int sz = sizeof(arr1) / sizeof(arr1[0]);
scan(arr1,sz);
print(arr1, sz);
printf("\n");
scan(arr2, sz);
print(arr2, sz);
for (i = 0; i < 10; i++)
{
arr1[i] = arr1[i] + arr2[i];
arr2[i] = arr1[i] - arr2[i];
arr1[i] = arr1[i] - arr2[i];
}
printf("\n");
print(arr1, sz);
printf("\n");
print(arr2, sz);
system("pause");
return 0;
}
2. 计算1/1-1/2+1/3-1/4+1/5 ⋯⋯ + 1/99 - 1/100 的值。
pow函数的标准库是<math.h>
pow()函数的声明:double pow(double x,double y)
返回值为x的y次幂。
值得注意的是如果将i定义为int型,那么当i>1时,1/i得到的值为0,(例如1/2,得到0)!,但是若用1.0/i得到的结果将会是double型而不为0,(1/2,得到0.5)
#include<math.h>
int main()
{
double i = 0;
double sum = 0;
for (i = 1.0; i <= 100; i++)
{
sum = sum + pow(-1.0, i + 1.0) * 1.0 / i;
}
printf("%f", sum);
system("pause");
return 0;
}
3. 编写程序数一下 1到 100 的所有整数中出现多少个数字9。
思路:先对任意一个数判断有9的次数(例如1999,有3次)
函数cishu()可以得到任意一个数中有9的次数,最终返回给count,
然后对1-100中每个数字进行判断将count累加起来得到total
int cishu(int n)//判断任意一个数中9的次数
{
int count = 0;
while (n)
{
if (n % 10 == 9)
{
count++;
}
n /= 10;
}
return count;
}
int main()
{
int i = 0;
int total = 0;
for (i = 1; i <=100; i++)
{
total += cishu(i);
}
printf("\n total = %d", total);
system("pause");
return 0;
}