1.4位反序数 #include<stdio.h> int main() { int i; for(i=1002;i<1111;i++) /*穷举四位数可能的值*/ if(i%10*1000+i/10%10*100+i/100%10*10+i/1000==i*9) /*判断反序数是否是原整数的9倍*/ printf("The number satisfied stats condition is: %d/n",i); /*若是则输出*/ } 个人优化
2.求车速
#include<stdio.h> int main() { int t,a[5]; /*数组a存放分解的数字位*/ long int k,i; for(i=95860;;i++) /*以95860为初值,循环试探*/ { for(t=0,k=100000;k>=10;t++) /*从高到低分解所取i值的每位数*/ { /* 字,依次存放于a[0]~a[5]中*/ a[t]=(i%k)/(k/10); k/=10; } if((a[0]==a[4])&&(a[1]==a[3])) { printf("The new symmetrical number kelometers is:%d%d%d%d%d/n", a[0],a[1],a[2],a[3],a[4]); printf("The velocity of the car is: %.2f/n",(i-95859)/2.0); break; } } } 10.求素数 #include<stdio.h> int main() { int n1,nm,i,j,flag,count=0; do{ printf("Input START and END=?"); scanf("%d%d",&n1,&nm); /*输入求素数的范围*/ }while(!(n1>0&&n1<nm)); /*输入正确的范围*/ printf("………..PRIME TABLE(%d–%d)…………/n",n1,nm); if(n1==1||n1==2) /*处理素数2*/ { printf("%4d",2); n1=3;count++; } for(i=n1;i<=nm;i++) /*判定指定范围内的整数是否为素数*/ { if(!(i%2))continue; for(flag=1,j=3;flag&&j<i/2;j+=2) /*判定能否被从3到整数的一半中的某一数所整除*/ if(!(i%j))flag=0; /*若能整除则不是素数*/ if(flag) printf(++count%15?"%4d":"%4d/n",i); } }
|