第5次上机作业

任务1:分析下面的例子,给出z和w的计算值、说明为什么?
#include<stdio.h>
int main()
{
int z,w,x=2,y=5;
z= (x+3,y++,x++);
w = (x++,x+3,x+7);
printf("%d\n%d\n",z,w);
}


说明:x++表示为 x与x+1两步,在Z的表达是中先输出x,x再加一,所以最后的表达式其实是x,所以为2

           w最后的表达式是x+7,从上之下的程序中出现x++两次,所以到w最后表达式时x=4,所以w=11.

 

 任务2:自行设计一个程序,程序须运用switch语句。要求有一定技术含量!

 

#include<stdio.h>
int main()
{
 int a,b=1;
 while(b)
 {
	 printf("请选择语言:中文1,日本語2,English3,Pinyin4 \n");
	 scanf("%d",&a);
	 switch (a)
	 {
	 case 1:printf("你好!\n");  break;
	 case 2:printf("こんにちは!\n");  break;
	 case 3:printf("HELLO!\n");   break;
	 case 4:printf("nihao!\n");   break;
	 default:printf("sorry,we don't offer that language\n");
	 }
	 printf("是否继续:1继续/0结束\n");
	 scanf("%d",&b);
 }
}


#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
	int a[10];
	int b[5];
	int c=1,d=0,f;
	double e,z;
	srand(time(0));
	printf("让我们玩个简单的算术游戏,越快的时间内完成越好!准确率也要高噢!\n");
	while(c)
	{
	for(int i=0;i<10;i++)
	{
		a[i]=rand()%501+1;
	}
	
	clock_t x,y;
	srand(time(0));
	printf("准备好了吗?\n");
	system("pause");
	x=clock();
	for(int n=0;n<5;n++)
	{
	printf("第%d题:%d+%d=? ",n+1,a[n],a[n+5]);
	scanf("%d",&b[n]);
	if(a[n]+a[n+5]!=b[n])
	{
		printf("这都错了\n\n");
		d++;
	}
	else
		printf("答对了!\n\n");
	}
	y=clock();
	printf("游戏结束!\n");
	printf("做错了%d题\n",d);
	z=((double)y-x)/1000;
	printf("所用时间为:%.2f\n",z);
	printf("做错一题加6s\n");
	e=z+6*(double)d;
	printf("所以最终时间为%.2lf\n",e);
	if(e<=10.0)
	{
		f=1;
	}
	if(e<10.0&&e>=20.0);
	{
		f=2;
	}
	if(e>20.0&&e<=30.0)
	{
		f=3;
	}
	if(e>30.0)
	{
		f=4;
	}
	switch(f)
	{
	case 1:printf("准确率又高,速度又快阿!\n");break;
	case 2:printf("哎哟,还不错噢!\n");break;
	case 3:printf("还需要多多努力阿!\n");break;
	case 4:printf("我就不吐槽你了。。。\n");break;
	}
	printf("是否再玩一次:是/否(1/0)\n");
	scanf("%d",&c);
	}
}



任务3:  自行设计一个程序,程序须运用break和continue语句。要求有一定技术含量!

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
	int a,b,c=1;
	srand(time(0));
	printf("let's guess a number!\n\n");
	
	b=rand()%6+1;
	while(c)
	{
	while(1)
	{
		printf("please put in a number between 1-6\n\n");
		scanf("%d",&a);
		if(a!=b)
		{
			printf("you are wrong!\n");
			continue;
		}
		else
			break;
	}
	printf("you are right!\n\n");
	printf("play again?\n");
	printf("yes/no 1/0\n");
	scanf("%d",&c);
	}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值