条件结构的实例-水仙花数、猜拳游戏、回文数字

1.判断输入的数是否为水仙花数


int num,ge,shi,bai,he;  //声明变量

printf("请输入三位数");  //由用户输入一个三位数

scanf("%d",&num);   //将用户输入的数字保存给num

//用户输入的数=个位的三次方+ 十位数的三次方+ 百位数的三次方

//1.从num获取个位

ge=num%10;

//2.从num获取十位

shi=num/10%10;

//3.从num获取百位

bai=num/100;

he=ge*ge*ge+shi*shi*shi+bai*bai*bai;

if(he==num)

{

  printf("%d是水仙花数:",num);

}

else

{

  printf("%d不是水仙花数:",num);

}

2.实现猜拳游戏: 用户A和用户B分别输入要出的拳(0:剪刀,1:石头,2:布)


int userA,userB;  //声明变量

//打印菜单

printf("******************************************\n");

printf("*******************猜拳游戏**********************\n");

printf("******************************************\n");

//1.分别获取用户A和用户B所出的拳

printf("请1号选手出拳:0代表剪刀,1代表石头,2代表布\n");

//由用户出拳并保存给userA,&取地址(赋值)

printf("请用户A出拳:\n");

scanf("%d",&userA);

//由用户出拳并保存给userB,&取地址(赋值)

printf("请用户B出拳:\n");

scanf("%d",&userB);

//2.根据用户A和用户B所出的拳进行比较

//用户A胜==>(用户A:0(剪刀)&&用户B:2(布));(用户A:1(石头)&&用户B:0(剪刀));(用户A:2(布)&&用户B:1(石头))

if((userA==0&&userB==2)||(userA==1&&userB==0)||(userA==2&&userB==1))

{

printf("恭喜用户A获胜~~~~~~~~~~\n");

}

//平局==>用户A==用户B

if(userA==userB)

{

printf("真衰,平局~~~~~~~~~\n");

}

//用户B胜==>(用户A:0(剪刀)&&用户B:1(石头));(用户A:1(石头)&&用户B:2(布));(用户A:2(布)&&用户B:0(剪刀))

if((userA==0&&userB==1)||(userA==1&&userB==2)||(userA==2&&userB==0))

{

printf("恭喜用户B获胜~~~~~~~~~~\n");

}

3.判断输入的5位数字是否是回文数字:46564


int num,ge,shi,qian,wan;

printf("请输入一个五位数:");

scanf("%d",&num);

//判断是否为5位数

if(num>=10000&&num<=99999)

{

//获取个位,十位,千位,万位

  ge=num%10;//个位

  shi=num/10%10;//十位

  qian=num/1000%10;//千位

  wan=num/10000;//万位

  if((ge==wan)&&(shi==qian))

    {

      printf("%d是一个回文数!",num);

    }

  else

    {

      printf("%d不是一个回文数!",num);

    }

}

else

  {

    printf("您输入的数字不是5位数,请重新输入!");

  }

 

时间: 2024-08-02 10:59:56

条件结构的实例-水仙花数、猜拳游戏、回文数字的相关文章

JS 1000以内的水仙花数 (三位数 各个数字的立方和等于本身 例如 1*1*1 + 5*5*5 + 7*7*7 = 157)

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> </body> </html> <script type="text/javascript"> for(i=100;i<1000;i++){ var a = par

C实例--判断一个字符串是否是回文数

回文是指顺读和反读内容均相同的字符串,例如"121","ABBA","X"等.本实例将编写函数判断字符串是否是回文. 引入两个指针变量,开始时,两个指针分别指向字符串的首末字符,当两个指针所指字符相等时,两个指针分别向后和向前移动一个字符位置,并继续比较,直到两个指针相遇,说明该字符串是回文,如果比较过程中发现两个指针指向的字符不相等,则判断该字符串不是回文. 下面是代码的实现部分: #include <stdio.h> #inclu

在学会循环结构语句时就可以写的一个猜拳游戏小项目

package com.etc.for2; import java.util.Scanner; /** * 猜拳游戏规则: * 人或机器可以随机出石头.剪刀.布, * 若一方出石头,另一方出剪刀,则输出打印出石头方获胜, * 若一方出石头,另一方出布,则输出打印出布方获胜, * 若一方出布,另一方出剪刀,则输出打印出剪刀方获胜, * */ public class TestCaiQuan { public static void main(String[] args) { Scanner sc=

实例013:所有水仙花数

100个不同类型的python语言趣味编程题 题目 打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方. 程序分析 利用for循环控制100-999个数,每个数分解出个位,十位,百位. for i in range(100,1000): s=str(i) one=int(s[-1]) ten=int(s[-2]) hun=int(s

C语言之运算符和条件结构

表达式:是有操作数和运算符组成的. 操作数:常量.变量.子表达式 X=(x+2)*(y-2); 运算符: 赋值运算符:= .其作用是做赋值运算,将等号后边的值赋值给等号前边的. 复合赋值运算符: +=,-=,*=,/=,%= Eg: x+=5 :x=x+5; //复合运算符 int x=10; printf("%d\n",x+=5);//x=x+5;==>x=15 printf("%d\n",x-=5);//x=x-5;==>x=10 printf(&q

运算符和条件结构

表达式:是有操作数和运算符组成的. 操作数:常量.变量.子表达式 X=(x+2)*(y-2); 运算符: 赋值运算符:= .其作用是做赋值运算,将等号后边的值赋值给等号前边的. 复合赋值运算符: +=,-=,*=,/=,%= //复合运算符 int x=10; printf("%d\n",x+=5);//x=x+5;==>x=15 printf("%d\n",x-=5);//x=x-5;==>x=10 printf("%d\n",x*

如何用C#寻找100到999的所有水仙花数?

首先解释一下何为水仙花数:水仙花数只是自幂数的一种,严格来说是三位数的个位.十位.百位的3次幂数相加等于原来的数字,称为水仙花数.(例如:1^3 + 5^3+ 3^3 = 153) 那么如何通过C#语句来解决这个问题呢? 分析:想要找到百位的水仙花数,要解决的问题由两个,第一个是如何让计算机正确分离出百位数的个位.十位.百位的数字.第二个是如何将其不断循环让100到999都能经过检验. 第一个问题:将这个数值类型定义为整型int(这种数据类型的数字是没有小数点的) 最高位数字--对100整除,则

筛选水仙花数

//水仙花数--个位的平方+十位的平方+百位的平方(等于==)该三位数 #include<stdio.h>int main(){ int ge,shi,bai; //从100开始筛选for(int i=100;i<1000;i++){ ge=i%10; shi=i/10%10; bai=i/100%10; if(a==ge*ge*ge+shi*shi*shi+bai*bai*bai){//水仙花数的判断条件 //输出 printf("%d\t",i); }} retu

51NOD 1016 水仙花数 V2(打表)

传送门 水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身.(例如:1^3 + 5^3 + 3^3 = 153,1634 = 1^4 + 6^4 + 3^4 + 4^4). 给出一个整数M,求 >= M的最小的水仙花数. Input 一个整数M(10 <= M <= 10^60) Output 输出>= M的最小的水仙花数,如果没有符合条件的水仙花数,则输出:No Solution Input示例 300 Output示例 370 解题思路: