第五章练习

文字描述:

(1)定义两个整数变量,分别为n,i;

(2)分别给n和i赋值,n=0,i=0;

(3)如果i<3为真,则执行(4),否则结束循环;

(4)若n++==0||n++==1||n++==2||n++==3为真输出“%2d”,n++,执行(5),为假执行(5);

(5)i++,返回(3);

流程图:

 


 代码:

#include<stdio.h>
int main()
{
    int n = 0, i;
    for(i=0;i<3;i++)
        switch (n++) {
        case 0:
        case 1:
        case 2:
        case 3:
            printf("%2d", n++);
        }
    return 0;
}


运行结果: 

 

完善程序题5
文字描述

(1)定义六个整数变量,分别为n,i,k,j,p,sum;

(2)给n赋值,n=2;

(3)如果n<=10为真,则执行(4),否则循环结束;

(4)计算k=n*n*n;

(5)给i赋值,i=1;

(6)如果i<k/2为真执行(7),否则执行(16);

(7)给j和sum赋值,j=i,sum=0;

(8)如果sum<k为真,则执行(9),否则执行(10);

(9)计算sum+=j;j+=2;返回(8)

(10)如果sum==k为真,则输出n,n,n,sum;为假执行(18)

(11)给p赋值,p=i;

(12)如果p<j-2为真,则输出p,执行(13),否则执行(14);

(13)计算p+=2;返回(12)

(14)输出p;

(15)计算j+=2;返回(8);

(16)如果i>=k/2为真,则执行(17),否则执行(19);

(17)输出:\n error,执行(19)

(18)计算i+=2,返回(6);

(19)计算n=n+1,返回(3);

流程图

 


 

代码:

#include<stdio.h>
int main()
{
 long n, i, k, j, sum,p;
 for (n = 2; n <= 10; n++) {
  k = n * n * n;
  for (i = 1; i < k / 2; i += 2) {
   for (j = i, sum = 0; sum < k; j += 2) {
    sum += j;
   }
   if (sum == k) {
    printf("\n%ld*%ld*%ld=%ld=", n, n, n, sum);
    for (p = i; p < j - 2; p += 2) {
     printf("%ld+", p);
    }
    printf("%ld", p);
    break;
   }
  }
  if (i <= k / 2) {
   printf("\n error!");
  }
}
 return 0;
}


运行结果:

 

完善程序题6
文字描述

(1)定义五个长整型常量,分别为m,n,k,s,flag;

(2)给flag赋值,flag=0;

(3)从键盘上获取一个数存入k;

(4)给k赋值,k=n;

(5)给m赋值,m=n;

(6)计算s=n*(n-m)-m*m;

(7)如果s*s==1为真,则执行(8),否则执行(9);

(8)给flag赋值,flag=1;

(9)计算m--;

(10)如果m>0&&!flag为真,则返回(6),否则执行(11);

(11)如果m==0为真,则执行n--;

(12)如果n>0&&!flag为真,则返回(5),否则执行(13);

(13)输出m,n;
流程图:

 

代码:

 

#include<stdio.h>
int main()
{
 long m, n, k, s, flag = 0;
 printf("input k:");
 scanf_s("%ld", & k);
 n = k;
 do {
  m = n;
  do {
   s = n * (n - m) - m * m;
   if (s * s == 1) {
    flag = 1;
   }
   else {
    m--;
   }
  } while (m > 0 && !flag);
  if (m == 0) {
   n--;
  }
 } while (n > 0 && !flag);
 printf("m=%ld,n=%ld", m, n);
 return 0;
}


运行结果;

完善程序题8
文字描述

(1) 定义三个整数变量和一个长整型变量,分别为i,j,line,n;

(2)从键盘上获取一个数存入n;

(3)如果n<=1,则执行(4),否则执行(5);

(4)重新输入一个数存入n;

(5)给i赋值,i=2;

(6)如果i<=n为真,则执行(7),否则循环结束;

(7)给j赋值,j=2;

(8)如果j<i为真,则执行(9),否则执行(11);

(9)如果i%j==0为真,则执行(10);

(10)计算j++,返回(8);

(11)如果j==i&&i%10!=9为真,则执行(12),否则执行();

(12)输出i,line++;

(13)如果line==10为真,则执行(14),否则执行(15);

(14)输出换行,line=0;

(15)计算i++,返回(6);

流程图

 


代码:

#include<stdio.h>
int main()
{
    int i, j, line = 0; long int n;
    printf("Please enter n:");
    scanf_s("%ld", &n);
    while (n <= -1)
    {
        printf("Enter error,enter again.");
        scanf_s("%ld", &n);
    }
    for (i = 2; i <= n; i++)
    {
        for (j = 2; j < i; j++)
            if (i % j == 0)break;
        if (j == i && i % 10 != 9)
        {
            printf("%d\t", i);
            line++;
            if (line == 10)
            {
                printf("\n"); line=0;
            }
        }
    }
    return 0;
}


运行结果:

 

完善程序题9
文字描述

(1)定义三个整数变量和两个长整型变量,分别为i,j,n,temp,sum;

(2)给sum赋值,sum=0;

(3)从键盘上获取一个数存入n;

(4)如果n<1||n>10为真,则执行(5),否则执行(6);

(5)重新从键盘上获取一个数存入n;

(6)i=0;

(7)如果i<n为真,则执行(8),否则执行(15);

(8)temp=0;

(9)j=0;

