今日的总结,曾经的练习,回首想想,还颇有收获。今日对一些关于循环结构的例题代码进行了总结,希望能够帮助到有需要的小伙帮们。
代码如下:
1.判断输入数字是否为素数:
#include<stdio.h>
int main()
{
int n = 0;
int k = 0;
int flag = 0;
do
{
printf("please input a plus num : >");
scanf("%d", &n);
getchar();
} while (n <= 0);
printf("yin zi:");
for (k = 2; k <= n / 2; k++)
{
if (n%k == 0)
{
flag = 1;
printf("%d",k);
}
}
printf("\n");
if (flag == 0)
printf("sushu=%d\n",n);
#include<stdio.h>
int main()
{
int n = 0;
int k = 0;
int flag = 0;
do
{
printf("please input a plus num : >");
scanf("%d", &n);
getchar();
} while (n <= 0);
printf("yin zi:");
for (k = 2; k <= n / 2; k++)
{
if (n%k == 0)
{
flag = 1;
printf("%d",k);
}
}
printf("\n");
if (flag == 0)
printf("sushu=%d\n",n);
getchar();
return 0;
}
2.求值
#include<stdio.h>
#include<math.h>
int main()
{
int n = 0;
double t = 0;
int i = 0;
double S = 1;
double T = 0.0;
int K = 0;
do
{
printf("please input a plus num:>");
scanf("%d", &n);
getchar();
} while (n <= 0);
t = 2;
for (i = 1; i <= n; i++)
{
S = S + t;
t *= 2;
}
printf("S=%f\n",S);
K = sqrt(S);
t = -1.0;
for (i = 1; i <= K; i++) //出现错误,无法对除法进行计算
{
t = -t;
T = T+ t;
t = 1/(i+1);
}
printf("k=%d\n",K);
printf("T=%f",T);
getchar();
return 0;
}
#include<stdio.h>
#include<math.h>
int main()
{
int n, k;
double s, t;
do
{
printf("input N:");
scanf("%d",&n);
getchar();
} while (n <= 0);
s = 1.0;
t = 2.0;
for (k = 1; k <= n; k++)
{
s = s + t;
t = 2.0*t;
}
printf("S=%f\n", s);
k = sqrt(s);
s = 1.0;
t = 0.0;
for (n = 1; n <= k; n++)
{
t = t + s / n;
s = -s;
}
printf("T=%f\n",t);
getchar();
return 0;
}
3.进行对循环中的除法运算的检验
#include<stdio.h>
#include<math.h>
int main()
{
double s, t=1;
double T = 0.0;
s = 4.0;
for (s = 0; s < 2; s++)
{
/*t = -1 / (s + 1);
printf("%f\n", t);*/
T = T + t;
t = -1 / (s + 1);
printf("T=%f\n",T);
}
return 0;
}
2.求值
#include<stdio.h>
#include<math.h>
int main()
{
int n = 0;
double t = 0;
int i = 0;
double S = 1;
double T = 0.0;
int K = 0;
do
{
printf("please input a plus num:>");
scanf("%d", &n);
getchar();
} while (n <= 0);
t = 2;
for (i = 1; i <= n; i++)
{
S = S + t;
t *= 2;
}
printf("S=%f\n",S);
K = sqrt(S);
t = -1.0;
for (i = 1; i <= K; i++) //出现错误,无法对除法进行计算
{
t = -t;
T = T+ t;
t = 1/(i+1);
}
printf("k=%d\n",K);
printf("T=%f",T);
getchar();
return 0;
}
#include<stdio.h>
#include<math.h>
int main()
{
int n, k;
double s, t;
do
{
printf("input N:");
scanf("%d",&n);
getchar();
} while (n <= 0);
s = 1.0;
t = 2.0;
for (k = 1; k <= n; k++)
{
s = s + t;
t = 2.0*t;
}
printf("S=%f\n", s);
k = sqrt(s);
s = 1.0;
t = 0.0;
for (n = 1; n <= k; n++)
{
t = t + s / n;
s = -s;
}
printf("T=%f\n",t);
getchar();
return 0;
}
3.进行对循环中的除法运算的检验
#include<stdio.h>
#include<math.h>
int main()
{
double s, t=1;
double T = 0.0;
s = 4.0;
for (s = 0; s < 2; s++)
{
/*t = -1 / (s + 1);
printf("%f\n", t);*/
T = T + t;
t = -1 / (s + 1);
printf("T=%f\n",T);
}
getchar();
return 0;
}
4.计算亲密数对
#include<stdio.h>
int main()
{
int k, j, m, n;
for (n = 2; n <= 500; n++)
{
m = 1;
for (k = 2; k <= n / 2; k++)
{
if (n%k == 0)
m = m + k;
}
j = 1;
for (k = 2; k <= m / 2; k++)
if (m%k == 0)
j = j + k;
if (j == n)
printf("n=%3d m=%3d\n",n,m);
}
getchar();
return 0;
}
5.计算级数之和
#include<stdio.h>
int main()
{
int n = 0;
int k = 0;
double ex = 1.0;
double x = 1.0;
double t = 1.0;
printf("input n and x:>");
scanf("%d %lf",&n,&x);
getchar();
for (k = 1; k <= n; k++)
{
t = t*x / k;
ex = ex + t;
}
printf("n=%5d,x=%lf,ex=%lf\n",n,x,ex);
getchar();
return 0;
}
6.输出能写成俩个数平方之和的所有三位数
#include<stdio.h>
int main()
{
int n = 0;
int j = 0;
int m = 0;
int k = 0;
int flag = 0;
for (n = 200; n < 1000; n++)
{
flag = 0;
k = sqrt(n);
j = 1;
while ((j <= k) && (flag == 0))
{
m = 1;
while ((m <= k) && (n != j*j + m*m))
m += 1;
if (n == m*m + j*j)
{
flag = 1;
printf("%d=%d*%d+%d*%d\n",n,j,j,m,m);
}
j += 1;
}
}
getchar();
return 0;
}
7.计算1000以内的完数
#include<stdio.h>
int main()
{
int n=0;
int j = 0;
int sum = 1;
int count = 0;
printf("完数:>");
for (n = 2; n < 1000; n++)
{
sum = 1; //容易出现错误;
for (j = 2; j <= n / 2; j++)
{
if (n%j == 0)
{
sum = sum + j;
}
}
if (sum == n)
{
printf("%d ", n);
count++;
}
}
printf("count=%d", count);
getchar();
return 0;
}
8.求各类数之和
#include<stdio.h>
#include<math.h>
int main()
{
int k = 0;
int p = 0;
int q = 0;
double sump = 0.0;
double sumq = 0.0;
double x = 0.0;
double sum = 0.0;
for (k = 0; k < 5; k++)
{
printf("input data:");
scanf("%lf", &x);
getchar();
sum = sum + fabs(x);
if (x > 0)
{
sump = sump + x;
p++;
}
if (x < 0)
{
sumq = sumq + x;
q++;
}
}
printf("所以正数之和=%lf 正数的个数=%d\n",sump,p);
printf("所有负数之和=%lf 负数的个数=%d\n",sumq,q);
printf("所有数之和=%lf\n",sum);
getchar();
return 0;
}
return 0;
}
4.计算亲密数对
#include<stdio.h>
int main()
{
int k, j, m, n;
for (n = 2; n <= 500; n++)
{
m = 1;
for (k = 2; k <= n / 2; k++)
{
if (n%k == 0)
m = m + k;
}
j = 1;
for (k = 2; k <= m / 2; k++)
if (m%k == 0)
j = j + k;
if (j == n)
printf("n=%3d m=%3d\n",n,m);
}
getchar();
return 0;
}
5.计算级数之和
#include<stdio.h>
int main()
{
int n = 0;
int k = 0;
double ex = 1.0;
double x = 1.0;
double t = 1.0;
printf("input n and x:>");
scanf("%d %lf",&n,&x);
getchar();
for (k = 1; k <= n; k++)
{
t = t*x / k;
ex = ex + t;
}
printf("n=%5d,x=%lf,ex=%lf\n",n,x,ex);
getchar();
return 0;
}
6.输出能写成俩个数平方之和的所有三位数
#include<stdio.h>
int main()
{
int n = 0;
int j = 0;
int m = 0;
int k = 0;
int flag = 0;
for (n = 200; n < 1000; n++)
{
flag = 0;
k = sqrt(n);
j = 1;
while ((j <= k) && (flag == 0))
{
m = 1;
while ((m <= k) && (n != j*j + m*m))
m += 1;
if (n == m*m + j*j)
{
flag = 1;
printf("%d=%d*%d+%d*%d\n",n,j,j,m,m);
}
j += 1;
}
}
getchar();
return 0;
}
7.计算1000以内的完数
#include<stdio.h>
int main()
{
int n=0;
int j = 0;
int sum = 1;
int count = 0;
printf("完数:>");
for (n = 2; n < 1000; n++)
{
sum = 1; //容易出现错误;
for (j = 2; j <= n / 2; j++)
{
if (n%j == 0)
{
sum = sum + j;
}
}
if (sum == n)
{
printf("%d ", n);
count++;
}
}
printf("count=%d", count);
getchar();
return 0;
}
8.求各类数之和
#include<stdio.h>
#include<math.h>
int main()
{
int k = 0;
int p = 0;
int q = 0;
double sump = 0.0;
double sumq = 0.0;
double x = 0.0;
double sum = 0.0;
for (k = 0; k < 5; k++)
{
printf("input data:");
scanf("%lf", &x);
getchar();
sum = sum + fabs(x);
if (x > 0)
{
sump = sump + x;
p++;
}
if (x < 0)
{
sumq = sumq + x;
q++;
}
}
printf("所以正数之和=%lf 正数的个数=%d\n",sump,p);
printf("所有负数之和=%lf 负数的个数=%d\n",sumq,q);
printf("所有数之和=%lf\n",sum);
getchar();
return 0;
}