简单C语言改错,刚开始学的,编了一个小程序就是不知道哪里有问题,不会改。求C语言大神帮忙

作者&投稿:佟省 (若有异议请与网页底部的电邮联系)
刚开始学C语言,编了一个简单的程序却怎么也运行不出结果,到底是哪有问题求大神指点~

主要问题是函数类型没写,是int main 还是 void main。还有输出的时候,要输出几个值,就要写几个%d。

#includeint main(){double b=1.0,sum1=0.0;int a; //循环控制变量最好是整数for(a=1;a<=5;a++) //{ b=a*b;sum1=sum1+b; }printf("sum1=%lf
",sum1); //变量不要放到引号中 double sum2=0.0;int c; //for(c=1;c<=8;c++) //{sum2=sum2+c*c; } printf("sum2=%lf
",sum2);double sum3=0.0;int d; for(d=1;d<=10;d++) {sum3=sum3+1.0/d; //因为d是整数,所以,用1.0来运算,保证小数 }printf("sum3=%lf
",sum3);double sum0; sum0=sum1+sum2+sum3;printf("sum1+sum2+sum3=%lf
",sum0); //return 0;}

这句,你多写了个双引号。

你的问题很多,你里边有两个函数都没有写执行体

void num_kecheng();

void inputstu();

这两个函数仅仅定义了,但是没有方法执行

你的flag变量定义了两次而且都没有给赋初值,你全局定义了一次局部又定义了一次。看你的代码估计就想用一个所以不要再main()函数中在定义了。我大概把问题找完了,因为没具体看你的代码是做什么的,所以后边两个方法你自己补齐一下

#include<stdio.h>

#include<stdlib.h>

#define N 10

#define M 3

int password();

void menu();

void num_score();

void kecheng_score();

void num_kecheng();

void inputstu();

int score[N][M],i,j,num,flag=0;

float sum;

int main()