(10)如果j<=i为真,则执行(11),否则执行(13);

(11)计算temp+=(long int)pow(10,j)*(i+1);

(12)j++,返回(10);

(13)计算sum+=temp;

(14)i++,返回(7);

(15)输出sum;

流程图

 

代码:

#include<stdio.h>
#include<math.h>
int main()
{
 int i, j, n;
 long temp, sum = 0;
 printf("Plase input terms numbers.");
 scanf_s("%d", &n);
 while (n < 1 || n>10) {
  printf("Enter error,enter again.");
  scanf_s("%d", &n);
 }
 for (i = 0; i < n; i++) {
  temp = 0;
 }
 for (j = 0; j <= i; j++) {
  temp += (long int)pow(10, j) * (i + 1);
  sum += temp;
 }
 printf("sum=%ld\n", sum);
 return 0;
}


运行结果:

 

编程题1
文字描述

(1)定义四个整数变量,分别为i, j, n, sum;;

(2)n=0;

(3)i=1;

(4)如果i<1000为真,则执行(5),否则执行(13);

(5)sum=0;

(6)j=1;

(7)如果j<a为真,则执行(8),否则执行(10);

(8)如果i%j==0为真,则计算sum+=j,否则执行(9);

(9)j++,返回(7);

(10)如果sum==i为真,则输出i,n++,否则执行(11);

(11)如果n%5==0,输出换行;否则执行(12);

(12)i++;返回(4);

(13)输出n;

流程图

 


 

代码:

#include<stdio.h>
int main()
{
 int i, j, n = 0, sum;
 printf("1000以内的完数:");
 for (i = 1; i <= 1000; i++)
 {
  sum = 0;
  for (j = 1; j < i; j++)
  {
   if (i % j == 0)
    sum = sum + j;
  } 
  if (sum == i)
  {
   printf("%d\n", sum);
   n++;
  }
  if (n % 5 == 0)
  {
   printf("\n");
  }
  
 }
 printf("%d\n", n);
 return 0;
}


运行结果;

 

编程题2
文字描述

(1)定义两个整数变量,分别为year,n;

(2)n=0;

(3)year=1900;

(4)如果year<=2000为真,则执行(5),否则循环结束;

(5)如果year%4==0&&year%100!=0||year%400==0为真,则执行(6),否则执行(7);

(6)输出year,n++;

(7)如果n%3==0,则执行(8),否则执行(9);

(8)输出换行;

(9)year++,返回(4);

流程图:

 

 代码:

#include<stdio.h>
int main()
{
 int year, n = 0;
 for (year = 1900; year<= 2000; year++)
 {
  if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
   printf("%d\t", year);
   n++;
   if (n % 3 == 0) printf("\n");
  }
 }
 return 0;
}


运行结果:

 

编程题3
文字描述

(1)定义五个整数变量,分别为i,a,b,c,n;

(2)n=0;

(3)i=100;

(4)如果i<=999为真,则执行(5),否则循环结束;

(5)a=i/100;

(6)b=(i-a*100)/10;

(7)c=i%10;

(8)如果a*a*a+b*b*b+c*c*c==i为真,则执行(9),否则执行(11);

(9)输出i;

(10)n++;

(11)如果n%2==0为真,则执行(12),否则执行(13);

(12)输出换行;

(13)i++,返回(4);

流程图

 


 

代码

#include<stdio.h>
int main()
{
 int i, a, b, c, n = 0;
 for (i = 100; i <= 999; i++)
 {
  a = i / 100;
  b = (i - a * 100) / 10;
  c = i % 10;
  if (a * a * a + b * b * b + c * c * c == i)
  {
   printf("%d ", i);
   n++;
   if (n % 2 == 0)printf("\n");
  }
 }
 return 0;
}


运行结果:

 

编程题4
文字描述

(1)定义四个整数变量和一个小数变量,分别为i,k,n,m,e;

(2)k=1,e=1;

(3)从键盘上获取一个数存入n;

(4)m=1;

(5)i=1;

(6)如果i<=k为真,则执行(7),否则执行(9);

(7)m=m*i;

(8)i++,返回(6);

(9)e=e+1.0/m;

(10)k++;

(11)如果k<=n为真,则执行(4),否则执行(12);

(12)输出e;

流程图

 


 

代码

#include<stdio.h>
int main()
{
 int k = 1, i, n, m;
 float e = 1;
 scanf_s("%d", &n);
 do {
  m = 1;
  for (i = 1; i <= k; i++) {
   m = m * i;
  }
  e = e + 1.0 / m;  
  k++;
 } while (k <= n);
 printf("%.2f", e);
 return 0;
}


 运行结果

 

编程题5
文字描述

(1)定义六个小数变量,分别为y,s,x,k,a,i;

(2)s=1,k=1,a=1,i=1;

(3)从键盘上输入一个数存入x;

(4)a=-a;

(5)i++;

(6)k=k*x;

(7)y=i/k;

(8)s=s+a*y;

(9)如果y>0.00001为真,返回(4),否则执行(10);

(10)输出s;

流程图

 

代码:

#include<stdio.h>
int main()
{
 float y, s = 1, x, xx = 1, a = 1, i = 1;
 scanf_s("%f", &x);
 do
 {
  a = -a;
  i++;
  xx = xx * x;
  y = i / xx;
  s = s + a * y;
 } while (y > 0.00001);
 printf("%f", s);
 return 0;
}

结果

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值