1.求阶乘之和的问题
题目描述
求1!+2!+3!+...+n!的和。
输入要求
输入一个正整数n(n≤12)。
输出要求
输出1!+2!+3!+...+n!的值。
输入样例
5
输出样例
153
#include <stdio.h>
int main()
{
int i,j,sum=0;//别忘记定义sum为零
for(i=1;i<=10;i++)
{
int b=1; //b要定义在i这个for循环里面
for(j=1;j<=i;j++) //因为每次i,b都要初始化 成1,如果你定义在外面,上一次循环算得b,就会在下一次循环继续使用
{
b*=j;
}sum+=b;
}
printf("%d\n",sum);
return 0;
}
2.正整数是几位数分析
题目描述
输入一个任意长度的整数N(N>=0),求出它是几位数。
输入要求
输入一个任意长度的整数N(N>=0,且在int类型范围内)。
输出要求
输出位数
输入样例
780
输出样例
3
#include<stdio.h>
int main()
{
int a,b=0;//这里要定义b为0,防止输出有问题
scanf("%d",&a);
while(a){
b++;//进行加法,循环一次就加一,最终结果就是位数
a/=10;//这里是将输入的数进行除10,直到其为0,结束循环,循环几次也就代表了其是几位数
}
printf("%d\n",b);
return 0;
}
3.判断素数的结构分析
描述
输入一个正整数,输出其是否为素数。
输入输出示例
输入 | 输出 | |
示例 1 | | |
示例 2 | | |
#include<stdio.h>
int main()
{
int a,b=0,i;//老样子,先定义b=0,养成好习惯
scanf("%d",&a);//输入一个数
for(i=1;i<a;i++){
if(a%i==0){//因为素数只能被其本身或1整除,所以输入的数除i可以筛选出来素数,i是不断增大的,直到i大于等于a,循环结束
b++;}}//for循环到此结束,b++是要改变b的值,以便后续程序的进行
if(b==1){//如果上面程序的b++运行了,则b就等于了1,也就代表输入的a为素数
printf("YES\n");}
else{//如果b=0,代表上面的b++没有运行,则输入的a不是素数
printf("NO\n");}
return 0;
}