谁会c语言程序设计?帮我看看嘛侠侠们 修改程序错误(四处错误)

一个C语言程序, ABCDE表示成绩分区。我是个新手,悬赏金没有了,帮忙改下错误,谢谢了,在线等待~_百度知道
一个C语言程序, ABCDE表示成绩分区。我是个新手,悬赏金没有了,帮忙改下错误,谢谢了,在线等待~
#include&stdio.h&main(){
char A,B,C,D,E; scanf(&%d&,&x); x&=90?x=A:x&=89&&x&=80?x=B:x&=79&&x&=70?x=C:x&=69&&x&=60?x=D:x=E; switch(ch) { case 'A':printf(&%c&,A);
case 'B':printf(&%c&,B);
case 'C':printf(&%c&,C);
case 'D':printf(&%c&,D);
default :printf(&%c&,E);
提问者采纳
编程思路点应先定义字符变量数字变量再读入数据数字变量用switch或if elseif数字变量判断判断ABCDE赋给字符变量输该字符变量即
提问者评价
谢谢了 确实思路不太好现在找到个好的方法了
其他类似问题
按默认排序
其他3条回答
#include&stdio.h&main(){ //ch没定义
char A,B,C,D,E; scanf(&%d&,&x); x&=90?x=A:x&=89&&x&=80?x=B:x&=79&&x&=70?x=C:x&=69&&x&=60?x=D:x=E; switch(ch) { case 'A':printf(&%c&,A);
case 'B':printf(&%c&,B);
case 'C':printf(&%c&,C);
case 'D':printf(&%c&,D);
default :printf(&%c&,E);
}}//少括号
d:\program files\microsoft visual studio\vc2009\myprojects\.c(5) : error C2143: syntax error : missing ';' before 'type'd:\program files\microsoft visual studio\vc2009\myprojects\.c(8) : error C2106: '=' : left operand must be l-value执行 cl.exe 时出错.还是有错误啊····
error C2143: syntax error : missing ';' before 'type'-&&这个错误是编译器的原因,可以换个机子试试
#include&stdio.h&main(){
char A,B,C,D,E; scanf(&%d&,&x); x&=90?x='A':x&=89&&x&=80?x='B':x&=79&&x&=70?x='C':x&=69&&x&=60?x='D':x='E'; switch(x) { case 'A':printf(&%c&,A);
case 'B':printf(&%c&,B);
case 'C':printf(&%c&,C);
case 'D':printf(&%c&,D);
default :printf(&%c&,E);
}}x定义的整型常量,为什么要
改为:x&=90? x=A:(x&=89&& x&=80)? x=B:(x&=79&&x&=70)?x=C:后面的以此类推,都这样改。
c语言程序的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁C语言 我写了一个和链表操作有关的程序,没语法错误,但运行不出结果,请帮忙看看 亲们_百度知道
C语言 我写了一个和链表操作有关的程序,没语法错误,但运行不出结果,请帮忙看看 亲们
#include&stdio.h&#include&stdlib.h&typedef struct List{int date,struct List *}List,*QLQList creat(){QList L,p,int i,e;head=L=(QList)malloc(sizeof(List));printf(&输入需要储存的值并以-1结束输入:&);scanf(&%d&,&e);L-&date=e;L-&next=NULL;while(e!=-1){scanf(&%d&,&e);if(e==-1)exit(-1);else {
p=(QList)malloc(sizeof(List)); p-&date=e; L-&next=p;L=p; p-&next=NULL; i++;}}head-&size=i;}void read(QList L){
printf(&%5d&,p-&date);
}}void add(QList L){QList p,q;q=L;int i=1,e,n;printf(&输入插入的位置和数值:&);scanf(&%d&,&n);if(n&1&&n&(L-&size+1))exit(-1);else scanf(&%d&,&e);if(n==1){p=(QList)malloc(sizeof(List));p-&date=e;p-&next=L;L=p;L-&size=L-&next-&size+1;}else{p=(QList)malloc(sizeof(List));p-&date=e;for(;q&&i!=n-1;i++,q=q-&next);p-&next=q-&q-&next=p;L-&size+=1;}}void dele(QList L){QList p,q;p=L;int i,j=1;printf(&输入要删除的位置:&);scanf(&%d&,&i);if(i&1&&i&L-&size)exit(-1);if(i==1){
L-&next-&size=L-&size-1;L=L-&
free(p);}else{
for(;p&&j!=i-1;i++,p=p-&next);
p-&next=p-&next-&free(q);L-&size-=1;}}void sort(QList L){if(L==NULL) exit(-1);QList q=L-&next,p=L;e=L-&
if(e&q-&date)
p-&date=q-&
q-&date=e;
if(q==NULL)
sort(p=p-&next);
else {q=q-&
if(q==NULL)
sort(p=p-&next);}
}}int main(void){QList La;printf(&创建一个链表:&);La=creat();printf(&输出一个链表&);read(La);printf(&增加一个结点&);add(La);
printf(&输出一个链表&);read(La);printf(&删除一个结点&);dele(La);
printf(&输出一个链表&);read(La);printf(&排序&);sort(La);
printf(&输出一个链表&);read(La);return 0;}
1,结构体里面的date是什么?打错了么,我想应该是data吧。2,create里面的 i 没有初始化,exit函数的意思是退出整个程序,此处应该用break来终止循环吧。其他地方的exit也是如此,建议自己定义个错误处理函数来处理。3,add里面 如果从第一个位置加入的话可以么?好像不对吧,你再看看。4,dele里面被free的p根本没有指向怎么能够free掉呢?p应该先指向被free的位置。5,sort里面也有问题啊,另外这个算法好像太复杂啊,开销太大,如果有一个大一点的链表估计机器都爆了。建议多调试调试,debug一下,一句一句的看一下就行了,肉眼很难看出来的,我看了一会累死了。
你给的建议很好,我改了 add第一个位置的确是不可以,为什么呢,我用if()做了处理了啊那个 dele是没问题的 我可以删掉袁术 sort我用了递归 就是先比较出最小的一次下去 好像逻辑上没错啊 但为什么排不了呢
你的这个程序对链表元素的处理基本上都是有问题的.你知道什么是链表,什么是数组么?他们有什么区别?你的思想完全是处理数组的思想!你能把数组的第一个位置的值和第二个位置的值很容易交换,但是你不能交换数组的第一个位置和第二个位置的地址,也就是arrary[0] 和arrary[1] 是变量,&arrary[0] 和&arrary[1]是固定不变的.但是对于链表来说这两者都是可以的.
其他类似问题
按默认排序
其他2条回答
create()中你i没有初始化,而且if(e==-1)exit(-1);当你输入-1结束标识时,会使程序强制结束,而不是结束输入,应该用
好像create()里面,i没有赋初值?
链表的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁C语言:关于用辗转相除法递归求最大公约数,下面的程序有错误,请帮我改一下,谢谢!_百度知道
C语言:关于用辗转相除法递归求最大公约数,下面的程序有错误,请帮我改一下,谢谢!
int gcd(int m,int n){
gcd(m,n);}int main(){
scanf(&%d%d&,&a,&b);
int result=gcd(a,b);
printf(&%d\n&,result);
return 0; }
提问者采纳
你好。你的递归函数里在递归调用时忘记return了。应该是return gcd(m,n);下面是改过的代码。我在代码里加了些注释。#include&stdio.h&int gcd(int m,int n){
//若m&n,交换m,n
//如果n==0,m为最大公约数,否则递归
return gcd(m,n);//递归是要return的,此处漏了 }int main(){
scanf(&%d%d&,&a,&b);
int result=gcd(a,b);
printf(&%d\n&,result);
return 0; }
提问者评价
谢谢你了,直到现在我才知道实现递归要用return
其他类似问题
#include&stdio.h&int gcd(int m,int n){
gcd(m,n);}int main(){
scanf(&%d%d&,&a,&b);
int result=gcd(a,b);
printf(&%d\n&,result);
getchar();
return 0; }int fun2(int x,int y,int z){}int fun3(int x,int y,int z){}
按默认排序
其他2条回答
这是两个算法的代码,主函数main()自己写,很简单 。int gcd(int x,int y) //辗转相除法求最大公约数{do{z=x%y;x=y;y=z;}while(z!=0);}int gcd(int n,int m) {
//这是递归if (n%m==0)elsereturn gcd(m,n%m);}
38,这都不知道,我也不知道
最大公约数的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁运行程序时候遇到错误弹出的报告,各位大大帮我看看是什么意思·_c语言吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:269,358贴子:
运行程序时候遇到错误弹出的报告,各位大大帮我看看是什么意思·收藏
RTLog of MapMaker v2.2.1.0Logging started at:
0:40:13 UTC#################################An exception has occurred.#################################Exception: System.ArgumentOutOfRangeException 0:40:23Message: 索引超出范围。必须为非负值并小于**大小。参数名: indexSource: mscorlibSTACK TRACEVoid ThrowArgumentOutOfRangeException(System.ExceptionArgument, System.ExceptionResource)
在 System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
在 System.ThrowHelper.ThrowArgumentOutOfRangeException()
在 System.Collections.Generic.List`1.get_Item(Int32 index)
在 MapUtility.MapBlock.GetProvinceIdsNewWay(Int32& Offset)
在 MapUtility.MapBlock.EnsureDecompressed()
在 MapEditor.BoundBoxMaker.MakeBoundBoxes()
在 MapEditor.Program.BeginWork(String[] args)
在 MapEditor.Boot.Main(String[] args)
登录百度帐号我的游戏推荐游戏
后查看最近玩过的游戏
为兴趣而生,贴吧更懂你。或谁会c语言?帮我看看嘛侠侠们 修改程序错误(四处错误)_百度知道
谁会c语言?帮我看看嘛侠侠们 修改程序错误(四处错误)
修改面确写#include &stdio.h&main(){c=getchar();putchar('\007');putchar(c);}
其他类似问题
按默认排序
其他1条回答
getchar() 面要写东西
让用户输入2
能输字符串两应该
少<img class="word-replace" src="/api/getdecpic?picenc=0a006c655f号
程序错误的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

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

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信