c语言题(数组内容交换、分数计算、1到 100 的所有整数中出现多少次数字9、打印函数、水仙花数、前n项和)
1. 将数组A中的内容和数组B中的内容进行交换。(数组一样大)
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int main()
{
int arr1[] = { 1, 3, 5, 7, 9 };
int arr2[] = { 3, 4, 5, 6 ,7 };
int tmp;
int i = 0;
for (i = 0; i < sizeof(arr1) / sizeof(arr1[0]); i++)
{
tmp = arr1[i];
arr1[i] = arr2[i];
arr2[i] = tmp;
}
for (i = 0; i < sizeof(arr1) / sizeof(arr1[0]); i++)
{
printf("%d “, arr1[i]);
}
printf(”\n");
for (i = 0; i < sizeof(arr1) / sizeof(arr1[0]); i++)
{
printf("%d “, arr2[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>
#include<math.h>
int main()
{
int i;
float sum = 0.0, temp = 0.0;
for (i = 1; i <= 100; i++)
{
temp = pow(-1, i + 1);
sum = sum + temp * 1 / i;
}
printf(“sum is %f\n”, sum);
system(“pause”);
return 0;
}
3. 编写程序数一下 1到 100 的所有整数中出现多少次数字9。
#include <stdio.h>
#include<stdlib.h>
int main() {
int i = 0;
int k = 0;
for (i = 1; i <= 100; i++)
{
if (i % 10 == 9)
{
k++;
}
if (i / 10 == 9)
{
k++;
}
}
printf("%d\n", k);
system(“pause”);
return 0;
}
4.在屏幕上输出以下图案:
#include<stdio.h>
#include<stdlib.h>
int main()
{
for (int x = 1; x<8; x++)
{
for (int y = 1; y <= 2 * x - 1; y++)
{
printf("");
}
printf("\n");
}
for (int x = 6; x>0; x–)
{
for (int y = 1; y <= 2 * x - 1; y++)
{
printf("");
}
printf("\n");
}
system(“pause”);
return 0;
}
5.求出0~999之间的所有“水仙花数”并输出。
“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如;153=1+5+3?,则153是一个“水仙花数”。
/*
在数论中,水仙花数(Narcissistic number)也称为自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),是指一N位数,其各个数之N次方和等于该数。
例如153、370、371及407就是三位数的水仙花数,其各个数之立方和等于该数:
153 = 1^3 + 5^3 + 3^3。
370 = 3^3 + 7^3 + 0^3。
371 = 3^3 + 7^3 + 1^3。
407 = 4^3 + 0^3 + 7^3。
*/
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
int i = 0;
for (i = 0; i < 1000; i++)
{ //计算位数
int count = 1;
int tmp = i;
int sum = 0;
while (tmp / 10)
{
count++;
tmp = tmp / 10;
} //计算次方和
tmp = i;
while (tmp)
{
sum += pow(tmp % 10, count);
tmp = tmp / 10;
} //判断
if (sum == i)
printf("%d ", i);
}
system(“pause”);
return 0;
}
6. 求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字, 例如:2+22+222+2222+22222
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include<stdlib.h>
int main()
{
int i = 0;
int a = 0;
int sum = 0;
int num = 0;
scanf("%d", &num);
for (i = 0; i < 5; i++)
{
a = a * 10 + num;
sum = sum + a;
}
printf("%d’n", sum);
system(“pause”);
return 0;
}