C语⾔经典题⽬解析(正在更新)
⽂章⽬录
循环结构程序设计(⼀)
解析
#include<stdio.h>
int main()
{
明解c语言
for(int i =1; i <=9;++i)
printf("%-3d ", i);
printf("\n");
for(int i =1; i <=9;++i)
printf("----");
printf("\n");
for(int i =1; i <=9;++i)
{
for(int k =1; k < i;++k)
printf("    ");
for(int j = i; j <=9;++j)
printf("%-3d ", i * j);
printf("\n");
}
return0;
}
循环结构程序设计(⼆)
⽆暇素数
题⽬:出100-900之间的⽆暇素数。所谓⽆暇素数是指本⾝为素数,且其逆序数也是素数的数。例如:113是⼀个素数,311也是⼀个素数,113就是⽆暇素数。
解析
#include<stdio.h>
int main()
{
int flag =1;
for(int i =100; i <999;++i)
{
for(int j =2; j < i;++j)
{
if(!(i % j))
{
flag =0;
break;
}
}
if(flag)
{
int k =((i %100)%10)*100+((i %100)-((i %100)%10))+(i /100); for(int j =2; j < k;++j)
{
if(!(k % j))
{
flag =0;
break;
}
}
if(flag)printf("%d是个⽆瑕数\n", i);
else flag =1;
}
else flag =1;
}
}
迭送求解平⽅根
题⽬:3)⽤迭代法求某数a的平⽅根。平⽅根的迭代公式如下:xn+1=(xn+a/xn)/2; 设x0=a/2;
当迭代相邻两项差的绝对值⼩于10-5时,迭代结束。
解析
#include<stdio.h>
int main()
{
double a =4;
double ax = a/2, bx =0;
while(1)
{
bx =(ax +(a / ax))/2;
if(bx - ax <0.00001&& bx - ax >-0.00001)
{
printf("%f的平⽅根为%f", a, bx);
break;
}
else ax = bx;
}
}
数组
完全数
题⽬:编程出 1000 以内的所有完全数,并输出使该数成为完全数的因⼦。(例如6=1+2+3。按照6, its factors are 1 2 3格式输出)
解析
#include<stdio.h>
int main()
{
int data[300];
for(int i =2; i <=1000;++i)
{
int cnt =0;
for(int j =1; j <= i;++j)if(!(i % j))data[cnt++]= j;
int sum =0;
for(int j =0; j < cnt;++j)sum += data[j];
sum -= i;
if(sum == i)
{
printf("%d, its factors are ", i);
for(int j =0; j < cnt;++j)
printf("%d ", data[j]);
printf("\n");
}
}
return0;
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。