C语言基础算法复习
003 斐波那契数列问题
#include<stdio.h> int main() {int i,f1=1,f2=1,f3,num;printf("%5d %5d",f1,f2);num=2;for(i=1; i<=18; i++){f3=f1+f2;f1=f2;f2=f3;num++;printf("%5d",f3);if(num%4==0) printf("\n");}return 0; }
//#输数斐波那契数列的前20项 f1=1,f2=2,f3=f1+f2,f4=f2+f3.... #include<stdio.h> int main() {int i,f1=1,f2=1;for(i=1;i<=10;i++){printf("%5d %5d",f1,f2);f1=f1+f2;f2=f1+f2;printf("\n");}return 0; }
004 9*9乘法表
//9*9乘法表 #include<stdio.h> int main() {int sum = 1;for (int i = 1; i <= 9; i++){for (int j = 1; j <= i; j++){sum = i * j;printf("%d*%d=%d\t", i,j, sum);}printf("\n");} }
001 以下是关于一些阶乘的问题
#include<stdio.h> int main() {int n,i;long fac=1;scanf("%d",&n);for(i=1;i<=n;i++)fac=fac*i;printf("%d!=%d",n,fac);return 0; }
打印一些图形
#include<stdio.h> int main() {for (int i = 1; i <= 3; i++){for (int j = 1; j <= i; j++){printf("*");}printf("\n");} }
#include<stdio.h> int main() {for (int i = 1; i <= 3; i++){for (int j = 1; j <= 2*i-1; j++){printf("*");}printf("\n");} }
#include<stdio.h> int main() {for (int i = 1; i <= 5; i++){for(int j=1;j<7-i;j++)//注意这里的条件最好不要小于外层循环printf(" ");for (int j = 1; j <= 2*i-1; j++){printf("*");}printf("\n");} }
字母转换问题
#include<stdio.h> int main() {char ch;while(1){ch=getchar();if(ch>='a'&&ch<='z')putchar(ch-32);else break;}return 0; }
//输入的小写字母转换成大写字母,直到输入非小写字符为止 #include<stdio.h> int main() {char ch;ch=getchar();while(ch>='a'&&ch<='z'){putchar(ch-32);ch=getchar();}return 0; }
002 以下是关于一些素数的问题
// 输入一个大于3的整数,判断它是否为素数;只能被1和自身整数的正整数,1不是素数,2是素数 #include<stdio.h> int main() {int n,i,k;scanf("%d",&n);k=sqrt(n);for(i=2;i<=k+1;i++)if(n%i==0)break;if(i>k+1)printf("%d是素数\n",n);elseprintf("%d不是素数\n",n);return 0; }
#include<stdio.h> #include<math.h> int main() {int n,i,k;scanf("%d",&n);if(n<=1)printf("%d不是素数!\n",n);else if(n==2)printf("%d是素数!\n",n);else{k=sqrt(n);for(i=2; i<=k+1; i++)if(n%i==0)break;if(i>k+1)printf("%d是素数\n",n);elseprintf("%d不是素数\n",n);}return 0; }
#include<stdio.h> int main() {int n,i,k,isprime=1;scanf("%d",&n);k=sqrt(n);for(i=2;i<=k+1;i++)if(n%i==0){isprime=0;break;}if(isprime==1)printf("%d是素数\n",n);elseprintf("%d不是素数\n",n);return 0; }
//100--200之间的素数 #include<stdio.h> int main() {int n,i,k,isprime;for(n=100; n<=200; n++){isprime=1;k=sqrt(n);for(i=2; i<=k+1; i++)if(n%i==0){isprime=0;break;}if(isprime==1)printf("%d ",n);}return 0; }