小白求助C语言作业问题,问题是1+1/2+1/3+.....+...... 输入n的具体值,求和

#include<stdio.h>
int main()
{
int n,a,sum;
sum=0;
printf("Enter n\n");
scanf("%d",n);

for(a=0;a<=n;a++)
{sum=sum+(1/a)};

{printf("sum=%d",sum)};
return 0;
}

我的不行,呜呜

把所有变量设为int型不正确,会丢掉小数部分,导致结果错误,scanf中漏了一个&,还有几处分号位置有问题,正确代码如下:

#include<stdio.h>
int main()
{
    float sum=0;
    int a,n;
    printf("Enter n\n");
    scanf("%d",&n);
    for(a=1;a<=n;a++)
    {
        sum=sum+1.0/a;
    }
    {
        printf("sum=%.2f",sum);
    }
    return 0;
}追问

可以运行了,为什么小数点变成#j

可以运行了,为什么小数点变成#j

追答

什么#j?请把你的代码及运行情况截图上来,以下是我的运行截图:

温馨提示:内容为网友见解,仅供参考
第1个回答  2016-10-17
你写的什么鬼,我也刚学,跟你好多地方不一样,彼此交流一下吧
#include<stdio.h>
int main()
{
int n,i=1,sum=0;
printf("please input the n:\n");
scanf("%d",&n);
while(i<=n)
{
sum+=i;
i++;
}
printf("%d",sum);
}追问

你用while的哦,我的解决了…为毛只能采纳一个

追答

采纳谁的倒无所谓,问题解决了就好

c语言计算一加一的程序怎么写 小白求指教
\/\/简单的两个整数加法运算,程序如下:include <stdio.h> int main(int argc, char *argv[]){ int x,y,sum;\/\/定义变量 printf("输入两个数:");scanf("%d%d",&x,&y);\/\/输入变量 sum=x+y; \/\/求和 printf("两数之和:%d\\n",sum);\/\/输出结果,这个你可以照着书自己试试 r...

C语言:输入n个数,求其最大数、最小数和平均值。
{ int a[N]={0};int min=0,max=0;float avg=0;int i=0,j=0,sum=0;for(i=0;i<N;i++){ scanf("%d",&a[i]);} sum=min=max=a[0];for(i=1;i<N;i++){ sum=sum+a[i];if(a[i]>max) max=a[i];if(a[i]<min) min=a[i];} avg=sum\/N;printf("min=%d\\n"...

C语言问题,求大神解决,谢谢拉。。我是小白,解释下原因
答案就是 A) 1

C语言小白求助···
}如果要其他的可以自己算的,反正用眼睛看一下也明白了 如果是要用户自己输入的,那就这样 include <stdio.h>int main(){int a[3][3] = {0};int i = 0;for(;i < 3;i++)scanf("%d %d %d",&a[i][0],&a[i][1],&a[i][2]);\/\/下面的跟上面的加法是一样的了return 0;} ...

C语言小白。。。
2、编译错误的原因可能是true和false,这是c++的常量,c语言里是没有的。3、根据几个测试点,PrintN应该判断m、n的关系,需要排除无效数据,并打印信息,同时对于判断narcissistic函数返回值是否为1时最好写成if(narcissistic( i ) == 1),这样比较严谨。4、最后,narcissistic里对于负数的处理也不好,...

C语言问题,求大神解决,谢谢拉。。我是小白,解释下原因
x<<=3:把x的二进制位向左移动3位 因为x=1,所以 x的二进制为:0000 0001 向左移动3位后为:0000 1000 0000 1000转为10进制位:2^3 = 8 所以,选:D

C语言小白求问。如何读取字符串文件,并根据不同长度的单词统计总共出现...
思路:可先用fopen打开文件流,之后用fgets把全文读出到字符串变量。之后两个选择:1、直接变量字符串,遇字母作为一个单词开始,遇非字母作为一个字母结束,这样把所有单词,拆出来放到字符串数组中。(大小写转换可同时进行)。2、变量字符串将所有标点符号全部替换成空格,再用fprintf写入覆盖原文件,再...

C语言问题,求大神解决,说下所使用的原理及知识点,谢谢啦,我是小白。
char c=’A’; \/\/在ASCII码中 字符'A'是 65 c = (c>=’A’ && c<=’Z’) ? (c+32) : c;这个表达式的意思是: c>=’A’成立, c<=’Z’也成立,所以执行c+32 c+32 = 65+32 = 97;在ASCII码中 字符97是字符'a'所以答案选择 B ...

C语言问题,求大神解决,谢谢啦,我是小白,最好能够解释下原因..
则表示指向a[2][1]的指针,所以*(*(a+2)+1)就是a[2][1]。再来看D选项,a[2]是指向a[2][0]的指针,a[2]+1就是指向a[2][1]的指针。所以*(a[2]+1)就是a[2][1]。第三项结果是一个指针,也就是一个地址。它就是a[2][1]的地址,由于scanf要求是地址,所以它是正确的。

我,乱写c语言的小白,30行代码,int ee,数字1到10,只有8,9可以 22好像也...
return 1;} fclose(p1);\/\/增添此2行 return 0;} int main (void){ srand((unsigned)time(NULL));FILE *p2;p2 = fopen("2.txt","w");int qq,ww,ee,zz=0;\/\/有改动 char ss[2018];printf("请输入ee的值");scanf("%d",&ee);while(zz<150){ for(ww=0; ww<ee; ww++){ qq...

相似回答