精华内容
下载资源
问答
  • C语言求个位数十位数

    千次阅读 2012-12-11 10:48:03
    关于位数个位数十位数的DEMO 练习基本知识 #include void end_ten_bit_result(int src); int main(void) { int src; printf("请输入一位数:\n"); do { scanf("%d",&src); if ((src=100)) ...

    关于求两位数中个位数和十位数的DEMO

    练习基本知识


    #include <stdio.h>
    void end_ten_bit_result(int src);
    int main(void)
    {
    	int src;
    	printf("请输入一个两位数:\n");
    	do 
    	{
    		scanf("%d",&src);
    		if ((src<=9 || src>=100))
    		{
    			printf("请重新输入,您输入的数不符合要求;\n");
    
    		}
    	} while (src<=9 || src>=100);
    	end_ten_bit_result(src);
    	system("pause");
    	return 0;
    }
    
    void end_ten_bit_result(int src)
    {
    	int end_bit=0;
    	int ten_bit=0;
    	end_bit=src%10;
    	ten_bit=src/10;
    	printf("%d is end_bit\n",end_bit);
    	printf("%d is ten_bit\n",ten_bit);
    }


    展开全文
  • 问题分析互不相同的三位数,可以一位一位的去确定,先确定百位、再确定位、个位,再将各位上的数值进行比较,若互不相同则输出。算法设计1) 利用多重循环嵌套的for语句实现。2) 用三重循环分别控制百位、位、...

    问题描述

    用1、2、3、4共4个数字能组成多少个互不相同且无重复数字的三位数?都是多少?

    问题分析

    求互不相同的三位数,可以一位一位的去确定,先确定百位、再确定十位、个位,再将各位上的数值进行比较,若互不相同则输出。

    算法设计

    1) 利用多重循环嵌套的for语句实现。

    2) 用三重循环分别控制百位、十位、个位上的数字,它们都可以是1、2、3、4。

    3) 在已组成的排列数中,还要再去掉出现重复的1、2、3、4这些数字的不满足条件的排列。

    题目要求最后输出满足条件的数据个数,需要一个变量count充当计数器的作用,有一个满足条件的数据出现计数器的值加1。为了使每行能输出8个数字,每输出一个数字就对count的值进行判断看是否能被8整除,若能整除则输出换行符。

    if (count%8==0)

    printf("\n");

    下面是完整的代码:

    #include

    int main()

    {

    int i, j, k, count=0;

    for(i=1; i<5; i++)

    for(j=1; j<5; j++)

    for(k=1; k<5; k++)

    {

    if(i!=k && i!=j && j!=k) /*判断三个数是否互不相同*/

    {

    count++;

    printf("%d%d%d ", i, j, k);

    if(count%8 == 0) /*每输出8个数换行*/

    printf("\n");

    }

    }

    printf("\nThe total number is %d.\n", count);

    return 0;

    }

    运行结果:

    123  124  132  134  142  143  213  214

    231  234  241  243  312  314  321  324

    341  342  412  413  421  423  431  432

    The total number is 24.

    知识点补充

    上面程序段的效率较低,因为无论i与j的值是否相等,k都要从1〜4把所有值遍历完,根据题目要求只要i与j的值相等,那么k的取值就没必要进行,因为无论k的值是多少,最后组成的三位数中总有相同的数字。对于本题来说,因取值范围较小,所以算法效率的高低相差并不大,但是对于取值范围大的题目,两种算法效率相差是很明显的。

    程序代码改写如下:

    #include

    int main ()

    {

    int i, j, k, count=0;

    for(i=1; i<5; i++)

    for(j=1; j<5; j++)

    for(k=1; k<5 && j!=i; k++)

    {

    if(k!=j && k!=i)

    {

    printf("%d%d%d", i, j, k);

    count++;

    if(count%8==0)

    printf ("\n");

    }

    }

    printf("\nThe total number is %d.\n", count);

    return 0;

    }

    展开全文
  •  给定一个十进制整数,返回其对应的二进制位数。例如,输入进制9,其对应的二进制是1001,因此位数是4。 样例输入 一满足题目要求的输入范例。9 样例输出 与上面的样例输入对应的输出。 数据规模...
    算法训练 6-2递归求二进制表示位数  
    时间限制:10.0s   内存限制:256.0MB
        
    问题描述
      给定一个十进制整数,返回其对应的二进制数的位数。例如,输入十进制数9,其对应的二进制数是1001,因此位数是4。
    样例输入
    一个满足题目要求的输入范例。
    9
    样例输出
    与上面的样例输入对应的输出。
    数据规模和约定
      输入数据中每一个数的范围。
      例:输入在int表示范围内。
     
    注释:
    itoa(n,x,10)——数值转换成字符串函数。
    n:表示的是一个数值;
    x:表示的是转换后存放字符串的指针;
    10:表示基于10进制。
     1 #include<stdio.h>
     2 #include<stdlib.h>
     3 #include<string.h>
     4 int main(){ 
     5     int i;
     6     scanf("%d",&i);
     7     char a[100];
     8     itoa(i,a,2);
     9     printf("%d",strlen(a));
    10     return 0; 
    11 }

     

    转载于:https://www.cnblogs.com/panweiwei/p/6297557.html

    展开全文
  • 分析:主要是判断这个是不是水仙花出百十个位,然后判断,符合各位立方和等于自身然后就可以输出了。 上代码: #include<stdio.h> int main() { int i,a,b,c;//i表示100到1000之内的,a,b,c

    最近表弟开学了,我还在家里,不开心!
    所以想着继续写一下以前的c语言常见的问题,复习一下,也方便以后在网络上搜索的朋友可以看见,以便交流学习。
    今天讲一下水仙花数这个问题:打印出所有的水仙花数。(水仙花数是指一个三位数,其各位数字立方和等于该数)
    分析:主要是判断这个数是不是水仙花数,求出百十个位,然后判断,符合各位数立方和等于自身然后就可以输出了。
    上代码:

    #include<stdio.h>
    int main()
    {  
    int i,a,b,c;//i表示100到1000之内的数,a,b,c分别代表百十个位 
    printf("以下是所有的水仙花数:\n");
    for (i=100;i<1000;i++)//for循环的具体介绍和用法在上一节有讲到,还不太熟悉的朋友可以点进我主页去C语言分栏看一下。 
    	{
    		a=i/100;
    		b=(i%100)/10;
    		c=i%10;
    		/*这个取百十个的方法大家不熟悉的可以记一下,以后经常会遇到*/
    		if(i==a*a*a+b*b*b+c*c*c)
    		printf("%d ",i); //如果符合各位数立方和等于自身然后就可以输出了。
    	}
    	return 0;
    }
    

    运行展示:
    在这里插入图片描述
    好了,这个水仙花问题也就解决了,相对来说比较简单。同样的道理,我们也可以去解决三位数拆分输出,以及其他各种符合某种特征数的输出。谢谢大家的阅读!

    展开全文
  • 一个N的个位十位百位千位上的数字: 在C语言中其 个位:n/1%10 位:n/10%10 百位:n/100%10 千位:n/1000%10 全部都是最后对10余,也就是说最后的是从0至9的,然后前面的整除的话,就看是哪个位上面的...
  • C语言求自幂

    2021-06-13 10:00:08
    例如:在进制中,153是一位数,各个数位的3次幂之和为1^3 + 5^3 +3^3=153,所以153是进制中的自幂数。我们熟知的水仙花数只是自幂数的一种,严格来说3位数的3次幂数才称为水仙花数。 一位自幂数:独身数、两...
  • 这道题也很简单:利用模运算和除运算依次、百。。。。的值并打印,然后位数累加即可。 直接看程序: #include <stdio.h> #include <stdlib.h> int main() { int i; int digits(int); ...
  • 然后,根据数学的计算公式,分别输出位数上的数字(这里面可能比较绕,包括商和余数,只要是这两概念弄清楚的话,这道题就很简单了) 具体的编程如下: #include &lt;stdio.h&gt; void main(){...
  • *今天有位朋友问了我一问题,他说给出一不多于4位数的正整数,出它是几位数,分别打印出每一位数字,并按逆序打印出各位数字。用C语言且只能用if语句 分析第一问题,出它是几位数:我们先设置一数让我们...
  • 给定一个十进制整数,返回其对应的二进制位数。例如,输入进制9,其对应的二进制是1001,因此位数是4。 样例输入 一满足题目要求的输入范例。 9 样例输出 与上面的样例输入对应的输出。 数据规模和...
  • #include<stdio.h> main() { int a,b,c,d,e,f; scanf("%d",&a); b=a/10000; c=a%10000/1000;...printf(“五位数万位%d千位%d百位%d位%d个位%d”,b,c,d,e,f); else if((a>0&&
  • C语言求余:水仙花

    2020-11-02 19:39:27
    C语言求余问题,关于可得到各个位上数字” ...所以这个算法是用来取得这个四位数的百位数值同样的思想应用在水仙花上,取百位,位,个位上的分别为a,b,c,db=a/100;c=a/10%10;d=a%10; ...
  • 三位水仙花数本身=百位数的三次方+十位数的三次方+个位数的三次方 例如153是一水仙花数 153=1x1x1+5x5x5+3x3x3 而题目所求是出0~100000间的水仙花数,即三位数位数位数中的水仙花数   二、代码实例 #...
  • 在逆序输出每一位时需构造while循环语句,循环的次数即进制位数,先利用n%10,得到个位并输出,然后利用n/=10来丢弃个位。 在顺序输出中,也是构造while循环语句,循环次数即进制位数,先利用n / (int...
  • ## 设计一程序, 输入三位数, 分别输出百位, 位和个位数 ** 样例输入: 251 样例输出: 2 5 1 样例代码: C语言版: #include <stdio.h> #include <stdlib.h> int main(){ int a,b,c; int z; scanf("%d...
  • C语言求所有的“水仙花

    千次阅读 2019-05-20 08:50:37
    #include <stdio.h> int main(){ int a, b, c, d; //声明各个位数的值 int sum = 0, count = 0; for (int i = 0;...//求个位数字 b = i / 10 % 10;//求位数字 c = i / 100 % 10;//求百位...
  • C语言求余问题

    2021-05-23 20:48:26
    c语言中 a为一个四位数 那么a%1000/100是啥 假设a的值为1345,那么当a%1000,值为345,那么345/100,结果就是...同样的思想应用在水仙花上,取百位,位,个位上的分别为 a,b,c,d b=a/100; c=a/10%10; ...
  • 题目:输出一三位整数的、百位数。 关键字:得到数位 思路: Q:如何利用简单的基本运算来得到一...1.用(原三位数—百位数* 100—个位数 * 1)/10 153-1X100-1X3=50; 50/10=5 2.将原三位数对100取余,再除以1
  • 如果是,再进一步判断这数是两位数还是三位数,若是两位数,则需判断个位数十位数是否相同; 若是三位数,则需判断个位数和百位数是否相同。若相同,则判断为回文素数,否则继续下次判断。 ① 定义一函数 ...
  • 输入数字 n,按顺序打印出从 1 到最大的 n 位十进制。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。 示例 1: 输入: n = 1 输出: [1,2,3,4,5,6,7,8,9] 说明: 用返回一整数列表来代替打印 n 为正整数 ...
  • 请编写一函数unsigned function(unsigned w),w使一大于10的无符号整数,若w是n(n≥2)的整数,则函数出w后n-1作为函数值返回。 比如:w是1324,是4位数,那么返回最后面的三,也就是324. ...
  • c语言实现水仙花

    2020-12-26 16:38:23
    水仙花:实际上是自幂的定义 自幂的定义:对于一个 n位数来说:如果每个位的数字的n次幂之和等于该n位数,...这里涉及到了个位上的数字,以3位数为例:百位,位,个位。 下面看一下代码,如下: #include
  • 水仙花C语言

    2018-11-24 12:24:00
    ①取i的各位数,百位a,位b,个位c。 ②判断i==a∧3+b∧3+c∧3 是否成立 ③如果成立则输出,否则不输出。 ④i=i+1,当i小于1000重复①,否则结束。 关键算法:取任意三位数的各位数 算法一:除减法 ①将...
  • 题目:写一程序,输入x(三位数),输出其、百位,用空格隔开 样例输入:768 样例输出:8 6 7#include #include <stdlib.h>int main() { unsigned short num; unsigned char temp;//保存每一位的数 ...
  • C语言 最大值和最小值

    万次阅读 2019-06-16 01:02:41
    author:爱太阳的麦芽糖 IDE:VS2019 qq:1192273194 ...(1):第一for循环接受十个float类型的(输入的数字不要超过七位数,我用的是float类型) #include <stdio.h> #include <...
  • 1.分别个十数字 #include<stdio.h> int main() { int a=456,x,y,z; x=a/100; y=a/10-10*x; //比较难理解 a/10就为非个位数 //非个位数为45,45减去最高的10倍就是该 z=a%10; print...
  • 7-3 逆序的三位数 (10分) 程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾...通C语言计算过程中的取整和取余来解决这道问题,即可以分别个位位、百位,输出时利用加减法结果不...
  • C语言 实现水仙花

    2020-02-25 19:26:52
    水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身 思路 循环一个三位数(100—999) 个,, 百 位 判断个位的三次方加位的三次方加百位的三次方是否等于它本身 #include<stdio.h> ...

空空如也

空空如也

1 2 3 4 5 6
收藏数 115
精华内容 46
关键字:

c语言求个位数十位数

c语言 订阅