要求编写一个主函数,计算并输出12+22+...+n2值,其中n值由键盘输入。

题目
要求编写一个主函数,计算并输出12+22+...+n2值,其中n值由键盘输入。
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

请补充main函数,该函数的功能是:从键盘输入一个长整数,如果这个数是负数,则取它的绝对值,并显示出来。

例如,输入:-3847652,结果为:3847652。

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。

试题程序:

include<stdio.h>

include<conio.h>

main()

{

long int n;

clrscr();

printf("Enter the data;\n");

scanf(【 】);

printf("*** the absolute value ***\n");

if(n<0)

【 】

printf("\n\n");

printf(【 】);

}


正确答案:"%1d"&n n=-n; "%1d"n
"%1d",&n n=-n; "%1d",n 解析:第一空:本题考查对标准输入函数scanf()的调用格式,当输入为长整型数时,格式控制字符串为“%1d”,输入的长整数存于变量n中。第二空:当输入的数是负数时,则取它的相反数,即为它的绝对值。第三空:本题考查对标准输出函数print()的调用格式,当输出为长整型数时,格式控制字符串为“%1d”。

第2题:

请编写函数fun(),其功能是;计算井输出下列多项式值。

S=(1-1/2)+(1/3-1/4)+…+(1/(2n-1)-1/2n)

例如,若主函数从键盘给n输入8后,则输出为 S-0.662872。

注意;部分源程序给出如下。

请勿改动主函数main 和其他函数中的任何内容,仅在函数fun 的花括号中填入所编写的若干语句。

试题程序;

include<stdio. h>

double fun(int n)

{

}

main ()

{

int n;

double s;

printf("\nInput n: ");

scanf ("%d", &n);

s=fun (n);

printf ("\ns=%f\n ", s);

}


正确答案:double fun(int n) { int i; double s=0.0; for (i=1; i=n; i++) s=s+(1.0/(2*i-1)-1.0/(2*i)); /*计算S= (1-1/2) + (1/3-1/4) +…+ (1/(2n-1)-l/2n) */ return s; }
double fun(int n) { int i; double s=0.0; for (i=1; i=n; i++) s=s+(1.0/(2*i-1)-1.0/(2*i)); /*计算S= (1-1/2) + (1/3-1/4) +…+ (1/(2n-1)-l/2n) */ return s; } 解析:本题中s=s+(1.0/(2*i-1)-1,O/(2*i));语句是用C程序去表达题目中的每一项,这是关键,其他问题不难理解。

第3题:

请补充main函数,该函数的功能是:从键盘输入3个整数,然后找出最大的数并输出。

例如,输入:12,45,43,最大值为45。

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在 main函数的横线上填入所编写的若干表达式或语句。

试题程序:

include<stdio.h>

include<conio.h>

main()

