题目要求:
输入一个n,求1+1/2+...+1/n的和
如果n是负数,则输出“请输入一个正数:” 然后重新开始
最后输出为 “总和为...”
我主要不会第二部分。
我是这样写的,但总有error
#include <stdio.h>
int main()
{
float n, sum=0;
printf ("输入一个数字计算:\n");
scanf ("%f",&n);
if (n < 0)
{ printf(“请输入一个正数: ");
scanf("%f",&n);
for (int i=1; i<=n; i++){
sum = sum + 1/i;}
printf("最后的和是: %f",sum);
}}
希望可以帮到你。
...1+1\/2+1\/3+……+1\/n,期中n由用户输入,如果n是负数,则sum为0,结果保...
不过计算总和时要注意不能使用int i; double sum=0; for(i=1;i<=n;i++)sum+=1\/i;这样的话因为C语言中两个int的商,仍是一个int。所以要使用sum+=1.0\/i;这样系统在计算时会自动进行类型转换为两个double再计算商的。#include<stdio.h>int main(){ int i,n; double sum=0; scan...
c语言编程出现输出-nan(ind),哪里错了,本来计算1-1\/2+1\/3...+1\/9...
结论是,当使用C语言编程计算1-1\/2+1\/3...+1\/9-1\/10时,可能会出现输出结果为-nan(ind)的情况。下面我们将分析代码并找出可能的问题。在C语言的程序中,函数suanfa(int n)用于计算一系列分数的和,然后在main函数中调用它并输出结果。问题可能出在while循环部分,特别是处理奇数项和偶数项时...
...输入错误了如何提示输入错误并实现要求重新输入
所以可以使用while()来执行里面的消除字符,但如果直接这样while(getchar())就会进入无限循环,所以可以让其接收一个终止条件,每次输入完都会按回车,那就让其接收'\\n'换行符终止自己的循环。
C语言编程:求1到1000的奇数和
使用for循环,定义一个变量n从1开始递增2,每次将n累加到sum变量中,直到n大于1000为止。使用递归函数,定义一个函数odd_sum(n),返回1到n之间的奇数和。如果n为偶数,则返回odd_sum(n-1);如果n为奇数,则返回odd_sum(n-1)+n;如果n为0或负数,则返回0。以下是使用while循环的示例代码:inclu...
c语言中怎么把一个数各位取出来相加
在主函数中,我们提示用户输入一个整数,并将其存储在num变量中。然后,我们调用sum_digits函数计算num的所有数字之和,并将结果输出到屏幕。需要注意的是,这个程序只能处理非负整数。如果你需要处理负数,你需要先将其转换为非负整数。♡♡ 有帮助到的话,麻烦采纳哦!♡♡...
C语言编程问题:求 1!+2!+3!+...+n!
把sum=sum+x;移到}后、x=1;前。int main(void){ int sum,n,x,t;scanf("%d",&n);for(sum=0,x=t=1;t<=n;sum+=x*=t++);printf("%d\\n",sum);return 0;}
C语言 用函数调用方法求1!+2!+3!+…+n!的和
{ int n;while(cin>>n){ long long sum=0,num=1;for(int i=1;i<=n;i++){ num*=i;sum+=num;} printf("%lld\\n",sum);} return 0;} printf()函数的调用格式为:printf("<格式化字符串>",<参量表>)。其中格式化字符串包括两部分内容:一部分是正常字符,这些字符将按原样输出;另...
C语言循环题!编写一个程序,求s=1+(1+2)+(1+2+3)+...+(1+2+3+...+n...
int main(void){ int i,j,n;int item,s; \/\/此处数据类型定义错误;scanf("%d",&n);s=0; n=5;for(i=1;i<=n;i++){ item=0; \/\/item应该是从0开始;for(j=1;j<=i;j++) \/\/第二层循环应该小于等于i;item=item+j;s=s+item;} printf("%d\\n",s);return 0;} 图为原...
用c语言编程:计算s=1-1\/2+1\/3-1\/4+1\/5……+1\/m,其中m由输入决定_百度知 ...
Enter m(m>0)...\\nm="); scanf("%d",&m); if(m>0) break; printf("Error, redo: "); } for(s=0,i=1;i<=m;i++) s += i&1 ? 1.0\/i : -1.0\/i; printf("The result is %f\\n",s); return 0;} ...
关于C语言重新输入的问题
这个是因为getchar函数的问题。getchar会读入字符以及后面的回车,所以相当于一次性输入的两个字符,可以改为如下代码:include<stdio.h>int main(){char ch;ch = getchar();getchar();while (ch != 'a'&&ch != 'b'&&ch != 'c'&&ch != 'd'){printf("请重新输入:");ch = getchar(...