04规范数列运算

发布于:2022-10-14 ⋅ 阅读:(437) ⋅ 点赞:(0)

1【程序题】

l  要求:计算1+2+…+n并将结果输出,其中n是从键盘输入的一个正整数。假设用户在运行程序后输入23并回车(n:是程序输出的提示信息),如果n>0,则运行结束后屏幕如下(其中XXX是计算结果):

n:23↙

1+...+23=XXX

Press any key to continue

如果n<=0程序直接结束

我的答案:

#include<stdio.h>

int main()

{

int sum=0,i=0,s,n;

printf("n:");

scanf("%d",&n);

if(n>0)

{

while(i<=n)

{

sum=sum+i;

i++;

}

    s=i-1;

     printf("1+...+%d=%d\n",s,sum);

}

    return 0;

}

2【程序题】

对于从键盘输入的任意两个整数m和n(提示符是“m,n:”),从较小数开始依次加1,累计加到较大数。即:假设m小于n,计算m+(m+1)+(m+2)+…+n的值,并将结果输出。当输入的m和n都是0时,程序结束。

我的答案:

#include<stdio.h>

int main()

{

int m,n,s,x,b,sum=0;

printf("m,n:");

scanf("%d%d",&m,&n);

s=(m<n?m:n);

b=(m<n?m:n);

x=(m<n?n:m);

if(s!=0||x!=0)

{

while(s<=x)

{

sum=sum+s;

s++;

}

printf("%d+...+%d=%d\n",b,x,sum);

}

return 0;

}

3【程序题】

计算“2/1+3/2+…+(n+1)/n”并将结果输出,其中n是从键盘输入的一个正整数。输入提示符是”n:”。要求:当n>0时,输出格式”sum=AB.XY”,结果和共占5位,保留2位小数;当n<=0时,程序输出Bye!结束。

我的答案:

#include<stdio.h>

int main()

{

int n;

double sum=0,i=1;

printf("n:");

scanf("%d",&n);

if(n>0)

{

while(i<=n)

{

sum=sum+(i+1)/i;

i++;

}

printf("sum=%5.2f\n",sum);

}

else

{

printf("Bye!\n");

}

return 0;

}

4【程序题】

要求:计算         并将结果输出,其中n是从键盘输入的一个正整数。输入提示符是”n:”。要求:当n>0时,输出格式sum=B.XY,结果保留2位小数;当n<=0时,程序输出Bye!结束。

我的答案:

#include<stdio.h>

#include<math.h>

int main()

{

int n,i;

float sum=0,a;

printf("n:");

scanf("%d",&n);

if(n<=0)

{

printf("Bye!\n");

}

else

{

for(i=1;i<=n;i++)

{

a=(1.0/i)*pow((double)-1,i+1);

sum=sum+a;

}

printf("sum=%.2f\n",sum);

}

return 0;

}

5【程序题】

要求:对于任意输入的n,计算并输出的值。其中n是从键盘输入的一个正整数,输入提示符是”n:”。要求:当n>0时,输出格式”sum=A.XY”,结果保留2位小数;当n<=0时,程序输出Bye!结束。

我的答案:

#include<stdio.h>

int main()

{

int n,pro=1,sum1=0,i;

float sum2=0;

printf("n:");

scanf("%d",&n);

if(n<=0)

{

printf("Bye!\n");

}

else

{

for(i=1;i<=n;i++)

{

sum1=sum1+i;

pro=pro*i;

sum2=(double)sum1/pro+sum2;

}

    printf("sum=%.2f\n",sum2);

}

return 0;

}

6【程序题】

对于任意输入的两个正整数m和n,计算并输出m和n之间(包括m和n本身)所有“素数”之和。输入提示符是”m,n:”。要求:当m,n都大于1时,输出格式”sum=X”,X是一个整数;当m或n有一个小于等于1时,程序输出Bye!结束。注意:1不是素数,2是素数。

我的答案:

#include<stdio.h>

int main()

{

int m,n,sum=0,i,a,b,c,prime=1;

printf("m,n:");

scanf("%d%d",&m,&n);

if(m<=1||n<=1)

{

printf("Bye!\n");

}

else

{

a=(m>n?m:n);

b=(m>n?n:m);

for(i=b;i<=a;i++)

{

prime=1;

for(c=2;c<i;c++)

{

if(i%c==0)

{

prime=0;

    break;

}

}

if(prime==1)

{

sum=sum+i;

}

}

printf("sum=%d\n",sum);

}

return 0;

}

7【程序题】

求s=a+aa+…+aa..a(aa..a即n个a),其中a是一个数字,n表示a的位数,a和n都由键盘输入。其中a是一个数字,n表示a的位数,n和a都由键盘输入,输入提示符分别是”n:”和”a:”;输出格式”sum=X”,X是一个整数。

要求:a必须是1到9之间的数字,n必须是正整数。当n<=0时,程序输出Bye!结束;当a不是1到9之间的数字时,程序重复出现提示符”a:”等待用户输入,直到用户输入符合要求的数为止。

我的答案:

#include<stdio.h>

#include<math.h>

int main()

{

int a,n,sum=0,i,b=0,p=1;

printf("n:");

scanf("%d",&n);

if(n<=0)

{

printf("Bye!\n");

}

else

{do

{printf("a:");

scanf("%d",&a);

}while(a<1||a>9);

for(i=1;i<=n;i++)

{

if(i>1)p*=10;

b+=a*p;

sum+=b;

}

printf("sum=%d\n",sum);

}

return 0;

}

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到