深圳大学-电信院-C程序设计实验-运算符的运用与格式化输出

实验目的

一、 更进一步熟悉和掌握运算符的使用方法和格式化输出的方法。
二、 熟悉和掌握C语言中的随机数函数:rand() 和随机数种子点函数:srand();

实验要求

实验完成后,将每个程序及程序的运行结果依次拷贝到一个word文档中,统一形成一个.doc文档后提交至Blackboard,文档名可用你的姓名+你的学号。

实验内容

程序一

(第一个程序)编写一个C程序完成以下功能:输入任意一个4位十进制,计算并输出其每位数字相加的结果。(假如输入的是4567,则每位数字相加的结果为4+5+6+7=22)。
程序的具体要求如下:
1) 能从键盘读入一个整形数;
2) 计算输入整形数的千位、百位、十位和个位上的数字相加的结果;
3) 在屏幕上显示相加的结果。

程序一代码

#include <stdio.h>
int main() {
	int sum;
	scanf("%d", &sum);
	int ge = sum % 10;
	int shi = (sum / 10) % 10;
	int bai = (sum / 100) % 10;
	int qian = sum / 1000;
	printf("%d", ge + shi + bai + qian);
	return 0;
}

程序一结果在这里插入图片描述

程序二

完成下面程序“…”中的内容(填写格式控制符,且一个…只允许填写一个格式控制符)

#include <stdio.h>
void main ( )
{
  int a=12,b=132,c=-7891;
  float d=25.678,e=-345.45,f=8.9678;
  char ch0='A',ch1='B',ch2='C';
  
  printf("012345678901234567890123\n");

  printf("...;...;...;\n",a,b,c);
  printf("...;...;...;\n",d,e,f);
  printf("...;...;...;\n",ch0,ch1,ch2);

  printf("...;...;...;\n",a,b,c);
  printf("...;...;...;\n",d,e,f);
  printf("...;...;...;\n",ch0,ch1,ch2);

  printf("...;...;...;\n",a,b,c);
  printf("...;...;...;\n",ch0,ch1,ch2);
};

填写好的程序要能输出以下内容

在这里插入图片描述

程序二代码

#include <stdio.h>
void main()
{
	int a = 12, b = 132, c = -7891;
	float d = 25.678, e = -345.45, f = 8.9678;
	char ch0 = 'A', ch1 = 'B', ch2 = 'C';

	printf("012345678901234567890123\n");

	printf("%7d;%8d;%6d;\n", a, b, c);
	printf("%7.1f;%8.3f;%6.2f;\n", d, e, f);
	printf("%7c;%8c;%6c;\n", ch0, ch1, ch2);

	printf("%-7d;%-8d;%-6d;\n", a, b, c);
	printf("%-7.1f;%-8.3f;%-6.2f;\n", d, e, f);
	printf("%-7c;%-8c;%-6c;\n", ch0, ch1, ch2);

	printf("%+07d;%+08d;%+06d;\n", a, b, c);
	printf("%07c;%08c;%06c;\n", ch0, ch1, ch2);
};

程序二结果

在这里插入图片描述

程序三

编写一个模拟两个人投掷骰子,比大小的程序。
具体要求如下:
1)生成1-6之间的一个随机数。为了使随机数更随机,可以使用随机数初始化函数srand(),注意:一个程序中srand()函数只能使用一次。
模拟掷骰子的程序段参考如下:
srand( (unsigned)time( NULL ) );
printf(“\n请掷骰子(按Enter键)”);
getchar();
num1 = rand( ) % 6 + 1;
printf(“\n您掷的骰子点数是 %d \n”,num1);
为了使上面一段程序能够正常编译连接,在程序开始应该包含下面的头文件:
#include “stdlib.h”
#include “time.h”

2)在程序运行时提示您按ENTER 键(模拟掷骰子)。
在你按ENTER 键后,生成第一个随机数,并进行显示;
之后提示你第二次掷骰子(按ENTER 键),在你按ENTER 键后,生成第二个随机数,并进行显示。
可以利用 getchar() 函数等待按下 ENTER。注意在需要时使用函数 fflush(stdin) 清除键盘缓冲区
3)使用if else 转移控制语句判断两次生成的随机数的大小,分别根据不同情况输出下面的语句之一:
“\nPlayer1 的点数大,Player1 胜出!\n”
“\nPlayer2 的点数大,Player2 胜出!\n”
“\nPlayer1 和 Player2 点数一样大,平局!\n”
4)下面是编译通过后的几个可能的运行结果。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

程序三代码

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(){
	srand((unsigned)time(NULL));
	printf("请Player1掷骰子(按Enter键)\n");
	getchar();
	int num1 = rand() % 6 + 1;
	printf("Player1投出的骰子是%d点\n", num1);
	printf("\n");
	fflush(stdin);
	printf("请Player2掷骰子(按Enter键)\n");
	getchar();
	int num2 = rand() % 6 + 1;![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6cd3dd2ab29f480888d19c4b5b0e09fc.png#pic_center)

	printf("Player2投出的骰子是%d点\n\n", num2);
	if (num1 > num2) {
		printf("Player1点大,胜出!");
	}
	else if (num2 > num1) {
		printf("Player2点大,胜出!");
	}
	else if (num1 == num2) {
		printf("Player1和Player2点数一样大,平局!");
	}
	return 0;
}

程序三结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值