c语言用switch编写一个简单的四则运算程序

c语言用switch编写一个简单的四则运算程序,第1张

#include<stdioh>

int main()

{double a,b,c;

char op;

scanf("%lf%c%lf",&a,&op,&b);

switch(op)

{case '+': c=a+b; break;

case '-': c=a-b; break;

case '': c=ab; break;

case '/': if(b) c=a/b;

else {printf("除数不能为0!\n"); return 0;}

default:{printf("未知的运算符!\n"); return 0;}

}

printf("%g%c%g=%g\n",a,op,b,c);

return 0;

}

/完整程序如下。/

#include <stdioh>

int main()

{

double x;/输入的工资。/

int t;

char c;/临时变量/

scanf("%lf",&x);

t=x/1000;

if(t<0)

puts("数据错误!");

else

{

switch(t)

{

case 0:

c='E';break;

case 1:

c='D';break;

case 2: case 3:

c='C';break;

case 4: case 5:

c='B';break;

default:

c='A';

break;

}

printf("%c\n",c);

}

return 0;

}

/LS的程序错误——例如输入5000会被当成“数据错误”。/

====

[原创回答团]

int y; // year可以随便设定

int m; //month可以随便设定

int d=0; //day设默认

int i=0;

for(i < 2000; i++){

if(y==4i){

switch [m]{

case '2'

return d=29;

break;

case '1'

case '3'

case '5'

case '7'

case '8'

case '10'

case '12'

return d=31;

default: return d=30;

}

}

else{

switch [m]{

case '2'

return d=28;

break;

case '1'

case '3'

case '5'

case '7'

case '8'

case '10'

case '12'

return d=31;

default: return d=30;

扩展质料:

switch语句执行时会从上到下根据括号中表达式的值作比较,当某个case语句中的表达式与此值相同时,就执行这个case语句或语句序列,直到遇到break为止。 break语句是必须有的,它用来结束switch语句的执行。

如果所有case语句后面的表达式都不等于switch语句的表达式expr1的值川0执行default后面的默认语句序列。不过,default部分是可选的。如果没有这一部分,并遇到所有case语句都不匹配,那么,就不作任何处理而进入后续程序段的执行。

可见,一个switch语句可以代替多个if-else语句组成的分支结构,而switch语句从思路上显得更清晰。

使用switch语句时,要注意expr1必须是符合byte,char,short,int类型的常量表达式,而不能用浮点类型或long类型,//(也不能为一个字符串)。

参考资料:

switch-百度百科

#include<stdioh>

#include<stdlibh>

int n = 100;//学生数量

int b[5];//用于各科总分

struct Myclass {

int a[5];//科目成绩

int sum; //总分

float v; //均成绩

char name[10];//姓名 a

} ms[10000];

void inputa(Myclass ms[], int n) {

int sum;

for (int i = 0;i < n;i++) {

//scanf_s("%s", &ms[i]name);

printf_s("请输入学生姓名:");

scanf_s("%s",ms[i]name,9);

//for (int j = 0;j < 4;j++) //测试用随机生成学生名

// ms[i]name[j] = rand() % 26 + 65;

//ms[i]name[4] = '\0';

sum = 0;

printf_s("请输入各科成绩(共5科):");

for (int j = 0;j < 5;j++) {

//ms[i]a[j] = rand() % 101; //测试用随机生成的成绩

scanf_s("%d", &ms[i]a[j]);

b[j] += ms[i]a[j];

sum += ms[i]a[j];

}

ms[i]sum = sum;

ms[i]v = float(sum / 50);

}

}

void outa(Myclass ms[], int n) {

printf_s("姓 名\t科目1\t科目2\t科目3\t科目4\t科目5\t平均分\n");

for (int i = 0;i < n;i++) {

printf_s("%s\t", ms[i]name);

for (int j = 0;j < 5;j++)

printf_s("%3d\t", ms[i]a[j]);

printf_s("%41f\n", ms[i]v);

}

}

void outvge(int b[]) {

printf_s("班平均:\n");

for (int j = 0;j < 5;j++)

printf_s("科目%d: %41f \n", j + 1, 10b[j] / n);

}

void sortvge(Myclass ms[], int n) {

Myclass tt;

for (int i = 0;i < n - 1;i++)

for (int j = i + 1;j < n;j++)

if (ms[j]sum > ms[i]sum) {

tt = ms[j];

ms[j] = ms[i];

ms[i] = tt;

}

}

void action(char c) {

switch (c) {

case 'A':

printf_s("请输入学生数量:");

scanf_s("%d", &n);

inputa(ms, n);

break;

case 'B': outa(ms, n);break;

case 'C':outvge(b);break;

case 'D':sortvge(ms, n);

outa(ms, n);

break;

}

}

int main() {

char c;

while (1) {

printf_s("A:输入全班各门课的成绩\n");

printf_s("B:计算输出每个学生各门课的平均成绩\n");

printf_s("C计算输出各门课全班平均成绩\n");

printf_s("D对全班学生的平均成绩由高到低排序并输出\n");

scanf_s("%c", &c);

action(c);

}

return 0;

}

#include<stdioh> main() { int a,mark; printf("请输入分数mark="); scanf("%d",&mark); a=mark/10; switch(a) { case 10: case 9: printf("成绩等级A");break; case 8: printf("成绩等级B");break; case 7: printf("成绩等级C");break; case 6: printf("成绩等级D");break; case 5: case 4: case 3: case 2: case 1: case 0:printf("成绩等级E");break; } getch(); }

麻烦采纳,谢谢!

switch(表达式)

{

case 常量表达式1:语句1;

case 常量表达式2:语句2;

default:语句;

}

default就是如果没有符合的case就执行它,default并不是必须的。

case后的语句可以不用大括号。

switch语句的判断条件可以接受int,byte,char,short,不能接受其他类型。

一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break,利用这一特性可以让好几个case执行统一语句。

例如:

switch(x)

{

case 1:

case 2:

case3: Systemoutprintln("haha");

break;

case4: Systemoutprintln("hehe");

}

以上就是关于c语言用switch编写一个简单的四则运算程序全部的内容,包括:c语言用switch编写一个简单的四则运算程序、用switch语句编写程序、用switch语句编写JAVA程序,实现输入年份,月份,显示该月天数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9822406.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存