#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类型,//(也不能为一个字符串)。
参考资料:
#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程序,实现输入年份,月份,显示该月天数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)