任意输入一个正整数,求出其各位数字之和

//任意输入一个正整数,求出其各位数字之和

#include <stdio.h>
void main()
{
    int num,s=0;
    printf("请任意输入一个正整数:\n");
    scanf("%d",&num);
    while(num!=0)
    {
        s=num%10+s;//没有赋值的操作,在编写程序时没有意识到这一点
        num=num/10;
    }
printf("各位数字之和是:%d \n",s);

}

任意输入一个正整数,求出其各位数字之和

时间: 2024-10-10 08:23:43

任意输入一个正整数,求出其各位数字之和的相关文章

剑指Offer(Java版)第四十题:在数组中的两个数字,如果前面一个数字大于后面的数字, 则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。 并将P对1000000007取模的结果输出。 即输出P%1000000007

/*在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对.输入一个数组,求出这个数组中的逆序对的总数P.并将P对1000000007取模的结果输出. 即输出P%1000000007 */ import java.util.*; public class Class40 { public int InversePairs(int[] array){ int length = array.length; int P = 0; for(int i = 0; i < lengt

c#编程:给定一个正整数求出是几位数并逆序输出

<span style="color:#FF0000;">第一步:把输入的数字转为字符串n.ToString() 第二步:求出字符串的长度即为正整数的位数 第三步:从后向前逆序输出</span> 附代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; //给一个正整数, //要求:一.求它是几位数,二.逆序打印出各位数字. namespa

ACM:每行输入一个正整数n,找出与它对应的比它大的最小的且它们对应的二进制中1的个数一样多的正整数.

#include<stdio.h> //每行输入一个正整数i,找出与他对应的比它大的最小的正整数且他们的二进制中1的个数一样多. /* 样例输入: 样例输出: 1 2 2 4 3 5 4 8 78 83 0 */ //78的二进制位1001110,有4个1:83比78大且83的二进制位1001011也是4个1. int main() { int count1,count2;//count1统计原数据对应的二进制中1的个数,count2... int a[100];//存输入的数字 int i=

任意输入一个4位正整数,调用函数(函数自定义)输出该正整数数的各位数 字组成的最大数。

/*任意输入一个4位正整数,调用函数(函数自定义)输出该正整数数的各位数字组成的最大数.*/#include <stdio.h>int numb(int a){ int i = 0, j = 0,sum = 0, b[4]; b[0] = a%10; b[1] = a/10%10; b[2] = a/100%10; b[3] = a/1000; for (i = 0 ;i < 4; i++) { for(j = 0;j < 3 - i; j++) { if(b[j] > b[

输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字的最小的一个

/** * @Version 1.0.0 * 输入一个正整数数组,把数组里所有数字拼接起来排成一个数, * 打印能拼接出的所有数字的最小的一个.例如输入{3,32,321,4},则打印最小的数字是 * 321323 * * 其实就是一次排序,只是比较大小的方式与数值比较有所不同 * 这里采用冒泡排序的方式 */public class Pro33 { @MyAnswer public static void f(int array[]){ for(int i=0;i<array.length-1

输入两个实数,用一个函数求出它们之和

/*p180 例7.4 输入两个实数,用一个函数求出它们之和 解题思路:首先要定义add函数,它为float型,它应有两个参数,也应为float型. 特别注意:要对add函数进行声明.*/ #include<stdio.h>int main(){ float add(float x,float y); //对add函数作声明 float a, b, c; printf("please enter a and b:"); //提示输入 scanf("%f,%f&qu

输入一个正整数n,计算出[0,n]这些整数中的二进制数没有连续3个1的数字有多少

输入一个正整数n,计算出[0,n]这些整数中的二进制数没有连续3个1的数字有多少? 例子:输入数字9,则输出结果位9.因为[0-9]中,只有数字7有连续的三个'1'出现,别的都没有,所以一共有9个数字满足要求. 分析:这个题目与求解一个正整数中'1'的个数有点类似,就是进行一些循环处理. 代码如下: 1 #include <iostream> 2 using namespace std; 3 int main() 4 { 5 int n,num_1=0,k=0; 6 cin>>n;

输入一个正整数,求它各位数的数字之和

class Test{ public static void main(String[] args){ int iSum = 0; Scanner scan = new Scanner(System.in); System.out.print("请输入一个正整数:"); int iNum = scan.nextInt(); int iC = iNum; while(iNum % 10 == 0) iNum = iNum / 10; while(iNum % 10 > 0){ in

【c语言】输入一组整数,求出最大子序列的和

// 输入一组整数,求出最大子序列的和. // 例如:序列: - 2 11 - 4 13 - 5 - 2,则最大子序列和为20. // 序列: - 6 2 4 - 7 5 3 2 - 1 6 - 9 10 - 2,则最大子序列和为16 #include <stdio.h> int Max_Son(int *p, int len) { int Max_Sum = 0; int i, j; for (i = 0; i < len; ++i) { int sum = 0; for (j = i