2024-11-03 05:23:09
分析:
若我们输入的a=12345
第一次取模 b=a%10=5 取个位 a=a/10=1234
第二次取模 b=a%10=4 取十位 a=a/10=123
第三次取模 b=a%10=3 取百位 a=a/10=12
*/
#include<stdio.h>
main()
{
int a,b,sum=0,pingfang; //a表示我们输入的数字,b表示每一次取的位数,
//sum表示平方和,pingfang表示位数为奇数的数字的平方
scanf("%d",&a); //输入一个规定范围内的整数
for(;a>0;) //判断循环输入的a是否大于零
{
b=a%10; //除以10取模,每次取一位
a=a/10; //整除10
if(b%2!=0) //判断取得余数(位数)是否奇数,若是奇数进行循环下次的语句
{
pingfang=b*b; //奇数取得它的平方和
sum+=pingfang; //取各位平方和
printf("%d为奇数,它的平方=%d\n",b,b*b);
}
}
printf("各位奇数的平方和为%d",sum);
}
扩展资料:
当一个C的源程序经过编译、链接后,会生成扩展名为.EXE的可执行文件(对windows操作系统而言),这是可以在操作系统下直接运行的文件,换句话说,就是由系统来启动运行的。由系统在启动运行时传递参数。
在操作系统环境下,一条完整的运行命令应包括两部分:命令与相应的参数。其格式为:
命令参数1参数2....参数nt;
此格式也称为命令行。命令行中的命令就是可执行文件的文件名,其后所跟参数需用空格分隔,并为对命令的进一步补充,也即是传递给main()函数的参数。
命令行与main()函数的参数存在如下的关系:
设命令行为:program str1 str2 str3 str4 str5
其中program为文件名,也就是一个由program.c经编译、链接后生成的可执行文件program.exe,其后各跟5个参数。对main()函数来说,它的参数argc记录了命令行中命令与参数的个数,共6个,指针数组的大小由参数argc的值决定,即为char*argv[6],指针数组的取值情况如图6-15所示。
数组的各指针分别指向一个字符串。应当引起注意的是接收到的指针数组的各指针是从命令行的开始接收的,首先接收到的是命令,其后才是参数。