武汉理工大学C语言 作业练习


第一题

求最大公约数和最小公倍数。输入两个正整数 m 和 n (m≤1000, n≤1000 ),求其最大公约数和最小公倍数。试编写相应程序。

#include<stdio.h>
int main() {
    
    
	int m, n,a,b,c;
	printf("请输入两个正整数m和n:(m<=1000,n<=1000,m>=n)\n");
	scanf("%d %d", &m, &n);
	a = m;
	b = n;
	while (b != 0) {
    
    
		c = a % b;
		a = b;
		b = c;
	}
	printf("最大公约数为%d\n", a);
	printf("最小公倍数为%d\n", m * n / a);
}

第二题

使用函数验证哥德巴赫猜想:任何一个不小于 6 的偶数均可表示为两个奇素数之和。例如 6=3+3,8=3+5,…,18=5+13。将 6~100 之间的偶数都表示成两个素数之和,打印时一行打印 5 组。试编写相应程序。

#include <stdio.h>                
int prime(int n);                   
int main()
{
    
    int m, i, a = 0;
	for (int n = 6; n <= 100; n += 2) {
    
    
		
		for (i = 3; i < n; i += 2) {
    
    
			m = n - i;
			if (prime(m) == 1 && prime(i) == 1) {
    
    
				printf("%d=%d+%d  ", n, i, m);
				a++;
				if (a % 5 == 0)
					printf("\n");
				break;
			}
		}
	}
	return 0;
}
int prime(int n)
{
    
    
	int i;
	for (i = 2; i < n && (n % i != 0); i++);
	return n == i ? 1 : 0;                      //判断是否为素数,是返回1,否返回0
}

第三题

求一批整数中出现最多的数字。输入一个正整数 n(n≤1000),再输入 n 个整数,分析每个整数的每一位数字,求出现次数最多的数字。例如输入 3 个整数 1234、2345、3456,其中出现最多的数字是 3 和 4,均出现了 3 次。试编写相应程序。

#include<stdio.h>
int main()
{
    
    
	int n,t=0;
	int b[10];
	int a,c;
	for (int i = 0; i < 10; i++) {
    
    
		b[i] = 0;
	}
	printf("你想要输入几个整数:(n<=1000)\n");
	scanf("%d", &n);
	printf("请输入这%d个整数(以空格隔开):\n",n);
	for (int i = 1; i <= n; i++) {
    
    
		scanf("%d", &a);
		if (a == 0) b[0] == 0;
		while (a != 0) {
    
    
			c = a % 10;
			a /= 10;
			b[c]++;
		}
	
	}
	for (int i = 0; i < 10; i++)
	{
    
    
		if (b[i] > t)
			t = b[i];
	}
	for (int i = 0; i < 10; i++)
	{
    
    
		if (t==b[i])
			printf(" %d", i);
	}
	return 0;
}

第四题

#include<stdio.h>
int main()
{
    
    
	int n,m=0;
	int a[6][6];
	printf("请输入n:(1<=n<=6)\n");
	scanf("%d", &n);
	printf("输入%d阶方阵\n", n);
	for (int i = 0; i < n; i++) {
    
    
		for (int j = 0; j < n; j++) {
    
    
			scanf("%d", &a[i][j]);
		}
	}
	for (int i = 0; i < n; i++) {
    
    
		for (int j = 0; j < i + 1; j++)
			if (a[i][j] == 0)
				m++;
	}
	if (m != 0)
		printf("YES");
	else
		printf("NO");
}

总结

以上就是C语言相关的作业练习和作者自己的思考,希望能帮到大家。

猜你喜欢

转载自blog.csdn.net/mo_zhe/article/details/112443331
今日推荐