这个C程序哪里有错?

   www.gaoxiao88.net
两个问题:
1.scanf函数中最好不要包含'\n',否则要两次回车才能完成输入
2.你把字符当成字符串使用了

代码修改如下:

#include <stdio.h>
float ave(int x,int y,int z)
{
float m;
m=(float)(x+y+z)/3.0;
return m;
}
main()
{
char a1[10],a2[10];
int b1,b2,c1,d1,e1,c2,d2,e2;
float f1,f2;
printf("请输入学生1姓名\n");
scanf("%s",a1);
printf("请依次输入学生1学号、英语、数学和计算机成绩(逗号分隔)\n");
scanf("%d,%d,%d,%d",&b1,&c1,&d1,&e1);
printf("请输入学生2姓名\n");
scanf("%s",a2);
printf("请依次输入学生2学号、英语、数学和计算机成绩(逗号分隔)\n");
scanf("%d,%d,%d,%d",&b2,&c2,&d2,&e2);
f1=ave(e1,d1,c1);
f2=ave(e2,d2,c2);
printf("姓名=%s,学号=%d,平均分=%.1f\n",a1,b1,f1);
printf("姓名=%s,学号=%d,平均分=%.1f\n",a2,b2,f2);
}

char是一个字符,你把那个当字符串用了,当然错了

好久都没学了,
差不多快忘了

上面这位仁兄说得对

1> 末尾加一句 return 0;
2>学生姓名是字符串,控制字符是%s,scanf("%s",[STRING]);
3>ave(int,int,int)中最好用显式类型转换

这个C程序哪里错了啊

#include
using namespace std;
#include
#define R 10