{

int a, b, c, max;

clrscr();

printf("\nlnput three numbers:\n");

scanf("%d,%d,%d",&a,&b,&c);

printf("The three numbers are:%d,

%d,%d\n",a,b,c);

if(a>b)

【 】;

else

【 】;

if(max<c)

【 】;

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

}


正确答案:max=a max=b max=c
max=a max=b max=c 解析:第一空:如果a大于b,则a为a,b中的最大值,将a赋给inax。第二空:如果a小于b,则b为a,b中的最大值,将b赋给max。第三空:最后将a,b中的最大值与c进行比较,如果c更大,则c为3个数中的最大数,将c赋给 max,否则最大数max不变。

第4题:

编写程序,从键盘输入十个数,然后提出其中的最大值和最小值。


正确答案:程序代码如下: CLEAR INPUT“请输入一个数:” TO a STORE a TO mami FOR i=2 TO 10 INPUT“请输入一个数:” TO a IF maa ma=a ENDIF IF mi>a mi=a ENDIF ENDFOR ?“最大值:”ma ?“最小值;”mi RETURN
程序代码如下: CLEAR INPUT“请输入一个数:” TO a STORE a TO ma,mi FOR i=2 TO 10 INPUT“请输入一个数:” TO a IF maa ma=a ENDIF IF mi>a mi=a ENDIF ENDFOR ?“最大值:”,ma ?“最小值;”,mi RETURN

第5题:

编写函数fun(),函数的功能是:根据以下公式计算s,计算结果作为函数值返回;n通过形参传入。

S=1+1/(1+2)+1/(1+2+3)+…+1/(1+2+3+…+n)

例如:若n的值为11时,函数的值为1.833333。

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

试题程序:

include <conio.h>

include <stdio.h>

include <string.h>

float fun(int n)

{

}

main()

{

int n;

float s;

clrscr();

printf("\nPlease enter N: ");

scanf("%d",&n);

s=fun(n);

printf("The result is:%f\n " , s);

}


正确答案:float fun(int n) { int is1=0; float s=0.0; for(i=1;i<=n;i++) {s1=s1+i; /*求每一项的分母*/ s=s+1.0/s1; /*求多项式的值*/ } return s; }
float fun(int n) { int i,s1=0; float s=0.0; for(i=1;i<=n;i++) {s1=s1+i; /*求每一项的分母*/ s=s+1.0/s1; /*求多项式的值*/ } return s; } 解析:本题中用s1来表示式中每一项的分母,而每一项的分母都是其前一项分母加项数。注意由于s1定义成一个整型,所以在s=s+1.0/s1中不能把1.0写成1。

第6题:

请编写一个函数fun(),它的功能是计算并输出给定整数n的所有因子(不包括1与自身)之和(规定n的值不大于1000)。

例如:输入n的值为856,则输出为sum=763。

注意:部分源程序已存在文件test33_2.cpp中。

请勿修改主函数main和其他函数中的任何内容,仅在函数count的花括号中填写若干语句。

文件test33_2.cpp清单如下:

include<stdio. h>

include<iostream. h>

int fun(int n)

{

}

void main ( )

{

int n, sum;

cout<<"Input n:"<<end1;

cin>>n;

sum=fun (n);

cout<<" sum= \n"<<sum<<end1;

}


正确答案:int fun(int n) {int s=0i; for(i=2;i=n-1;i++) if (n%i==0) s+=i; return s; }
int fun(int n) {int s=0,i; for(i=2;i=n-1;i++) if (n%i==0) s+=i; return s; } 解析:本题的解题思路是用n逐个去除以2到n-1之间的所有数,如果n能被除尽,则把所得到的一个因子累加到s中去。此种题型为典型考题。

第7题:

请编写函数fun(),其功能是:计算并输出下列多项式的值。

S=1+4/(1+2)+1/(1+2+3)+…+1/(1+2+3+…+n)

例如,着主函数从键盘给n输入50后,则输出为 S=1.960784。

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

试题程序:

include <stdio.h>

double fun(int n)

{

}

main ()

{

int n;

double s;

printf ("\nInput n: ");

scanf ("%d", &n);

s=fun (n);

printf ("\n\ns=%f\n\n", s);

}


正确答案:double fun (int n) { int i; double s=0.0s1=0.0; for(i=1;i=n;i++) {s1=s1+i; /*求每—项的分母*/ s=s+1.0/s1; /*求S=1+1/(1+2)+1/(1+2+3)+…+1/(1+2+3+…+n)*/ } return s; }
double fun (int n) { int i; double s=0.0,s1=0.0; for(i=1;i=n;i++) {s1=s1+i; /*求每—项的分母*/ s=s+1.0/s1; /*求S=1+1/(1+2)+1/(1+2+3)+…+1/(1+2+3+…+n)*/ } return s; } 解析:该程序的数学思路是:在程序中输入n后,以前n项的和作为分母递加,由于s1是浮点类数据所以s=s+1.0/s1; for 循环的作用是每一次循环给总结果s加上一项1.0/s1。

第8题:

请编写函数proc,其功能是:计算并输出下列多项式值。 S=(1-1/2)+(1/3-1/4)+…+(1/(2n-1)-1/2n) 例如,若主函数从键盘给n输入20后,则输出为S= 0.680803。 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数proc的花括号中填入所编写的若干语句。 试题程序: include t:stdio.h> double proc(int n) { } void main { int n; double slim; printf("\nInput n:"); scanf("%d",&n); sum=proc(n)。 printf("\ns=%f\n",sum); }


正确答案:

double proc(int n)
{
int i;
double s=0.0; //s为其和的变量
for(i=1;i<=n;i+十)
S=s+(1.0/(2*i-1)-1.O/(2*i)); //计算s
=(1-1/z)+(1/3-1/4)+…+(1/(2n-1)-1/
2n)
return s; //最后把所得到的和返回到主函数中
}
【解析】由题目中所给表达式可知,多项式的值为n项表达式的和。可以利用n次循环求出n项表达式的值,求和放在变量s中。最后将多项式的值返回到主函数当中。

第9题:

请编写函数fun,它的功能是:计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和。

例如,在主函数中从键盘给n输入20后,输出为:s=0.583333。注意:要求n的值不大于100。

部分源程序在文件PROGl.C中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。


正确答案:
解析:该程序功能是计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和。解题过程首先求出能被5或9整除的所有自然数,然后在此基础上求得这些数的倒数之和。

第10题:

编写函数fun,它的功能是计算下列级数和,和值由函数值返回。

例如,当n=10,x=0.3时,函数值为1.349859。

注意:部分源程序在文件PROGl.C文件中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。


正确答案:
解析:该程序功能是计算并输出多项式值。根据题干中给出的数列,首先推出每一项的表达式,然后再对多项式进行累加求和。

更多相关问题