c语言编10道四则运算题
以下代码使用Turbo C做的,不支持汉字
#include<stdio.h> #include<conio.h> #include<math.h> #include<stdlib.h> int Compute(int,int,int); void Print(int); int Compute(int a,int b,int op) { int x,y; scanf("%d",&y); if(op==0) { x=a+b; } else if(op==1) { x=a-b; } else if(op==2) { x=a*b; } else if(op==3) { x=a/b; } if(x==y) return 1; else return 0; } void Print(int flag) { if(flag==1) printf("Right! "); else printf("Not correct! "); } void main() { int ia,ib,ic,id,ie,repeat; char iw; ie=0; for(repeat=0;repeat<10;repeat++) { ia=random(10); ib=random(10); ic=random(4); if(ic==0) iw=+; else if(ic==1) iw=-; else if(ic==2) iw=*; else if(ic==3) iw=/; printf("%d%c%d=",ia,iw,ib); id=Compute( ia, ib, ic ) ; Print( id ) ; if(id==1) ie++; } printf("your score is %d ",10*ie); fflush(stdin); getchar(); }
就这些,希望你满意
12. C语言中以下运算符中优先级最低的是:
选C 逻辑或||。
运算符基本的优先级:
指针最优,单目运算优于双目运算。如正负号。
先算术运算,后移位运算,最后位运算。请特别注意:1 << 3 + 2 & 7等价于 (1 << (3 + 2))&7.
逻辑运算最后结合。
扩展资料:
C语言中各运算符的结合性分为两种:左结合性和右结合性。
例如:算术运算符的结合性是自左至右,即先左后右。
如有表达式x-y+z则y应先与“-”号结合,执行x-y运算,然后再执行+z的运算。这种自左至右的结合方向就称为“左结合性”。
而自右至左的结合方向称为“右结合性”。 最典型的右结合性运算符是赋值运算符。如x=y=z,由于“=”的右结合性,应先执行y=z再执行x=(y=z)运算。
C语言运算符中有不少为右结合性,应注意区别,以避免理解错误。
参考资料:
搜狗百科-运算符优先级
c语言怎么用switch语句编写四则运算?
嵌套。检测第一个操作数,运算符,第二个操作数。 当运算符为 除号时,判断除数是否为零。可以看书 谭浩强的《C程序设计》 多看看就懂了。
c语言:“不能在赋值语句中通过赋值运算符‘=’对字符型数组进行整体赋值。”这句话为什么是对的?
char s[5]="asdf";
这句不知是赋值而是初始化;
讲的赋值语道句是在程序执行中的赋值,就像
int a;
int b;
b=a; 这是赋值;
对于字符而言,回要赋答值就要采用strcpy(s1,s2)这个函数。
计算机随机产生10道四则运算题,两个操作数为1 10之间的随机数,运算类型为随机产生的加减乘和整除中的任意一种,不给机会重做,如果学生回答正确,则显示正确,否则显示错误,全部做完后,按每题10分统计总得分,打印总分和学生的回答正确率。若分数低于80分,则重新做10道题,直到回答正
#include<stdio.h> #include<stdlib.h> #include<time.h> void main() { int a,b,i,op,r,c=0;//c表示答对题目数,r记录回答结果 while(c<8) { for(i=0;i<10;i++) { srand(time(0)); a = rand() % 10 + 1; b = rand() % 10 + 1; op = rand() % 4; switch (op){ case 0: printf("%d + %d = ? ",a,b); scanf("%d",&r); if(a+b==r)c++; break; case 1: if(a<b){r=a;a=b;b=r;};//处理了一下避免负数结果的产生 printf("%d - %d = ? ",a,b); scanf("%d",&r); if(a-b==r)c++; break; case 2: printf("%d * %d = ? ",a,b); scanf("%d",&r); if(a*b==r)c++; break; case 3: printf("%d / %d = ? ",b*(a/b),b);//处理了一下避免有余数的情况:) scanf("%d",&r); if(b*(a/b)==r)c++; break; default: break; } } printf("总分为%d,正确率为%d﹪ ",10*c,10*c); if(c<8) printf("未到80分,需重新完成题目 "); } } 这个版本更好一些,hoho
C语言编程求1 + 3 +5+7+ … +n的值,n的值由键盘输入,如果输入的n是偶数,则累加到n 1,n不要参与运算。
void main()
{
int i,n,sum;
sum = 0;
scanf("%d",&n);
if(n%2==0)
n = n -1;
i = 1;
while(i <=n)
{
sum = sum +i;
i =i +2;
}
printf("sum = %d",sum);
}
c语言怎么用switch语句编写四则运算?
#include <stdio.h> void main() { double Num1,Num2; char Operation; printf("请输入你想运算的两个数"); scanf("%lf%lf",&Num1,Num2); printf("请输入运算符(+,-,*,/,%):"); switch(Operation) { case +:printf("%lf%c%lf=%lf",Num1,Num2,Operation,Num1+Num2); case -:printf("%lf%c%lf=%lf",Num1,Num2,Operation,Num1-Num2); case *:printf("%lf%c%lf=%lf",Num1,Num2,Operation,Num1*Num2); case /:printf("%lf%c%lf=%lf",Num1,Num2,Operation,Num1/Num2); case -:printf("%lf%c%lf=%lf",Num1,Num2,Operation,(int)Num1%(int)Num2);//double 型不能取余 } }