C语言之基本算法30—数组的灵活应用(一个正整数的各位数字平方和)
来源:互联网 发布:qq三国奥义感悟的算法 编辑:程序博客网 时间:2024/05/16 07:07
//数组的灵活应用!
/*
=====================================================
题目:求任意输入一个正整数各位数字的平方和,显示如下:
如输入1234,则显示 1*1+2*2+3*3+4*4=30
=====================================================
*/
#include<stdio.h>
void main()
{
int a[10];
int n,c,i,sum;
printf("输入正整数:\nn=");
scanf("%d",&n);
while(n>0&&n<1e17)
{
c=0;
while(n>0)
{
a[c++]=n%10;
n/=10;
}
sum=0;
for(i=0;i<c;i++)
sum+=a[i]*a[i];
for(i=c-1;i>0;i--)
printf("%d*%d+",a[i],a[i]);
printf("%d*%d=%d",a[0],a[0],sum);
printf("\n=============================\n输入下一个正整数:\n(退出请输入'N'!)\nn=");
scanf("%d",&n);
}
}
/*
===============================================================
评:
*/
/*
=====================================================
题目:求任意输入一个正整数各位数字的平方和,显示如下:
如输入1234,则显示 1*1+2*2+3*3+4*4=30
=====================================================
*/
#include<stdio.h>
void main()
{
int a[10];
int n,c,i,sum;
printf("输入正整数:\nn=");
scanf("%d",&n);
while(n>0&&n<1e17)
{
c=0;
while(n>0)
{
a[c++]=n%10;
n/=10;
}
sum=0;
for(i=0;i<c;i++)
sum+=a[i]*a[i];
for(i=c-1;i>0;i--)
printf("%d*%d+",a[i],a[i]);
printf("%d*%d=%d",a[0],a[0],sum);
printf("\n=============================\n输入下一个正整数:\n(退出请输入'N'!)\nn=");
scanf("%d",&n);
}
}
/*
===============================================================
评:
关键要分析a[c++]的作用!令c=0;c++实际上是一个计数功能,目的是说明这个数是几
位数,c=1是1位数,c=2是2位数。然后用a[c]表示该位数,用循环实现n每次除以10,
所以它的余数就是c位置上的数字a[c];当n<10时,n/10==0(这是因为n是int型的),即循
环结束!
在输出时用到一个技巧,就是先输出c-1位平方和,因为可以用循环,你想想,为什么
不直接将c位全部输出呢?因为这会导致等号前多一个加号,而且无论如何,sum是要
单独输出的,所以将c位置的平方与sum项一同输出!总之,这是数组算法里面比较重
要的题目。读者应多加练习!
================================================================*/
0 0
- C语言之基本算法30—数组的灵活应用(一个正整数的各位数字平方和)
- C语言之函数调用02—一个三位数的正整数=它的各位数字的阶乘之和
- 求一个正整数的各位数字之和
- 求一个正整数的各位数字之和
- 求一个正整数的各位数字之和
- 求各位数字的平方和
- C语言之基本算法09—各位全是a的数列之和
- 【c语言】给一个不多于5位的正整数,要求: 1、求出它是几位数 2、分别输出每一位数字 3、按逆序输出各位数字
- C语言数组应用之图形数字的输出
- 计算任意一个输入的正整数数字的各位数字之和
- 从键盘输入一个正整数,统计其各位数字中0的个数,并求各位数字中的最大者。
- 数组的灵活应用
- 验证一个正整数各各位上是否有指定的数字
- 第二周项目4求一个正整数的各位数字之和
- C语言入门(17)——C语言数组应用的一个实例
- 数组的常用算法(2) - boolean数组的灵活应用
- 【C语言】编写一个函数,将一个数字字符串转换成该字符串对应的数字(包括正整数、负整数)
- 【c语言】编写一个函数,将一个数字字符串转换成该字符串对应的数字(包括正整数、负整数)
- 关于mac上xcoed6删除模拟器的方法
- Gradle DSL method not found: 'runProguard()'
- 强制手机浏览器竖屏
- Elasticsearch集群无法自动集群处理
- 中缀表达式转后缀表达式
- C语言之基本算法30—数组的灵活应用(一个正整数的各位数字平方和)
- 【最短路】poj2472 SPFA
- java基础——Vector集合知识点
- Reverse Linked List
- 快速排序
- springmvc之@Controller、@RequestMapping等注解讲解
- from __future__ import absolute_import
- Embedded_SW_模块化]嵌入式C语言工程文件组织_保持更新
- [LeetCode] Merge k Sorted Lists