大神啊!帮帮忙!不会要挂科啊!用c语言次方编写一个求三次方的函数,并在主函数中调用该函数求变量x,y三

本人用C语言写了一个猜拳游戏,运行结果如图:求大神解释如何修改才能使使用第二个主函数时结果正常?本人用C语言写了一个猜拳游戏,运行结果如图:求大神解释如何修改才能使字符型的do.while判断语句符合要求(第二个主函数).运用第一个主函数时的运行结果:运用第二个主函数时的运行结果:代码如下:#include&stdio.h&#include&time.h&&int&User_Choice(){&&&&int&u;&&&&do&&&&{&&&&&&&&printf(&请出拳(1-石头,2-剪刀,3-布):&);&&&&&&&&scanf(&%d&,&u);&&&&&&&&switch(u)&&&&&&&&{&&&&&&&&&&&&case&1:printf(&你出的是石头!\n&);&&&&&&&&&&&&case&2:printf(&你出的是剪刀!\n&);&&&&&&&&&&&&case&3:printf(&你出的是布!\n&);&&&&&&&&&&&&default:printf(&你的输入有误,请重新输入!\n&);&&&&&&&&}&&&&}while(u&1||u&3);&&&&return&u;}&int&Computer_Choice(){&&&&int&c;&&&&srand(time(0));&&&&c=rand()%3+1;&&&&switch(c)&&&&{&&&&&&&&case&1:printf(&电脑出的是石头!\n&);&&&&&&&&case&2:printf(&电脑出的是剪刀!\n&);&&&&&&&&case&3:printf(&电脑出的是布!\n&);&&&&}&&&&return&c;}&void&Compare(int&c,&int&u){&&&&if((u==1&&&&c==2)||(u==2&&&&c==3)||(u==3&&&&c==1))&&&&printf(&你赢了!\n&);&&&&if((c==1&&&&u==2)||(c==2&&&&u==3)||(c==3&&&&u==1))&&&&printf(&电脑赢了!\n&);&&&&if(u==c)&&&&printf(&你和电脑打平了!\n&);}&&void&main(){&&&&int&c,u;&&&&int&flag=1;&&&&do&&&&{&&&&&u=User_Choice();&&&&&c=Computer_Choice();&&&&&Compare(c,u);&&&&&printf(&还要继续玩吗?(1/0):&);&&&&&scanf(&%d&,&flag);&&&&&if(flag==0)&&&&&}while(flag==1);&&&&printf(&谢谢使用!欢迎下次再玩!\n&);}/*void&main(){&&&&int&c,u;&&&&char&&&&&do&&&&{&&&&&u=User_Choice();&&&&&c=Computer_Choice();&&&&&Compare(c,u);&&&&&printf(&还要继续玩吗?(y/n):&);&&&&&scanf(&%c&,&ans);&&&&&if((ans=='n')||(ans=='N'))&&&&&}while((ans=='y')||(ans=='Y'));&&&&printf(&谢谢使用!欢迎下次再玩!\n&);}*/
楼主请看我的修改运行结果:#include&stdio.h&#include&time.h&int&User_Choice(){\x09int&u;\x09do\x09{\x09\x09printf(&请出拳(1-石头,2-剪刀,3-布):&);\x09\x09scanf(&%d&,&u);\x09\x09switch(u)\x09\x09{\x09\x09\x09case&1:printf(&你出的是石头!\n&);\x09\x09\x09case&2:printf(&你出的是剪刀!\n&);\x09\x09\x09case&3:printf(&你出的是布!\n&);\x09\x09\x09default:printf(&你的输入有误,请重新输入!\n&);\x09\x09}\x09}while(u&1||u&3);\x09return&u;}int&Computer_Choice(){\x09int&c;\x09srand(time(0));\x09c=rand()%3+1;\x09switch(c)\x09{\x09\x09case&1:printf(&电脑出的是石头!\n&);\x09\x09case&2:printf(&电脑出的是剪刀!\n&);\x09\x09case&3:printf(&电脑出的是布!\n&);\x09}\x09return&c;}void&Compare(int&c,&int&u){\x09if((u==1&&&&c==2)||(u==2&&&&c==3)||(u==3&&&&c==1))\x09printf(&你赢了!\n&);\x09if((c==1&&&&u==2)||(c==2&&&&u==3)||(c==3&&&&u==1))\x09printf(&电脑赢了!\n&);\x09if(u==c)\x09printf(&你和电脑打平了!\n&);}void&main(){\x09int&c,u;\x09char&&&&&\x09do\x09{\x09&u=User_Choice();\x09&c=Computer_Choice();\x09&Compare(c,u);\x09&printf(&还要继续玩吗?(y/n):&);\x09&scanf(&%c&,&ans);&//用来接受回车符\x09&scanf(&%c&,&ans);\x09//&while(ans=='\n')&scanf(&%c&,&ans);&//这里主要用来接受回车键\x09&if((ans=='n')||(ans=='N'))&&&&&&&&&&&&\x09}while((ans=='y')||(ans=='Y'));\x09printf(&谢谢使用!欢迎下次再玩!\n&);}/*void&main(){\x09int&c,u;\x09int&flag=1;\x09do\x09{\x09&u=User_Choice();\x09&c=Computer_Choice();\x09&Compare(c,u);\x09&printf(&还要继续玩吗?(1/0):&);\x09&scanf(&%d&,&flag);\x09&if(flag==0)&\x09}while(flag==1);\x09printf(&谢谢使用!欢迎下次再玩!\n&);}楼主可以看看这个:C语言中scanf函数输入回车符的问题&&&&&&&在用c语言编写输入语句的时候常用到scanf函数,初学者在刚用scanf函数输入时,经常会遇到各种各样的输入错误,最重要的是一定要记住scanf函数的输入格式,scanf函数里包含了哪些东西,输入的时候就必须有哪些东西,比如:scanf(&%c%c%c&),那么输入的时候就必须连续输入3个字符,中间不能有任何空格逗号或者回车符等分开,而如果是scanf(&%c,%c,%c&),那么输入3个字符的时候中间就必须用一个逗号分隔.&&&&&&&scanf函数最常用的两种输入方式%d整数输入方式,以及%c字符输入方式.&&&&&&&用%d方式输入整数时,输入一串数字然后按回车符,输入就完成了.而用%c方式输入字符时,就稍微复杂一点.一般来说用%c输入字符时,当输完以后,都习惯按一下回车,这时回车符就成了一个问题.&&&&&&&【例1】:&&&&&&&scanf(&%c&,&a);&/*此时输入一个字符,并按下回车,那么变量a将会正确接收输入的字符*/&&&&&&&scanf(&%c&,&b);&/*但是变量b将会接收到回车符,其值为10,或者说ASCII码为10*/&&&&&&&【例2】:&&&&&&&&scanf(&%d&,&x);&/*此时输入一串数字并回车,变量x将正常接收到输入的整数*/&&&&&&&&scanf(&%d&,&y);&/*变量y不会接收到回车符,需要用户继续输入数字,并回车,正常接收到整数*/&&&&&&&【例3】:&&&&&&scanf(&%d&,&x);&/*此时输入一串数字并回车,变量x将正常接收到输入的整数*/&&&&&&&&scanf(&%c&,&a);&/*但是变量a将会接收到回车符,其值为10,或者说ASCII码为10*/&&&&&&&【例4】:&&&&&&&&scanf(&%d&,&x);&/*此时输入一串数字并回车,变量x将正常接收到输入的整数*/&&&&&&&&scanf(&%d&,&y);&/*若此时输入的是字母而不是数字,比如输入“s”并回车*/&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&/*那么变量y将不会接收到任何字符或数字,其值保持原样,不发生任何改变*/&&&&&&&&scanf(&%c&,&a);&/*此时变量a将接收到上一步输入的字母*/&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&/*即变量a中存储的字符将是&s&,而不是回车符*/&&&&&&&【结论】:&&&&&&&&当输入完整数或字符时,后面还需要输入字符时,为了避免输入的字符变成回车符,可以在输入字符前多加一条scanf语句来吃掉前面的回车符.此时用来吃掉回车符的scanf输入可以用%c方式,也可以用%d方式.当用%c方式来吃掉回车符时,回车符被读进了char类型变量中,当用%d方式来吃掉回车符时,回车符并没有被送进int类型变量中,而是在异常的字符输入后,被自动清除了.&&&&&&&&&&*/
为您推荐:
其他类似问题
扫描下载二维码求一道C语言程序,大神们,期末到了,不想挂科啊,帮帮忙啊。。。。不尽感激。。。_百度知道
求一道C语言程序,大神们,期末到了,不想挂科啊,帮帮忙啊。。。。不尽感激。。。
输出到一个新文件C中,要求把这两个文件中的信息合并(按字母顺序排列),各存放一行字母有两个磁盘文件A和B
提问者采纳
&quot,a);r&/&#47,和2,该文件的目录下有1;int main(){ int i.txt&))==NULL) /,j;2;),100只是一个范围而已
fgets(b;w&))==NULL) {
printf(&);
s[j]=s[j+1];stdio,fp3);\ fclose(fp3); if((fp1=fopen(&quot,*fp2;
s[j+1]=c; } fgets(a;);;))==NULL) {
printf(& return 0#include &
exit(0);s[j+1])
c=s[j];就结束.txt& strcpy(s; fclose(fp2);遇到'
exit(0),&.txt的数据取出排序后放到了3;/ } if((fp3=fopen(&quot,100;/j&lt!&quot.txt&quot.txt和2,&/stdlib.txt,c;将1;r& } if((fp2=fopen(&quot!&i++)
for(j=0;i&将a的内容复制到s中 strcat(s;0'后;0'
exit(0).h& char a[100]={0};//(int)strlen(s)-1.h&
} fputs(s;/\&#47.txt {
printf(&j++)
if(s[j]&gt.h&gt,fp2),fp1),100,s[200]={0},b[100]={0},*fp3;3!&(int)strlen(s)-i-1;1; FILE *fp1;注意要保证;#include &lt,上面两条语句即将a和b合并后存放在s中 for(i=0;将b的内容接在s中的'#include &lt,b).txt
fclose(fp1)
提问者评价
其他类似问题
为您推荐:
您可能关注的推广
c语言程序的相关知识
其他2条回答
将两个文件都读取大内存中.然后排序然后将排序后的数据写入到文件C中
open()文件
读取里面的数据然后排序 不就ok了 字母排序 可以 通过 asiic码判断大小
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁共有 887 人关注过本帖
标题:大神 帮忙解决下c函数里代码的重用问题
等 级:新手上路
&&问题点数:0&&回复次数:10&&&
大神 帮忙解决下c函数里代码的重用问题
求助 本人在使用一个软件编程时(51单片机) 想把程序模块化处理 结果总是各种重复定义 未定义 以及打开.c文件失败之类的错误
请有经验的大神帮忙 我该怎么编写底层函数 .h和.c 文件里如何编写 错误才最少呢
下面是我的函数:
运行结果总是各种未定义 求大神帮帮忙&&主函数我还没弄
//Timer.c 文件函数
#include &reg52.h&
#include &MACROANDCONST1.h&
#define LED P1
#define LED_ON() LED=0x00;
#define LED_OFF() LED=0
#define LED_PWM_LIMIT_MAX 99
#define LED_PWM_LIMIT_MIN 0
static uint8 s_u8TimCounter=0;
static uint8 s_u8LedDirection=0;
static int8 s_u8LedPWNCounter=0;
void Timer0Init(void)
&&& TMOD&=0xf0;
&&& TMOD|=0x01;
&&& TL0=0x47;
&&& TR0=1;
&&& ET0=1;
void Time0Isr(void) interrupt 1
&&& static int8 s_s8PWMCounter=0;
&&& TH0=0xf0;
&&& TL0=0x47;
&&& if(s_u8TimeCounter++&=100)
&&&&&&&&s_u8TimeCounter=0;
&&&&&&&&if((s_s8LedPWMCounter&=LED_PWM_LIMIT_MAX)&&(0==s_u8LedDirection))
&&&&&&&&&&&&s_s8LedPWMCounter++;
&&&&&&&&&&&&if(s_s8LedPWMCounter&LED_PWM_LIMIT_MAX)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&& s_u8LedDirection=1;
&&&&&&&&&&&&&&& s_s8LedPWMCounter=LED_PWM_LIMIT_MAX;
&&&&&&&&&&&&&&& }
&&&&&&&&&&&& }
&&&&&&&&if((s_s8LedPWMCounter&=LED_PWM_LIMIT_MIN)&&(1==s_u8LedDirection))
&&&&&&&&&&&&s_s8LedPWMCounter--;
&&&&&&&&&&&&if(s_s8LedPWMCounter&LED_PWM_LIMIT_MIN)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&& s_u8LedDirection=0;
&&&&&&&&&&&&&&& s_s8LedPWMCounter=LED_PWM_LILMIT_MIN;
&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&& }
&&&&&&&&&&&&s_s8PWMCounter=s_s8LedPWMC
&&&&&&&&&&&&}
&&&&&&&&if(s_s8PWMCounter&0)
&&&&&&&&&&&&LED_ON();
&&&&&&&&&&&&s_s8PWMCounter--;
&&&&&&&&&&&&}
&&&&&&&&& else
&&&&&&&&& {
&&&&&&&&& LED_OFF();
&&&&&&&&& }
&&&&&&&&&}
//MacroAndConst.h文件函数:
#ifndef _MACRO_AND_CONST_H_
#define _MACRO_AND_CONST_H_
typedef unsigned int uint16;
typedef unsigned int UINT;
typedef unsigned int UINT16;
typedef unsigned int WORD;
typedef int&&&&&&&&&&&& int16;
typedef int&&&&&&&&&&&& INT16;
typedef unsigned long uint32;
typedef unsigned long UINT32;
typedef unsigned long DWORD;
typedef long&&&&&&&&&&&int32;
typedef long&&&&&&&&&&&&INT32;
typedef signed char&&&int8;
typedef signed char&&&INT8;
typedef unsigned char BYTE;
typedef unsigned char UINT8;
typedef unsigned char uint8;
typedef unsigned char BOOL;
[ 本帖最后由 雷江 于
00:04 编辑 ]
搜索更多相关主题的帖子:
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2779
专家分:6060
这个议题太大了吧?
你这个问题,我觉得就跟怎么生活才幸福是一个类型的,尼玛,没法说啊
[ 本帖最后由 peach5460 于
09:56 编辑 ]
我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
等 级:贵宾
威 望:304
帖 子:25793
专家分:48814
平时不学习、不训练,做综合性课题时知道麻烦大了吧。满足于做点对点习题的学生要引以为戒了。
授人以渔,不授人以鱼。
等 级:贵宾
威 望:304
帖 子:25793
专家分:48814
写程序,谁都是祈求只写一次,不要做重复劳动,代码的可重用性不好,自己看着都不舒服,不解决这种问题,越写得多,类似功能的代码段版本越多,越不知怎么整理和该重用哪个。看坛上的学生,冒泡和求最大值之类的函数,写了一次又一次,把所有功能代码都挤在main()中,即使写了一点函数,分解也不科学,都不知道怎么从来没人教的。
楼主有这个意识,其实是很难得的,总算是写过一大批代码的人,才会意识到这个问题。那些只求混文凭的,绝对没这种觉悟。
[ 本帖最后由 TonyDeng 于
13:48 编辑 ]
授人以渔,不授人以鱼。
等 级:新手上路
回复 2楼 peach5460
现在我遇到的这个问题 怎么说呢 其实就是头文件不会写 反复的查找资料我还是没有头绪 这方面的内容课堂上几乎没讲过 现在面临一些复杂的 近千行的代码很无奈啊
等 级:新手上路
回复 4楼 TonyDeng
是啊 我现在大三 是真心想做点东西 马上就快毕业了 也不打算考研 真心觉得大学里不自己做点东西 真的是在浪费生命啊
&非常感谢你 无论怎么说
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2779
专家分:6060
你这是在C板块,我不太知道怎么说。如果是C++的话,面向对象有开放封闭选择,单一职责,里氏替换原则等等六大原则。写代码的时候尽量设计得低藕内聚,这是一个长期的积累过程!
我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
等 级:青峰侠
帖 子:388
专家分:1722
对。高内聚,对外地接口尽量少
头文件写的时候加个防重包含,需要被外调用的,东西就放头文件里,
等 级:贵宾
威 望:304
帖 子:25793
专家分:48814
头文件并不重要,头文件只是“头”的一个微小部分,头中的代码实现模块才是重点,这就是模块化设计的概念,要管理组织好代码,依据不同的功能划分模块,封闭管理,头文件只是这些模块向外公开的接口声明,模块做好了,头文件是自然就有的。
授人以渔,不授人以鱼。
等 级:新手上路
回复 9楼 TonyDeng
您说的不错 可是现在我的问题就在这里 编译后很多变量没有定义 这是头文件的问题 程序中MacroAndConst.h是做好的一些变量形式的声明 我在Timer里调用是没有成功的 这到底是怎么回事呢
版权所有,并保留所有权利。
Powered by , Processed in 0.042312 second(s), 8 queries.
Copyright&, BCCN.NET, All Rights Reserved用C语言编写函数:求一批整数中最大值和最小值的差。_百度知道
用C语言编写函数:求一批整数中最大值和最小值的差。
(e-1),&a[i]),max_main(a[];int main(){
int a[10];
return 0;int max_main(int a[];i++)
scanf(&e++)
if(a[e+1]&
for(i=0.h&and p),还想知道数组在声明!;10;e&
min=a[0];%d&quot,int e){
max=a[0]。以下是我的程序;
return(t);n &quot我刚刚接触编程这一块;
t=max-min!#include &lt。希望得到解答,请求帮助;,很多知识并不是很能够理解;i&a[e])
max=a[e+1];
printf(&quot,min !:&#92。此外,调用等方面的使用方法;%d&
if(a[e+1]&printf(&quot,max!;a[e])
min=a[e+1];,10)),希望得到编程大神的帮助
提问者采纳
min=a[0];i++)
if(a[i]&gt,int e){
int i=0,不管是max_main(int a[];);e++)这句有问题,10));}首先你的函数,e&10;max)
max=a[i];;
t=max-and please input
numbers,max_main(a.h&(e-1);
max=a[0];i&lt#include &lt,&a[i]),int e)还是main函数都缺少“{}”;
return(t),i++)
printf(&quot,max:\e&%d&
int i,其次
for(e=0;}int main(){
int a[10];
for(i=0;,n=10;int max_main(int a[];
return 0;printf(&%d&min)
min=a[i];e;
if(a[i]&e-1?这不可能吧;int t
提问者评价
我刚入手,很多方面不明白,非常谢谢你,
其他类似问题
为您推荐:
其他2条回答
你这个不行
不要a[e+1]和a[e] 比
要分别拿啊a[e]和max、min比大小
比max大的赋给max
比min小的赋给min
还是有错,显示printf的]有错能帮我解答一下么
要用英文的符号
你的问题到底是什么
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁编写一函数,用选择法对n个数按从大到小的顺序排序,在主函数调用该函数并输出排序后的数._百度知道
编写一函数,用选择法对n个数按从大到小的顺序排序,在主函数调用该函数并输出排序后的数.
神们 。明天C语言考试
{ int&(j&=&{
a[i]&a[j])&nbsp.i,&&=&&nbsp,&;i)&nbsp.min&temp&j&a[i];j; for(i&/zhidao/wh%3D450%2C600/sign=fd8065413cdbb6fd250eed223c14872e/b58f8c5494eef01ffe://e.com/zhidao/pic/item/b58f8c5494eef01ffe;0;{
min&1;选择排序后的数组为&1;&{
} } printf(&=&(i&a[min];=&&&
a[min]&0;&+&i++)&+&%&nbsp.jpg" target="_blank" title="点击查看大图" class="ikqb_img_alink"><img class="ikqb_img" src="&nbsp!=&&quot.5://e;&lt.h&(i&&}<a href="5;4;i++)& } for&); }}void&=&&/zhidao/wh%3D600%2C800/sign=7e41ea7e1ed5ad6eaaac6cecb1fb15e3/b58f8c5494eef01ffe;j;a[i]);(a[min]&nbsp.i&i&rand()&=&
if&100&&&%d\t&&nbsp.jpg" esrc="0;void&&{
int&=&5;i.baidu:&nbsp.=&;&=&&{
int&nbsp://e;j++)&&i&i&=&i++){
printf(&main(){ dis(),&(min&dis()&;a[5]#include&lt
来自团队:
其他类似问题
为您推荐:
主函数的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 c语言10的n次方 的文章

 

随机推荐