一个简单求阶乘的程序,调试没问题但是结果只能显示等于1.000000,请问哪里出错了 #include<stdio.h>voidmain(){intn;floaty;floatf1(intn);scanf("pleaseinputn:%d",&n);y=f1(n);printf("jiechengn=%f\n",y);}floatf1(intn){inti;floatf=1;for(i=1;i<=n;i++)f=f*i;r... #include<stdio.h...
{ for (int i = 1; i <= n; i++) { int now = 0; for (int j = 0; j < i; j++) {//这个循环得到具体的a,aa,aaa now += a * pow(10,j);//次方函数,0次方是1,就是a,1次方就是a乘以10,再累加前面的a,就是aa } //下面累加 sum += now; } cout << "结果为:" << su...
是这样的,按回车键是告诉scanf输入结束了,如果你每输入一个学生的成绩按一下回车,程序就会判断一下并计算一下总成绩。如果你用空格分开,程序就会等你按下回车告诉系统你输入完了,程序才会判断。编的不错,你是初学的吗?继续努力。多体会,C语言很有意思,如果想系统学习C语言推荐你看:[C.Primer...
for(i=1; i<=n; i+=2) s+=i%4==1?1.0/i:-1.0/i; printf("%f\n",s); return 0;}
一般是这样 int N;scanf("%d",&N);while(N--){ //读入一行或者说处理一行的数据。}当然也可以 int N,i;scanf("%d",&N);for(i = 1; i<=N;i++){ //读入一行或者说处理一行的数据。}这种方式 适用于需要输出当前是第几行输入的情况。
include "stdio.h"void main(){ int i,j,a[4][4];int dj=0,ssj=0;printf("输入元素(空格隔开):");for(i=0;i<4;i++)for(j=0;j<4;j++)scanf("%d",&a[i][j]);for(i=0;i<4;i++)dj+=a[i][i];for(i=0;i<4;i++)for(j=i;j<4;j++)ssj+=a[i][j];print...
i).DeleteElseCells(i - 1, 2) = Cells(i - 1, 2) & "/" & Cells(i, 2)Cells(i - 1, 3) = Cells(i - 1, 3) & "/" & Cells(i, 3)Rows(i & ":" & i).DeleteEnd IfEnd IfNext iEnd Sub以上代码达到下面的效果:(原数据)星期几 节次 上课老师 上课班级周二 第1...
&是取地址,scanf读取变量的时候,参数需要的是变量的实际内存地址,了解C语言指针的概念后就会明白,地址就是指针,指向变量的数据内容。不过一般%s是不会用&取地址的,因为字符串类型本身就是指针,不需要再进一步取地址。
而for(i=1;i<=j;i++) {} i 从 1 起,当 i<=j 才执行, 1 > 0 所以 不执行. scanf("%d",&x); 读入7while(x>-1) {} 读到 -1 才跳过 while 循环,这是 b 里有(b[1]起)7 10 5 4 6 7 9 8 3 2 4 6 12 2 另外main(), 不要写成 mian() 已赞过 已踩过< 你对这个回答...
include <stdio.h> /*已运行过,没问题!*/ void main(){ int i,t,N;float p,a;scanf("%d",&t);if(t>0&&t<=50){ for(i=1;i<=t;i++){ scanf("%d%",&N);if(N>=0&&N<=100){ a=(float)N/100;p=(a*a)/(1-2*a+2*a*a);p=100*p;printf("%.2f%\n",p);}...