c语言一些基础题

1、输出100到200的素数

#include<stdio.h>
#include<math.h>
int main()
{

	for (short i = 100; i < 200; i++)
	{
		int a = 0;
		for (short j = 2; j <= sqrt(i); j++)
		{
			if (i%j == 0)
			{
				a++;
				break;
			}
		}
		if (a == 0)
		{
			printf("%d\n", i);
		}
	}
}

 

2、输出乘法口诀表

#include<stdio.h>
int main()
{
	for (int i = 1; i < 10; i++)
	{
		for (int j = 1; j <= i; j++)
		{
			printf("%d*%d=%d ", i, j, i*j);
		}
		printf("\n");
	}
}



3、判断1000年——2000年的闰年
 

#include<stdio.h>
int main()
{
	int i = 0;
	for (i = 1000; i <= 2000; i++)
	{
		if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0)
		{
			printf("%d是闰年\n", i);
		}
	}
}

4. 给定两个整形变量的值,将两个值的内容进行交换。

#include<stdio.h>
int main()
{
	int a = 1;
	int b = 2;
	int c = 0;//更换a和b的值
	c = b;
	b = a;
	a = c;
	printf("a=%d b=%d", a, b);
}

5. 不允许创建临时变量,交换两个数的内容(附加题)

#include<stdio.h>
int main()
{
	int a = 1;
	int b = 5;
	a = a + b;
	b = a - b;
	a = a - b;
	printf("a=%d b=%d", a, b);
}

6.求10 个整数中最大值。

#include<stdio.h>
int main()
{
	int max;
	int arr[10] = { 0 };
	printf("请输入十个数");
	for (int i = 0; i < 10; i++)
	{
		scanf("%d", &arr[i]);
	}
	for (int j = 0; j < 9; j++)
	{
		if (arr[j] < arr[j + 1])
		{
			max = arr[j + 1];
		}
	}
	printf("最大的数是%d", max);
	return 0;
}

 

7.将三个数按从大到小输出。

#include<stdio.h>
int main()
{
	int a, b, c;
	printf("请输入三个不一样的数");
	scanf("%d %d %d", &a, &b, &c);
	if (a < b)
	{
		a = a + b;
		b = a - b;
		a = a - b;//交换a和b
	}
	if (b < c)
	{
		c = c + b;
		b = c - b;
		c = c - b;//交换b和c
		if (a < c)
		{
			a = a + c;
			c = a - c;
			a = a - c; 
		}
	}
	printf("%d %d %d", a, b, c);

}

 

8.求两个数的最大公约数。

#include<stdio.h>
int main()
{
	int a = 0;
	int b = 0;
	printf("请输入两个数");
	scanf("%d %d", &a, &b);
	int c = a < b ? a : b;
	for (c; c > 0; c--)
	{
		if (a%c == 0 && b%c == 0)
		{
			printf("最大公约数为%d\n", c);
			break;
		}
	}
}

9. 将数组A中的内容和数组B中的内容进行交换。(数组一样大)

#include<stdio.h>
int main()
{
	int n;
	int arr1[10] = { 0 };
	int arr2[10] = { 0 };
	for (int j = 1; j < 3; j++)
	{
		printf("请输入第%d组数十个数", j);

		for (int i = 0; i < 10; i++)
		{
			if (j == 1)
				scanf("%d", &arr1[i]);
			else
				scanf("%d", &arr2[i]);
		}
		printf("\n");
	}
	for (int u = 0; u < 10; u++)
	{
		int k;
		k = arr1[u];
		arr1[u] = arr2[u];
		arr2[u] = k;
	}
	for (int j = 1; j < 3; j++)
	{
		printf("第%d个数组", j);

		for (int i = 0; i < 10; i++)
		{
			if (j == 1)
				printf("%d ", arr1[i]);
			else
				printf("%d ", arr2[i]);
		}
		printf("\n");
	}
	
	return 0;
}

 

10. 计算1 / 1 - 1 / 2 + 1 / 3 - 1 / 4 + 1 / 5 …… + 1 / 99 - 1 / 100 的值。

#include<stdio.h>
int main()
{
	float sum=0.0;
	for (int n = 1; n < 101; n++)
	{
		int j = 1;
		if (n % 2 == 0)
			j = -1;

		sum = sum + (double)((1 / (double)n)*j);
	}
	printf("sum=%lf", sum);
}

 

11. 编写程序数一下 1到 100 的所有整数中出现多少次数字9。

#include<stdio.h>
int main()
{
	int count = 0;
	for (int i = 1; i < 100; i++)
	{
		if (9 == i % 10)
		{
			count++;
		}
		if (9 == i / 10)
		{
			count++;
		}
	}
	printf("有%d个含9的数", count); 
}
发布了35 篇原创文章 · 获赞 13 · 访问量 2113

猜你喜欢

转载自blog.csdn.net/weixin_42458272/article/details/88431537