C程序中为何输入任意数,输出结果都一样??
printf("F(x)=%d
",y);改为:
printf("F(x)=%f
",y);
你for循环里面,每次运行完,sum的值都是0呀。你把sum=0放到while外面就好了。
我这可以
可能是编辑器的问题吧
我用的是c-free 5.0
还有就是在你使用 += 来表达 sum1=sum1+ 的时候一定要给 sum1初始化。
你程序最主要的是在while(scanf("%d",&n)==1)后面没对你的所有变量进行初始化,或者说在你第一次用sum1和sum2之前,他是0吗?我贴出我改你的程序,你对比看看哪里不同了?
#include<stdio.h>
int main()
{
int a,n;
float i,sum1,sum2;
printf("input the count
");
while(scanf("%d",&n)==1)
{
a = -1;
sum1 = 0;
sum2 = 0;
for(i=1.0;i<=n;i++)
{
a=(-1)*a;
sum1+=1.0/i;
sum2+=a*(1.0/i);
}
printf("1.0 + 1.0/2.0 + 1.0/3.0 + 1.0/4.0 ...(%d terms) = %f
",n,sum1);
printf("1.0 - 1.0/2.0 + 1.0/3.0 - 1.0/4.0 ...(%d terms) = %f
",n,sum2);
printf("input the next count
");
}
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int n=10;//
int i;
float sum_1=(float)0,sum_2=(float)0,;
for(i=1;i<=n;i++)
{
sum_1=sum_1+1.0/i; //1.0+1.0/2.0+1.0/3.0+1.0/4.0+…
sum_2=sum_2+1.0/i*(-pow(-1,i)); //1.0 - 1.0/2.0+1.0/3.0 - 1.0/4.0+…
}
printf("%f
",sum_1);
printf("%f
",sum_2);
system("pause");
return 0;
}
你的问题是 SUM1和sum2没有初始化.可以像这样//float sum_1=(float)0,sum_2=(float)0,;
题目“输入任意数量整数,输出输入整数中的最大数,最小数,和总和”这个...
代码如下:(望赏),有问题可以追问 include<stdio.h>int main(){int n,i;\/\/整数个数int sum = 0,min,max;int tmp;scanf("%d",&n);for(i = 0; i < n; i++){scanf("%d",&tmp);if(i == 0){min = tmp,max = tmp;}min = (min < tmp)?min:tmp;max = (max > tmp)...
c语言输入一个数输出他全部的素数因子(问题注释在源代码中)
isWanShu(int n){ int sum=0, j; for(j=1;j<n;j++) {if(0==n%j) sum+=j;} if(sum==n) {printf("%d 是完数, ", n);return true; } else { return false;}。4、通过控制循环来寻找一定范围内符合的数。5、按F9编译。6、按F5运行,得到结果。
用c语言编一个程序:从任意10个数中任选4个数并全输出?
printf("\\n中随机选出的4个数为: ");for(i = 0; i < 4; ++i)printf("%d ", num[rand()%10]);printf("\\n\\n");} C++可以交互一点:include <vector> include <algorithm> include <iostream> include <iterator> using namespace std;int main(){ cout << "输入任意数字,同时按...
c语言,任意输入一个五位正整数,逆序输出每一位上的数
include <stdio.h>void main(){int i,n,a[5];scanf("%d",&n);for(i=0;i<5;i++){a[i]=n%10;n=n\/10;}for(i=0;i<5;i++)if(a[i]){for(;i<5;i++)printf("%1d",a[i]);break;}}运行示例:
C语言编程 任意输入一个一位数,程序输出类似1+11+111+1111+11111 如...
include<stdio.h>int main(){ int a,i,j;scanf("%d",&a);for(i=0;i<5;i++){for(j=0;j<i+1;j++){printf("%d",a);}if(i<4)printf("+");}printf("\\n");} 这样的么
C语言程序分析,输入一个数,确定是几位数,输出每一位和按逆序输出每一...
include <stdio.h>#include <string.h> char *mFun(char *p, int len) \/\/颠倒数字的函数{ char sp; for(int i=0;i<len\/2;i++) { sp = p[i]; p[i] = p[len-i-1]; p[len-i-1] = sp; } return p;}char* qling(char *p, int len) \/\/从首...
c程序,输入任意3个整数,按照从小到大的顺序输出3个数的值
include <stdio.h>int main(void) {int a,b,c,temp;printf(" 请输入3个整数(数与数之间用空格隔开):");scanf("%d %d %d",&a,&b,&c);if(a<b){temp=b;b=a;a=temp;}if(a<c){temp=c;c=a;a=temp;}if(b<c){temp=c;c=b;b=temp;}printf(" 输入的3个整数按从小到...
python做一个计算器小程序要求当输入任意数字每输入一个数字相加当输入...
好的,以下是一个简单的python计算器小程序,可以满足您的需求:初始化总和为0 total = 0 while True:获取用户输入 num = int(input("请输入数字(输入0结束计算):"))如果输入的是0,则退出循环 if num == 0:break 否则将输入的数字累加到总和中 total += num 输出计算结果 print("计算结果...
计算机写程序:从键盘上输入任意两个整数、按由大到小的顺序输出
C \/\/读入两个参数 ConsoleKeyInfo a = Console.ReadKey();ConsoleKeyInfo b = Console.ReadKey();\/\/如果a的值大于b,输出ab,否则输出ba if(a.Key>=b.Key){Console.WriteLine(a.Key.toString()+","+b.Key.toString());}else{Console.WriteLine(b.Key.toString()+","+a.Key.toString());...
程序中数组输出为何多一项?
打印函数的问题,数组结尾要加'\\0',打印的函数默认是碰到'\\0'就停止输出,因为你的数组里没有写结束符,所以输出了内存里的随便值 解决办法:数组长度加长1,把最后的元素值赋位'\\0';或者用其循环打印单个元素办法依次打印