首页 > 代码库 > 第六次作业
第六次作业
一、实验内容
1.有一个四位正整数,组成这个四位数的四个数字各不相同,如果把它们的首尾互换,第二位与第三位互换,组成一个新的四位数。原四位数为新四位数的4倍,请找出一个这样的四位数。
#include<stdio.h> int main() { int a,b,c,d,i,t,fresh; { for(i==1000;i<=9999;i++) { a=i/1000; b=(i/100)%10; c=(i/10)%10; d=i%10; fresh=a+b*10+c*100+d*1000; if(i==4*fresh) { printf("%d ",i); } else { continue; } } } return 0; }
2.输入任意一个多位的数字,求各位数字之和。如果在【1,12】之内,则输出与和数字对应的月份的英文名称,否则输出***。
#include<stdio.h> int main() { int a,b=0,sum=0; printf("输入任意一个多位的数字:\n"); scanf("%d",&a); while(a>0) { b=a%10; a=a/10; sum=sum+b; } if(sum==1) { printf("Janurary\n"); } else if(sum==2) { printf("February\n"); } else if(sum==3) { printf("March\n"); } else if(sum==4) { printf("April\n"); } else if(sum==5) { printf("May\n"); } else if(sum==6) { printf("June\n"); } else if(sum==7) { printf("July\n"); } else if(sum==8) { printf("August\n"); } else if(sum==9) { printf("September\n"); } else if(sum==10) { printf("October\n"); } else if(sum==11) { printf("November\n"); } else if(sum==12) { printf("December\n"); } else { printf("***\n"); } return 0; }
3.给定不超过6的正整数A,考虑从A开始的连续4个数字。请输出所有由它们组成的无重复数字的3位数。
#include<stdio.h> int main() { int d=0,x,a,b,c,e,y; printf("输入1—6的整数\n"); scanf("%d",&x); if((x<1)||(x>6)) { printf("error"); } else { y=x+3; for(a=x;a<=y;a++) for(b=x;b<=y;b++) for(c=x;c<=y;c++) if(a==b||b==c||a==c) { continue; } else if(a!=b&&b!=c&&a!=c) { e=a*100+b*10+c; d=d+1; printf("%d",e); if(d%6==0) { printf("\n"); } else { printf(" " ); } } } return 0; }
4.猜拳游戏。
#include<stdio.h> #include<stdlib.h> #include<time.h> int main() { int number=1,x,machine,win=0,lose=0,plain=0; char a; srand(time(NULL)); do{ machine=rand()%3+1; printf("第%d轮对决\n",number); printf("该你出拳了,请选择:1、石头,2、剪刀,3、布\n"); scanf("%d",&x); if((x!=1)&&(x!=2)&&(x!=3)) { printf("数据错误,请重新输入!\n"); } else if(x==machine) { plain++; number++; printf("平局 加油啊!\n"); } else if(x==1&&machine==2) { win++; number++; printf("电脑出的剪刀 你出的石头\n运气真好 你赢了!\n"); } else if(x==2&&machine==3) { win++; number++; printf("电脑出的布 你出的剪刀\n运气真好 你赢了!\n"); } else if(x==3&&machine==1) { win++; number++; printf("电脑出的石头 你出的布\n运气真好 你赢了!\n"); } else if(x==1&&machine==3) { lose++; number++; printf("电脑出的布 你出的石头\n你输了 /(ㄒoㄒ)/~~ \n"); } else if(x==2&&machine==1) { lose++; number++; printf("电脑出的石头 你出的剪刀\n你输了 /(ㄒoㄒ)/~~\n"); } else if(x==3&&machine==2) { lose++; number++; printf("电脑出的剪刀 你出的布\n你输了 /(ㄒoㄒ)/~~\n"); } printf("继续下一轮吗?Y(y)or N(n)\n"); scanf(" %c",&a); } while(a==‘y‘||a==‘Y‘); printf("对决次数:%d,平局%d次,电脑得分%d,你得分%d",number,plain,lose,win); return 0; }
二、知识点总结
1.for循环通常用于计数控制:用专门的循环变量来计算循环次数,循环变量的值在每次执行完循环体各语句后递增,达到预定的循环次数时则终止循环,继续执行循环结构后的语句。
3.for语句中的表达式可以部分省略或者全部省略,但‘;’不能省略。
4.增量运算符遵循从右到左的运算法则,单独使用时,前缀形式和后缀形式的结果相同;但是增量运算符作为表达式的一部分时,前缀形式和后缀形式的执行过程不同。
三、实验总结:
1.循环体中应有使循环趋向于结束的语句。
2.注意赋值和判断等于的区别。
3.当循环为死循环用break,因为break跳出整个循环,而continue跳出本层循环。
4.循环的嵌套:1、三种循环可互相嵌套,层数不限。2、外层循环可包含两个以上内循环,但不能相互交叉。3、嵌套循环的执行流程:外层循环执行一次,内层循环要完成所有循环。
5.循环语句中循环体复合语句时需要加括号循环开始前,需要将计数器变量和变量和乘积变量初始化。
第六次作业
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。