1.怎样写一个输出自己源代码的源码程序?
2.从键盘输入一个正整数n,计算该数的源码个位数字之和并输出。
怎样写一个输出自己源代码的源码程序?
要写一个可移植的自我再生的程序是件很困难的事, 部分原因是因为引用和字符集的难度。
这里是源码商城支付平台源码个经典的例子 (应该以一行表示的, 虽然第一次执行后它后自我修复):
char*s="char*s=%c%s%c;main(){ printf(s,,s,);}";
main(){ printf(s,,s,);}
这段程序有一些依赖, 忽略了 #include <stdio.h>, 还假设了双引号 " 的值为 , 和 ASCII 中的值一样。
这里还有一个有 James Hu 发布的源码改进版:
#define q(k)main(){ return!puts(#k"\nq("#k")");}
q(#define q(k)main(){ return!puts(#k"\nq("#k")");})
从键盘输入一个正整数n,计算该数的源码春晖指标源码个位数字之和并输出。
输出该数的源码各位数字之和的源代码如下:#include <stdio.h>
int fun(int n)
{
int i;
int sum=0;
if(n>||n<0)
{
puts("输入的数字超出范围!"); // 错误信息提示
}
else
{
for(i=2;i<n;i++) // 循环遍历n,源码取出因子,源码并进行累加
{
if(0 == n%i)
{
sum+=i;
}
}
}
return sum;
}
void main()
{
int n,源码sum;
printf("Input n: ");
scanf("%d",&n);
sum=fun(n);
printf("sum=%d\n",sum);
}
扩展资料
1、输入的源码数字要是整数,并且要在规定范围内。源码
2、源码源码大小比较对输入的源码数要进行拆分,注意1和本身不能在求和之中。源码
3、lua底层源码可以使用循环对输入的数(n)遍历,如果n%i余为0,则表明能整除,复旦微 源码次i则为因子。