点赞(0)
 

0.0分

56 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 61 条评论

小灰狼 2年前 回复TA
@king #include<stdio.h> int main() {     int a, b, c, i,x;     float y = 0, sum = 0;     scanf_s("%d %d %d", &a, &b, &c);     int sum1 = 0, sum2 = 0;     float sum3 = 0;     for (i = 0; i <= a; i++)     {         sum1 += i;     }     for (i = 0; i <= b; i++)     {         x = i*i;         sum2 += x;     }     for (i = 1; i <= c; i++)     {         y = 1.0 / i;         sum3 += y;     }     sum = sum1 + sum2 + sum3;     printf("%.2f", sum);     return 0; }我这个明明答案对了还是说我错
鲨鱼辣椒 2年前 回复TA
//求以下三数的和,保留2位小数 1~a之和 1~b的平方和 1~c的倒数和
#include <stdio.h>
#include <math.h>
int meng(float n);
int yu(float m);
int yu(float m){
    float res;
    if(m==0)
        return 0;
    else {
        res = 1 / m;
        return res + yu(m - 1);
    }
}

int meng(float n){
    float result;
    if(n==0)
        return 0;
    else {
        result = pow(n, 2);
        return result + meng(n - 1);
    }
}

int main(){
    float a,b,c;
    scanf("%d%d%d",&a,&b,&c);
    float suma,sumb,sumc;
    for (int i = 1; i <=a ; i++) {
        suma+=i;
    }
    sumb= meng(b);
    sumc= yu(c);
    printf("%d %d %d
小小梦 2年前 回复TA
@弟弟巨高冷 *如果上面i的定义不为浮点型而是整型,这里的1就应该变为1.0,否则1/i的结果就不是浮点型,小数点后面位数的数值会直接被忽略,这里也是导致程序结果虽然保留两位小数,但小数点后的位数却是零的缘故
杀死那个机械狗 2年前 回复TA
@弟弟巨高冷 你第3个for循环i的初始值是0,那你1.0/i就是无穷大了。其实i应该从1~a/b/c遍历。
弟弟巨高冷 2年前 回复TA
#include<stdio.h>
int main()
{
	int a,b,c;
	int i;
	int an=0,bn=0;
	float cn=0;
	scanf("%d%d%d",&a,&b,&c);
	for(i=0;i<a;i++)
	{
	    an=an+i;
	}
	for(i=0;i<b;i++)
	{
	    bn=bn+i*i;
	}
	for(i=0;i<c;i++)
	{
	    cn=cn+1.0/i;
	}
	printf("%.2f",an+bn+cn);
	return 0;
}
为什么输入100  50 10 出来的答案是1. #J?????
江雪沉月 2年前 回复TA
#include<stdio.h>
int main()
{
	int a,b,c;
	long int An=0,Bn=0;
	double Sn=0,Cn=0;
	scanf("%d %d %d",&a,&b,&c);
	for(int i=1;i<=a;i++)
	{
		An=An+i;
	}
	for(int j=1;j<=b;j++)
	{
		Bn=Bn+j*j;
	}
	for(int k=1;k<=c;k++)
	{
		Cn=Cn+1.0/k;
	}
	Sn=An+Bn+Cn;
	printf("%.2f",Sn);
	return 0;

}
一直坚持 2年前 回复TA
@king 应该是for循环里因该是i<=a,i<=b,i<=c
king 2年前 回复TA
#include<stdio.h>
int main()
{
    float a,b,c,i=0,d;
    float h=0,j=0,k=0;
    scanf("%f %f %f", &a,&b,&c);             
    for(i=0;i<a;i++){
        h=i+h;
    }
    printf("%f\n",h);
    for(i=0;i<b;i++){
        j=(i*2)+j;
    }
    printf("%f\n",j);
    for(i=0;i<c;i++){
        k=(1/i)+k;
    }
    printf("%f\n",k);
    d=h+j+k;
    printf("%.2f\n",d);
    return 0;
}
怎么会错呢
KanoMirai 2年前 回复TA
@小歪歪 不要输出max,结果只有三个数的和,你把max输出了肯定就提交错误了
小歪歪 2年前 回复TA
#include <stdio.h>
#include <string.h>
#include <math.h>
int main(){
    int i,max,a,b,c;
	double sum;
    sum=0;
    scanf("%d%d%d",&a,&b,&c);
    if(a>b)
    	max=a;
    else
    	max=b;
    if(c>max)
    	max=c;
    printf("%d\n",max);	
    for(i=1;i<=max;i++)
    {
    	
    	if(i<=a)
			sum=sum+i;
    	if(i<=b)
    		sum=sum+i*i;
    	if(i<=c)
    		sum=sum+1.0/i;
    
		}	
	printf("%.2lf",sum);
    return 0;
}

求各位大佬,我这里哪错了