001 求pi的近似值的问题
#include <stdio.h> #include <math.h> int main() { int i; double sum; for(sum=0,i=1;1.0/pow(i,2)>=1e-5;++i) sum+=1.0/pow(i,2); printf("%lf\n",sqrt(sum*6)); return 0; }
002;
水仙花数问题
001 如果题目没有给出具体范围,而是让判断一个数是否为水仙花数;
具体code as follow;
//题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。 //例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。 #include<stdio.h> int main() { int n,i; int a,b,c; scanf("%d",&n); for(i=1;; i++) { a=n%10; b=(n/10)%10; c=n/100; if(a*a*a+b*b*b+c*c*c==n) { printf("%d是水仙花数",n); break; } else printf("no"); break; } return 0; }
002 题目给出了具体范围,这样的话就相对来说简单一点了
// 100-1000之间的水仙花数 #include<stdio.h> #include<math.h> int main() { int i; int a,b,c; for(i=100;i<1000;i++) { a=i%10; b=(i/10)%10; c=i/100; if(pow(a,3)+pow(b,3)+pow(c,3)==i) printf("%d,",i); } return 0; }
003
待更
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() { int i,j,n=4; for(i=1; i<=n; i++) { for(j=1; j<=n-i; j++) printf(" "); for(j=1;j<=i;j++) printf("%d",j); for(j=i;j>1;j--) printf("%d",j-1); 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; }
统计字符个数问题
001
#include <stdio.h> int main() { char c; // 临时字符 int letters = 0; // 字母个数 int spaces = 0; // 空格个数 int digits = 0; // 数字字符 int others = 0; // 其他字符 printf("请输入一串字符,以回车结束:"); while ((c = getchar()) != '\n') { if ((c >='a' && c <= 'z') || (c >= 'A' && c <= 'Z')) { letters++; } else if (c >= '0' && c <= '9') { digits++; } else if (c == ' ') { spaces++; } else { others++; } } printf("字母个数为%d\n", letters); printf("数字个数为%d\n", digits); printf("空格个数为%d\n", spaces); printf("其他个数为%d\n", others); return 0; }
002 以下是关于一些素数的问题
#include<stdio.h> int main() { int n,i; scanf("%d",&n); for(i=2; i<n; i++) { if(n%i==0) break; } if (i == n) printf("%d 是素数。", n); else printf("%d 不是素数。", n); return 0; }
// 输入一个大于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); else printf("%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); else printf("%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); else printf("%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; }