C语言编程,下图程序中有哪些错误?

作者&投稿:资山 (若有异议请与网页底部的电邮联系)
~ 首先指出程序中的三处错误,第一个是int
m
n中间应该有逗号,第二个是swtich拼写有错误,第三个是打印输入语句printf("x=%d,y=%d",x,y)有误。修正后程序的运行结果是:x=6,y=6。
代码运行结果如下图所示:

程序运行过程解析:
1、完成变量的赋值,其中有x=1,y=1,m=1,n=1。
2、执行第一个switch(m),因为m=1,所以进入case
1分支。在这个分支里,执行第二个switch(n),因为n=1,所以进入case
1分支,运行x=x*2=1*2=2。由于case
1没有break语句,因此继续执行case
2,y=y*2=1*2=2。
3、由于第一个case
1分支也没有break语句,继续执行case
2:x++,y++,执行后的结果是:x=3,y=3。
4、由于case
2分支也没有break语句,因此执行case
3:x*=2,y*=2,执行后的结果是:x=6,y=6。
5、跳出switch语句后打印,输出x和y此时的值,也就是x=6,y=6。
扩展资料:
多分支选择switch语句,
其格式形式为:
switch(表达式){
case
常量表达式1:
语句1;
case
常量表达式2:
语句2;

case
常量表达式n:
语句n;
default:
语句n+1;
}
其语义是:计算表达式的值。
并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时,
即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。
为了避免不断向下执行的情况,C语言提供了一种break语句,专用于跳出switch语句。
在case后的各常量表达式的值不能相同,否则会出现错误。在case后,允许有多个语句,可以不用{}括起来。各case和default子句的先后顺序可以变动,而不会影响程序执行结果。default子句可以省略不用。

c语言编程题:输入10个数存放在一个数组中,输入一个数存入x中,然后找出...
答:假定是 int 型,程序如下:include <stdio.h> int main(){ int y[10],x,i;printf("input 10 int data\n");for (i=0;i<10;i++) scanf("%d",&y[i]);printf("input x \n");scanf("%d",&x);printf("locations:\n");for (i=0;i<10;i++) if (y[i]==x)printf("%d ...

急急急,求大神解答下图第二条C语言编程题目。
答:t题目2| 编写一个函数完数(perfect0) 该函数有一个整数参数 如果该参数的因子之和等于该数 则返回1 否则返回0 编写一个主函数调用该函数perfect() 测试2-100间那些数是完数 并将他们一个个输出 题目3 编写一个完整c语言程序 提示用户从键盘输入该学生平时成绩 考试成绩 按照对应比例30%,70%...

C语言编程“Hello,world”应该怎们弄
答:2、然后点击上图工具栏中的文件,里面有个新建菜单,然后我们可以设置一下我们的工作空间,如下图所示:3、接下来,再点击工具栏下的文件,里面有个新建菜单,点击它,出现下图的对话框:4、点击确定即可,创建出一个helloworld.c的小程序,然后我们就可以编写我们的Hello World小程序了。此时就需要我们...

C语言编程 以下程序求出两个整数中较大的数,请填空 谢谢!!
答:while(r!=0){m=n;n=r;r=m%n;} gcd=n;使用的是辗转相除法,算法描述: m对n求余为r, 若r不等于0 则 m <- n, n <- a, 继续求余 否则 n 为最大公约数 ,最小公倍数 = 两个数的积 / 最大公约数

用C语言将下图中的每行每列中的数据读入程序中,求大神求大神!!!_百...
答:你试试这个。比较麻烦的是 最后一个里面 有个#的前缀,这里用了一个通配符把它去掉了。代码如下:include <stdio.h>typedef struct {char num[20];int x,y,z,index;}DATA;DATA d[1000];int main(){FILE *fp;int i, n = 0;fp = fopen("in.txt", "r");if(fp == NULL){printf("...

C语言编程求满足x<y<z条件下x² y² z²=55²有多少组整数解...
答:我们可以用C语言编写一个程序来求解这个问题。具体思路如下:根据题目条件,我们需要找出满足x<y<z的三个整数,使得它们的平方和等于55的平方。由于x、y、z均为正整数,因此我们可以枚举x、y、z的取值范围(比如从1到30),并在其中寻找符合条件的解。对于每组可能的解,我们可以计算它们的平方和,并...

C语言编程,写一个函数,使输入的一个字符串按反序存放,在主函数中输入和...
答:gets(str); //从键盘中输入一个字符串(遇回车键结束)printit(str,strlen(str)); //调用上面定义的函数反序输出字符串 printf("\n"); //输入一个回车换行符,使后续输出能另起一行 return 0;}

C语言编程:编写一个程序,该程序的功能:去掉一个程序中的所有注释,如...
答:这个程序可以实现对于注释//---的一行内容进行删除。但对于/ /还不能实现。程序中有两点错误:1,字符'\'要写成转义符 2,while条件不正确 对程序修改如下:include include include include void main(){ char ch,ch3;char ch1;char ch2;FILE r;FILE w;r=fopen("f:\\a.txt","r");w=...

c语言编程题,程序功能: 建立一个链表,每个结点包括:学号、姓名、性别...
答:struct student *creat(int a){ struct student *head;struct student *p1,*p2;head=NULL;for(n=0;nnum,p1->name,p1->sex,&p1->age); //这里改成空格才可以保证name sex正确输入!!if(n==0) head=p1;else p2->next=p1;p2=p1;} p1->next=NULL;return(head);} int main(){ str...

C语言程序编程
答:10.include<stdio.h> main(){ int i,x,y,z;printf("所有的水仙花数为:\n");for(i=100;i<1000;i++){ x=i/100;y=i/10%10;z=i%10;if(i==x*x*x+y*y*y+z*z*z)printf("%5d",i);} printf("\n");}