帮我看看这c语言入门为什么错了

帮忙看看这几本书零基础自学C语言?为了学基础而已_百度知道
帮忙看看这几本书零基础自学C语言?为了学基础而已
零基础C语言编程找到几本书 帮忙看看买哪几本?谢 尽量省钱啊&&C语言设计教程处沪边疚装狡膘挟博锚&&&&零基础学数据结构&&(应该是必须的拉)&&零基础学C语言&&&&C Primer Plus中文版&&或再帮忙推荐基本最基础的书哈!谢了再问一句:编程是不是要背许多代码,语法啊?
编程关键是理解程序的内在逻辑。
按默认排序
其他3条回答
学基础推荐谭浩强的&&C语言设计教程&&~如果应用最好选vs的教程~没必要背,弄懂逻辑就行了~活学活用!就像学英语,根本不可能靠背句子真正学会!
要多写代码,多写题目,慢慢的就会在你代码中体现你的不足,碰到问题时就去找为什么,可以百度,也可以问别人,如果没人回答也可以问我,QQ个人资料里面有,用msn也可以。题目找不到可以去oj找。给个比较简单的oj网址:
谭浩强的&&C语言设计教程&&很不错
c语言的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁请帮我看看这个C语言程序哪里错误,谢谢_百度知道
请帮我看看这个C语言程序哪里错误,谢谢
#include&stdio.h&#include&string.h&struct student{ char xuehao[16];&#47;&#47;号<img class="word-replace" src="/api/getdecpic?picenc=0af位数字 char name[13];&#47;&#47;姓名<img class="word-replace" src="/api/getdecpic?picenc=0a5f字符 float math, chinese, english, &#47;&#47;班级名};int flage = 0;void shuru(struct student* X);void shuchu(struct student* Y);void chazhao(struct student* Z);&#47;&#47;函数声明 int main(void){ struct student myclass[100]; printf(&请输入信息绩输入end结束输入&);
shuru(myclass); shuchu(myclass); while(1) {
chazhao(myclass); } return 0;}&#47;* shuru函数功能用户绩输入数组
统计总绩名*&#47;void shuyu(struct student* X){ int i, char tr[16];
for (i = 0; i & 100; i++) {
if ( strcmp(tr, &end&) == 0)
strcpy((X + i)-&xuehao , tr);
scanf(&%s,%f,%f,%f&, &(X + i)-&name, &(X + i)-&math, &(X + i)-&chinese, &(X + i)-&english);
(X + i)-&sum =
(X + i)-&math + (X + i)-&chinese + (X + i)-&
for (i = 0; i & i++)
for(j = j & j++)
if ((X + i)-&sum & (X + i)-&sum )
st = *(X + i);
*(X + i) = *(X + j);
*(X + j) =
(X + i)-&mingci = i + 1;
} } }&#47;* shuchu函数绩按名递增顺序输*&#47;void shuchu(struct student* Y){
for (i = 0; i & i++) {
printf(&------------------------------------------------------------------------------&);
printf(&%-6s %-12s %-3f %-3f %-3f %-3d&, (Y + i)-&xuehao, (Y + i)-&name, (Y + i)-&math,
(Y + i)-&chinese, (Y + i)-&english, (Y + i)-&mingci);
printf(&------------------------------------------------------------------------------&); } printf(&绩输完毕&); printf(&################################################################################&);}&#47;*chazhao函数提供用户查找某信息*&#47;void chazhao(struct student* Z){ char tr[16];
printf(&请输入查找号或者姓名&); gets(tr); printf(&该信息: &#92;n&); for ( i = 0; i & i++) {
if (strcmp((Z + i)-&xuehao, tr) || strcmp((Z + i)-&name, tr))
printf(&%-6s %-12s %-3f %-3f %-3f %-3d&, (Z + i)-&xuehao, (Z + i)-&name, (Z + i)-&math, (Z + i)-&chinese, (Z + i)-&english, (Z + i)-&mingci);
} } printf(&################################################################################&);}系统给错误:Linking...001.obj : error LNK2001: unresolved external symbol _shuruDebug&#47;001.exe : fatal error LNK1120: 1 unresolved externalsError executing link.exe.
提问者采纳
shuru函数实现代码命名错变shuyu(struct student* X)/* shuru函数功能用户绩输入数组
统计总绩名*/void shuyu(struct student* X){...}修改
其他类似问题
c语言程序的相关知识
其他1条回答
朋友看编译链接错误要耐unresolved external symbol _shuru
错误表示定义_shuru
并非实现发现实现 void shuyu(struct student* X)
名字写错应该void shuru(struct student* X)1 习c语言首先要牢记先编译链接再执行文件程 其前2步重点2 建议linux环境用gcc套东西看看(预)编译链接底事
发window微软IDE首选3 般说编译表示语没问题
看链接链接要函数具体实现给链接(放入)程序(exe)面
编译程(选项):linuxgcc套例
gcc -c filename.cpp -I 文件查找路径 -o filename.o
链接执行文件:
gcc filename.o -L 程序要引入(态)库路径 -l态库名 -o 执行文件名
windows 平台自编译器gcc想象编译器4 保持点耐习c语言入门linux操作系统练练写写几Makefile手
您可能关注的推广回答者:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁帮忙看看这段C语言哪里错了_百度知道
帮忙看看这段C语言哪里错了
删除链表于max且于min所元素没间看前面函数像间帮忙看完看看其没问题咯void Function(LinkList L,int min,int max){ LinkList p,pre,s; pre=L; p=L-& while(p){
if((p-&elem&max)||(p-&elem&min)){
s-&next=p-&
} }}===========================================================================源代码:#include&stdio.h&#include&stdlib.h&#include&math.h&typedef int ElemTtypedef struct Node{ ElemT struct Node *}Node,*LinkLvoid Init_List(LinkList L){&#47;&#47;初始化 L-&next=NULL;}void Scan_List(LinkList L){ LinkList p1,p2; int e,i=1; p1=L; p2=(LinkList)malloc(sizeof(Node)); printf(&输入第%d数:&,i++); scanf(&%d&,&e); p2-&elem=e; while(p2-&elem!=0){
p1-&next=p2;
p2=(LinkList)malloc(sizeof(Node));
printf(&输入第%d数:&,i++);
scanf(&%d&,&e);
p2-&elem=e; }}void Function(LinkList L,int min,int max){ LinkList p,pre,s; pre=L; p=L-& while(p){
if((p-&elem&max)||(p-&elem&min)){
s-&next=p-&
} }}void print(LinkList L){ while(L-&next){
printf(&%d&,L-&next-&elem);
L=L-& }}void main(){ LinkList L; int mink, L=(LinkList)malloc(sizeof(Node)); printf(&输入maxk:&); scanf(&%d&,&maxk); printf(&输入mink:&); scanf(&%d&,&mink); Init_List(L); Scan_List(L); Function(L,mink,maxk); print(L);}
提问者采纳
void&Function(LinkList&L,int&min,int&max){ LinkList&p, pre=L; p=L-& while(p) {
if((p-&elem&max)||(p-&elem&min))
pre-&next&=&p-&
if(p-&next)
&&&&pre&=&p;
&&&&p&=&p-&
&&&& }}试试段吧
不行呢,一运行输入完数据后就停止工作
void&Function(LinkList&L,int&min,int&max){ LinkList&p, pre=L; p&=&L-& while(p) {
if((p-&elem&max)||(p-&elem&min))
pre-&next&=&p-&
} }}应该是这样才对另外,在Scan_List末尾加一句p1-&next = NULL;
嗯 谢谢,可以运行了,能不能简单的说一下我的代码错误的原因呢?
首先,链表尾的next没有指向NULL,所以while(p)判断时会出错,所以在Scan_List函数末尾加了句p2-&next = NULL其次,在while循环里面,当elem不满足if语句时,你pre跟p都没作向下移动的操作,程序将一直循环,所以if后面接了个else,将pre指向p,p指向next最后,在while循环里面,当elem满足if语句时,pre无需向后移动,只需将其next指向转移到p-&next,p先做释放操作,再将其移到p-&next即可。
提问者评价
谢谢你的回答
其他类似问题
c语言的相关知识
按默认排序
其他2条回答
图呢                少结婚理由:我我想通种式起辈
while(p)是什么意思?应该是while(p!=NULL)吧
跟while(p!=NULL)一个意思
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁能帮我看看这个C语言程序错在哪了吗?急用,谢谢_百度知道
能帮我看看这个C语言程序错在哪了吗?急用,谢谢
提问者采纳
初始化 char filename[15]={0};输入完没&#92;0,结束
还是这种情况&&&&&
如果已经打开文件成功,那么是读取代码错了
那有什么解决办法吗?
这个是你写入文件格式和读写格式的问题了。可以先试一下,读取一个结构体,看看是否能成功
我现在大脑一片空白,马上就该交作业了,我的程序还没调试好,我急死了都快,您能帮我调一下我的程序吗?
把整个代码发一下吧,否则没法调试
能把您的Email给我吗?我把代码发你you xiang里
其他类似问题
按默认排序
其他2条回答
、数据文件用fwrite写进二、数据文件空啊(其没数据)三、for语句代码修改for( i=0; ; i++ ){if ( fread(...)!= 1 )
//空文件读数据且读行现printf(&..........&);}四、fseek()函数没用
我是用fwrite写的,我也按你说的改了,还是不行啊
你能帮我调一下我的程序吗?
我一天都没时间上网,你的问题解决了就好
来自:求助得到的回答
那一串乱码,明显是buffer没有&#39;&#92;0&#39;的结束符导致的。
c语言程序的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁大虾们,小弟刚学C语言,谁能帮我看看这个求圆周率的代码哪儿错啊_百度知道
大虾们,小弟刚学C语言,谁能帮我看看这个求圆周率的代码哪儿错啊
#include&stdio.h&#include&stdlib.h&#include&math.h&void main(){ int n,i; double m,q,l,p,k; printf(&请输入随机点的点数:&); scanf(&%d&,&n); i=1; while(i&=n) {
m=(float)rand()&#47;RAND_MAX;
q=(float)rand()&#47;RAND_MAX;
l=sqrt(m*m+n*n);
k++; } p=k&#47;n*4沪俯高谎薨荷胳捅供拉; printf(&圆周率为:%f&,p);}
提问者采纳
呃楼主改了些时间终于改好了#incl沪俯高谎薨荷胳捅供拉ude&stdio.h&#include&stdlib.h&#include&math.h&#include&time.h&void main(){int n,i=0;double m,q,l=0,p,k=0;printf(&请输入随机点的点数:&);scanf(&%d&,&n);i=1;srand(time(0)); //&-----------------获取当前时间作为种子,保证每次产生随机数的种子不同while(i&=n){ m=2.0*rand()/RAND_MAX-1; //&------------q=2.0*rand()/RAND_MAX-1;l=sqrt(m*m+q*q); //&--------------------i++;if(l&=1) k++;;}p=k/n*4;printf(&&#92;n圆周率为:%lf&#92;n&,p);}
提问者评价
你真棒,学习了
其他类似问题
因为l循环出来的数应该不会小于1所以k永远都是0算出来的圆周率永远是0.
圆周率的相关知识
按默认排序
其他1条回答
k 么有初始化
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 c语言入门 的文章

 

随机推荐