...
int i,j,k; for(i=1;i<=6;i++) {
for(k=1;k<=20-(2*i-1)/2;k++) printf(\for(j=1;j<=2*i-1;j++) printf(\printf(\} }
(2) 编写一个程序输出所有
5 位数字的回文。
方法一:
#include
long x,a,t; //x: 原5 位整数,a:用来暂存 x,t: 把 a 反序后的数 int i,num=0; //i: 表示原 5 位数的某一位 ,num: 回文数的个数 for(x=10000;x<=99999;x++) //每次取出 1 个 5 位整数 {
a=x; //把取出的 5 位整数保存到 a t=0; //t 用来存放反序后的数 while(a>0) { i=a; //取出当前数的最后一位到 i
t=t*10+i; //把取出的 i 组装到 t a=a/10; }
...
...
if(x==t)
{printf(\if(num==0) //原来的 5 位整数等于反序后的数 t num++;} printf(\//每行输出 10 个数
} } 方法二:
/*求 5 位整数中所有回文 */
#include
long int n,m,t=0;
for(n=10000;n<=99999;n++) {
if(hw(n)==1)
{ printf(\t++;
if(t%5==0) printf(\/*每行输出 5 个数*/
} } }
int hw(long int a) /*hw 函数测试 a 是否是回文 */
{
long int m,r=0; m=a; while(m) {
r=r*10+m; m/=10; }
if(a==r) return 1; /*是回文返回 1 */ else
return 0; /*是回文返回 0 */ }
(3) 编程计算 e=1+1/1!+1/2!+1/3!+ , (即最后一项 1/n!<1e-6 就停止循环)。
...
!。精度为+1/n 1e-6
...
提示:注意 1/n!=1/(n-1)!*1/n ;利用循环加上每一次的分项。
#include
{ long i;
double e,t;
e=1.0
;
t=1.0;
for(i=1;
t>1e-6 ;i++)
{t/=(double)i;
e+=t; }
printf(\
}
2. ⑴
①a[10]=x; ②break; ③a[k]=x;
附:算法简析 main() {
int x,i,j,k;/* 感觉似乎 j 定义了没什么作用 int a[11]={8,18,28,38,48,58,68,78,88,98};
printf(\请输入需要插入的一个整数: \
scanf(\
a[10]=x;/* 把 x 放到数据串最末位置 */
for(i=0;i<10;i++)
...
*/
...
相关推荐: