大一c语言课后题答案
作为大一学生,很多同学在学习C语言的时候会遇到不少难题。为了帮助大家提高C语言的学习效果,老师常常会布置一些课后作业,下面是一些常见的C语言课后题及其解答。
题目一:编写一个程序,出1000以内的质数。
解答:
#include <stdio.h>
#include <math.h>
int main()
{
int i, j, flag;
for (i = 2; i <= 1000; i++)
{
flag = 1; //假设i为素数
for (j = 2; j <= sqrt(i); j++)
{
if (i % j == 0) //如果存在因数则不是素数
{
flag = 0;
break;
}
}
if (flag == 1) //输出素数
{
printf("%d ", i);
}
}
return 0;
}
题目二:编写一个程序,输入n,求1到n的阶乘之和。
解答:
#include <stdio.h>
int main()
{
int i, j, n, sum = 0, fac = 1;
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
for (j = 1; j <= i; j++) //求i的阶乘
{
fac *= j;
}
sum += fac; //计算阶乘之和
fac = 1; //重置fac为1
}
printf("%d", sum);
return 0;
}
题目三:编写一个程序,输入一个整数,判断它是否为水仙花数。水仙花数是指一个n位数(n≥3),其各个位上数字的n次方之和等于其本身。
解答:
#include <stdio.h>
#include <math.h>
int main()
{
int num, sum = 0, temp, n = 0;
scanf("%d", &num);
temp = num;
//计算数字的位数
while (temp != 0)
{
n++;
temp /= 10;
}
temp = num;
//计算n次方之和
while (temp != 0)
{
sum += pow(temp % 10, n);
temp /= 10;
}
//比较结果
if (sum == num)
{
printf("%d是水仙花数", num);
}
else
{
printf("%d不是水仙花数", num);
}
return 0;c++判断素数
}
以上就是三道C语言课后题的解答。希望对C语言学习有所帮助。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论