{

int select;

password();

while(flag)

{

system("cls");

menu();

printf("*************************
");

printf(" 请选择主菜单序号1-5:");

scanf("%d",&select);

switch(select)

{

case 1:num_score() ;break;

case 2:kecheng_score();break;

case 3:num_kecheng();break;

case 4:inputstu();break;

case 5:flag=0;

}

}

}

int password()

{

int i;

long pw;

system("cls");

for(i=3;i>0;i--)

{

printf("
请输入密码(您还有%d次机会)
",i);

scanf("%d",&pw);

if(pw==123456){flag=1;break;}

else flag=0;

}

return flag;

}

void menu()

{

printf("

");

printf(" 欢迎使用学生查询系统!

");

printf("***********************************");

printf(" 请选择查询对象:

");

printf(" 1 欢迎使用学生查询系统!

");

printf(" 2 据学查询成绩及平均成绩

");

printf(" 3 据学生学查询学生成绩

");

printf(" 4 学生原始数据依次输入

");

printf(" 5 退出本系统

");

}

void num_score()

{

printf("请输入查询学生的学号
");

scanf("%d",&num);

for(i=0;i<N;i++)

if(num==score[i][0])

for(j=1;j<M;j++)

{

printf("%d号课程成绩是%d
",j,score[i][j]);

sum+=score[i][j];

}

printf("%d号学生的平均成绩为%d
",num,sum/(M-1));

}

void kecheng_score()

{

printf("查询课程的代号(1-%d):
",M-1);

scanf("%d",&j);

for(i=0;i<N;i++)

{

printf("查询课程的代号(1-%d):
",M-1);

scanf("%d",&score[i][j]);

}

}

void num_kecheng(){

}

void inputstu(){

}



kecheng_score函数缺一个}结束




C语言程序改错,
include <stdio.h>struct student{int number;char name[10];float score; \/\/这里出错,没必要使用数组,否则后面的语句.score不能使用};int main(void){int i,N;float average=0;printf("请输入学生人数N:");scanf("%d",&N);struct student students[N];for(i=0;i<N;i++){printf("\\n...

一道C语言题目,改错题,快点啊 ,急
改动了些,没问题了,你自己看吧 include<stdio.h> define N 20 float fun(float s[N], int n){ int k;float ave,t,sum=0.0;for(k=0; k<n; k++){ t=s[k]-80;sum+=s[k];} ave=sum\/n;return(ave);} void main(){ float s[N];float ave, a;int n[10]={0,0,0,...

一道C语言的改错题
main() \/\/没有头文件 #include "stdio.h"{ int m,k=0; \/*在这里要给出函数fun()的声明,否则编译器汇报错。int fun(int n)*\/ for(m=1;m<100;m++)if(fun(m)==1){ printf("%4d",m);k++;if(k%5==0)printf("\\n");} } \/***FOUND***\/ void fun( int n){ int ...

c语言改错 main(int argc, char *argv[]) { while (argc>1) {...
argc为参数的下标,argc从0开始,0表示你程序的名称,1表示第一个参数,2表示第二个参数,以此类推。你的循环条件一直都为真,程序死循环了。include <stdio.h> int main(int argc, char *argv[]){ int i=1;while (i < argc){ printf("\\nHello %s!", argv[i]);i++;} return 0;} ...

c语言 改错题 运行正确 但是在输入 2(enter)1(enter) 时会出现错误 为 ...
int **p=(int**)malloc(sizeof(int)*ClassNum);for(i=0;i<StudentNum;i++)p[i]=(int*)malloc(sizeof(int)*StudentNum);这两句话是有问题的,当StudentNum小于ClassNum时,p只初始化了p[0]到p[StudentNum-1],而p[StudentNum]到p[ClassNum-1]未初始化,但是在 for(i=0;i<ClassNum;i...

计算机二级全国 c语言的改错题一般有几个错误。会告诉你有几个吗...
在题目中有注释 标记 \/***found***\/ 这样的 在这个之下有错误,一个found一个错误。

c语言改错题,输入5个数,然后输出,请教这题怎么改?为什么?
include<stdio.h> void InputArray(int *pa,int n);void OutputArray(int *pa,int n);int main(){ int a[5];printf("Input five numbers:");InputArray(a,5);OutputArray(a,5);return 0;} void InputArray(int *pa,int n){ int i=0;for(*(pa+i);i<n;i++){ scanf("%d",(...

为什么c语言程序在运行时出现错误?
出现这个报错的原因是:代码输入过程中出现全角输入,将代码中括号、分号等用半角字符替换即可。根据题目给出的提示,请检查一下第51行代码,将51行代码中出现的全角符号替换成半角字符,或者输了重新输入就行。

C语言代码改错题?
include <stdio.h> int main(void){ int flag, n;double eps, item, s;printf("Input eps:");scanf("%lf", &eps);flag = 1;s = 0;n = 1;do { item = 1.0 \/ n;s = s + flag * item;flag = -flag;n = n + 3;} while (item >= eps);printf("s=%f\\n", s);r...

全国计算机二级C语言笔试和上机考多少分算过啊?
60分刚好及格。笔试是能够补考的,,上机题 :满分100分,90分钟 分三种题型,填空【30分】,改错【30分】,编程【40分】。填空和改错按空给分如果是三个空,每空是10分,如果是2个空,每空15分;编程只有两种可能:40分和0分。(要么作对,要么做错)。

武平县19737639873: c语言的一个简单改错题!!
茹鸣脑灵: main() {int a,b,c,i; a=0;b=1; printf("%d%d",a,b); for(i=1;i<=40;i++) {c=a+b; a=b; b=c; prinft("%d",c); } }

武平县19737639873: C语言简单的改错 有那一些?? -
茹鸣脑灵: 1.书写标识符时,忽略了大小写字母的区别.main() { int a=5; printf("%d",A); } 编译程序把a和A认为是两个不同的变量名,而显示出错信息.C认为大写字母和小写字母是两个不同的字符.习惯上,符号常量名用大写,变量名用小写表示,以...

武平县19737639873: C语言简单代码求改错 -
茹鸣脑灵: 程序1修改完成,直接加到mian函数中运行 float x; printf("请输入X\n"); scanf("%f",&x); { if(x>-5 && x { x=x+0; } else if(x==0) x=x-1; else if(x>0&&x x=x+1; else x=100; } printf("%0.2f",x); 运行结果:请输入X-2-2.00 程序2的方法不是很好给...

武平县19737639873: c语言改错,输入长和宽求矩形边长和面积,保留两位小数. -
茹鸣脑灵: #inlcude <stdio.h> int main() //注意,开始学就学规范,具体在后面说 { double a,b,d,s; //错的就是这个地方吧 printf("请输入长和宽的值:\n");scanf("%f%f",&a,&b);d=2*(a+b);s=a*b;printf("周长为%.2f\n",d);printf("面积为...

武平县19737639873: 简单C语言,求改错!!!! -
茹鸣脑灵: if(i==5) printf("\n"); 你的意思应该是每五个树就换行吧 改成这样 if(i%5 == 0) printf("\n");printf("%d",a[i]);这一句最好在%d后加一个Tab键printf("%d ",a[i]);这样好看一点

武平县19737639873: c语言简单编程求改错!!!!急 感觉没什么问题了,结果就是不对 -
茹鸣脑灵: #include<stdio.h> main() { int n,m,i,j,k; int a[5][5],b[5][5],c[5][5]={0}; printf("Please input m and n(1-5):"); scanf("%d%d",&m,&n); printf("Input A4 %d*%d:\n",m,n); for(i=0;i<m;i++) for(j=0;j<n;j++) scanf("%d",&a[i][j]); printf("Input A4 %d*%d:\...

武平县19737639873: C语言程序改错
茹鸣脑灵: 你用了 choice=getchar(); 这里应该是一个字符的. 比如输入1的话,是'1',而不是1; 把case 1,改成case '1' .... 其余的类似,试下.

武平县19737639873: 一道很简单的C语言编程题求改错 -
茹鸣脑灵: 改成double才可以!不然,整数不够使,会超出数据的范围#include double fact(int n); double multi(int n); main() { int i; double sum,item,eps; eps=1E-6; sum=1; item=1; for(i=1;item>=eps;i++) { item=fact(i)/multi(2*i+1); sum=sum+item; } printf("PI=...

武平县19737639873: C语言改错 -
茹鸣脑灵: scanf("%s",scr);改为 scanf("%s",&scr);

武平县19737639873: 超简单的 c语言改错
茹鸣脑灵: 在swap函数中是接收到了a和b的值,分别赋给了x,y, 在函数中将x和y的值进行了交换, 但是a,b的值并不会改变, 学了C++,C语言不是很确定了, 你改成如下试试: #include<stdio.h>#include<iostream.h>void swap(int,int);main(){int a=10,b=20;swap(a,b);cout<<a<<b<<"\n";return 0;}void swap(int &x,int &y){int temp;temp=x;x=y;y=temp; }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网