void printqipan(char qipan[R][R], int qipan2[R][R])
{
int i,j;
printf(" ");
for(i=0;i<=9;i++)
printf("%d ",i);
printf("
");
printf(" "); //循环上加个空
for(i=0;i<=R-1;i++)
{
printf("%d ",i);
for(j=0;j<=R-1;j++)
{
if(qipan2[i][j]==1)
printf("X ");
else
printf("%c ",qipan[i][j]);
}
printf("
");
}
}
int main()
{
char qipan[R][R];
int qipan2[R][R]={0,1,0,1},i,j;
for(i=0;i<=R-1;i++)
{
for(j=0;j<=R-1;j++)
qipan[i][j]='M';
}
qipan[4][4]=qipan[5][5]='A';
qipan[4][5]=qipan[5][4]='B';
printqipan(qipan,qipan2);
getchar();
return 0;
}

print函数里面,的这行 p=head->next;
#include
#include
typedef int elemtype;
typedef struct node
{
elemtype data;
struct node*next;
}linklist;

linklist*create_linklist()
{
elemtype ix;
linklist*head,*p;
head=(linklist*)malloc(sizeof(linklist));
head->next=NULL;
printf("请输入
");
scanf("%d",&ix);
while(ix!=0)
{
p=(linklist*)malloc(sizeof(linklist));
p->data=ix;
p->next=head->next;
head->next=p;
scanf("%d",&ix);
}
return(head);
}

void print(linklist* head)
{
linklist*p;
printf("
now:
");
p=head->next;
if(head!=NULL)
do
{
printf("%d
",p->data);
p=p->next;
}
while(p!=NULL);
}

void main()
{
linklist*head;
head=create_linklist();
print(head);
}

相关参考:

关于C语言编写程序的一个疑问 高手帮忙看看我的程序哪错了
最后,尽量不要在C语言代码中夹杂中文,虽然我知道你是在做说明,那就正规点用\/\/作注释。不要再写成char verb[100][8]={"开炮",等一百个词}; 养成良好的代码书写习惯也是学习C语言很重要的一环。特别提醒这四个问题,祝你编程方面有所提高。另外说明一声,C语言是认汉字的,你老师说的没错。以...

C语言编程时 都有什么样的错误提示
参数中有不适当的字符 Bad file name format in include directive 包含命令中文件名格式不正确 Bad ifdef directive syntax 编译预处理ifdef有语法错误 Bad ifndef directive syntax 编译预处理ifndef有语法错误 Bad undef directive syntax 编译预处理undef有语法错误 Call of non-function 调用未定义的函数...

C语言程序哪里错误?
include <stdio.h> include <string.h> char param[7]="abcdef";char param2[7]="ABCDEF";char* point[2];\/\/*point[0]=param; 全局空间只允许定义时初始化对象,像这样的赋值操作是不允许的 \/\/*point[1]=param2; 并且不是对*point[0]赋值而是对point[0]赋值,*point[0]是个char而...

c语言程序那里出错了?
funcos函数中 result初始应该等于1(x^0\/0! = 1)flag 初始等于 -1 while(fabs(item)>e)循环里在for循环之前加一句 product =1;

我编了一个比较三个数大小的C语言程序,编译显示没错误,但运行起来出...
void main(){int a, b, c;printf("\\n Please input a,b,c:");scanf("%d%d%d", &a, &b, &c);if (a>b&&b>c)printf("%d,%d,%d", c, b, a);if (a>c&&c>b)printf("%d,%d,%d", b, c, a);if (b>a&&a>c)printf("%d,%d,%d", c, a, b);if (b>c&&c>a)...

c语言问题,帮忙看一个程序,看错误出在什么地方,谢谢。
include <stdio.h>\/\/没有注释的程序不是好程序,特别是用简单字母定义了一些变量,更需要注释 include <string.h>\/\/为了防止数组越界,请你测试时输入的数字少于10个 void main(){ char str[50],*pstr;int num[10]={0},*pn;\/\/数组全部初始为0 \/\/pn=num;\/\/在定义变量之前不能执行任何操作...

c语言程序,请告诉我哪里错了?
include <stdio.h>#include <math.h>int main(){int k,n,i;for (n=101;n<=200;n=n+2)\/\/多了个分号,去掉{k=sqrt((double)n);for (i=2;i<=k;i++){if (n%i==0)break;}if (i>=k+1)\/\/拿到循环外面来printf("%d ",n);\/\/这里最好加个空格,不然数据都挤在一起了}} ...

C语言上机调试下面的程序,记录系统给出的出错信息,并指出出错原因_百度...
sum(int a, int b);\/\/缺少声明。main(){ int x,y;\/\/没有定义xscanf("%d%d",&x,&y);\/\/x y应该输入printf(“%d\\n”,sum(x,y));\/\/调用参数不对}\/\/少}int sum(int a, int b)\/\/定义参数不对 { \/\/int a,b;\/\/这句多余 return(a+b); } \/\/}\/\/多一个} ...

c程序中输入a,b,c三个数,输出最大值,我编的程序总有错,希望高手看看哪 ...
- - 是不是我看错了,还是你打的时候打错了。。。我记得我的C语言课本上写着说函数不可以嵌套定义。。怎么你的main函数里面又套了一个max的定义。。修改前:include<stdio.h> int n,x,y,a,b,c;void main(){ int max(int a,int b,int c);\/\/此处的定义应该放到main函数的外面 scanf("...

能告诉我我的C语言错在哪里吗
你这个程序设计很合理!但有许多小错误!首先,你所有的语句都没有打分号。其次,变量书写不统一。 程序中既有 vall 也有 val1 最后,printf() 写成了 prinft()。正确代码如下:include<stdio.h> int val1,va12,va13;int product(int x,int y);int main(void){ \/*Get the first number*\/ ...

相关评论

  • 闵肺4570: 这个C语言程序哪里有错误? -
    15685986101: if判断写错了,应该是if(a=='5'),a是int即可代表一个字节,等于后面的怎么能是字符串呢,应该是字符,单引号.

  • 闵肺4570: 这个C语言程序错在哪里 -
    15685986101: #include<stdio.h> void streem(int,int*); void main(){ int x,b[10]; for(x=0;x<10;x++){ printf("请输入数字"); scanf("%d",&b[x]); } streem(10,b); //int i;//for(i=0;i<10;i++)//printf("%d",b[i]); } void streem(int n,int a[]){ int i,r; bool flag=true; while(flag){ ...

  • 闵肺4570: 求问C语言的这个程序哪里有错 -
    15685986101: #include<stdio.h>int main() { int a[4][2]={2,7,-1,6,0,-2,9,5}; int b[8],c[8],i,j,m; int getpos(int a[4][2],int b[8], int n); void sort(int a[],int n); int n = sizeof(a)/sizeof(int); m = getpos(a,b,4); for(i = 0; i < m; ++i) c[i] = b[i]; sort(c,m); printf("a数组为:\n"); for(i = ...

  • 相关话题

    ap在线精英在线最新简短笑话,好笑的段子,搞笑句子,男女朋友校园冷笑话,搞笑歌词对白台词,夫妻搞笑对话,手机流行笑话,逗人笑的动物经典笑话,最新幽默搞笑图文,好笑的视频分享给朋友
    若有事情,请联系电邮
    © <搞笑吧