C Primer Plus 第六版第六章编程练习答案

部分习题代码丢失,需要请联系博主。
编译环境:Visual Studio 2017

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
#define da 0.1
#define de 0.05
 //9. out(double a, double b);
int main(void)
//1
{
    char a[26];
    int i;
    for (i = 0; i < 26; i++)
    {
        a[i] = 'a' + i;
        printf("%c\t",a[i]);
    }
    system("pause");
    return 0;
}
//2
{
    int row, num;
    for (row = 1; row < 6; row++)
    {
        for (num = 0; num < row; num++)
            printf("$");
        printf("\n");
    }
    system("pause");
    return 0;
}
//3
{
    int i,j;
    for (i = 1; i < 7; i++)
    {
        for (j=0;j<i;j++)
        {
            printf("%c", 'f'-j);
        }
        printf("\n");
    }
    system("pause");
    return 0;
}
//4
{
    int i, j, k;
    k = 0;
    for (i = 1; i < 7; i++)
    {

        for (j = 0; j<i; j++)
        {
            k++;
            printf("%c", 'a'+k-1);
        }
        printf("\n");
    }
    system("pause");
    return 0;
}
//5
{
    int i, bl, br, l, r, n, p,k;
    char a;
    printf("please input capital letter:\n");
    scanf("%s", &a);
    n = a - 64;
    printf("%d\n", n);
    for (i = 1; i <= n; i++)
    {
        for (bl =1; bl <= n-i; bl++)
            printf(" ");
        for (l = n - i + 1, p = 0; l <= n, p < i; l++, p++)
        {
            //k = p;
            printf("%c", 'a' + p);
        }
        for (r = n+1; r <= n + i - 1; r++,p--)
            printf("%c",'a'+p-2);
        for (br = n+i; br <=2*n-1 ; br++)
            printf(" ");
        printf("\n");
    }
    system("pause");
    return 0;
}
//6
{
    int min, max, inp;
    printf("please input the min and the max:\n");
    scanf("%d %d", &min, &max);
    for (inp = min; inp <= max; inp++)
        printf("%d\t%d\t%d\n", inp, (int)pow(inp,2), (int)pow(inp, 3));
    //关于pow的问题:https://blog.csdn.net/xiaohan13916830/article/details/198767
    system("pause");
    return 0;

}
//7
{
    int length;
    char word[20];
    printf("please input a word:\n");
    scanf("%s", word);
    length = strlen(word);
    for (; length >= 0; length--)
        printf("%c", word[length-1]);//最后一个是空字符!
    system("pause");
    return 0;

}
//8
{
double a, b;
printf("please input two float numbers:\n");
while ((scanf("%lf %lf", &a, &b)) == 2)
printf("%lf\n", (a - b) /( a * b));
system("pause");
return 0;
}
//9
{
  double a, b;
  printf("please input two float numbers:\n");
  while ((scanf("%lf %lf", &a, &b)) == 2)
  out(a, b);
  system("pause");
  return 0;
}
out(double a, double b)
{
        printf("%lf\n", (a - b) / (a * b));
}
//10
{
    long lower, upper,sum, a;//注意范围!
    sum = 0;
    printf("enter lower and upper integer limits:");
    scanf("%ld%ld", &lower, &upper);
    while (lower<upper)
    {
        a = lower;
        for (;lower<=upper;lower++)
            sum = sum + (int)pow(lower, 2);
        printf("the sum of the squares from %ld to %ld is %ld\n",
            (int)pow(a, 2), (int)pow(upper, 2), sum);
        printf("enter lower and upper integer limits:");
        scanf("%ld%ld", &lower, &upper);
    }
    system("pause");
    return 0;
}
//11
{
int a[20],i;
for (i=0;i<8;i++)
scanf("%d",&a[i]);
for (i = 7; i>=0; i--)
    printf("%d", a[i]);
system("pause");
return 0;

}
//12
{
double a=0, b=0, sum;
long i,n;
printf("pleas input  times:");
scanf("%d", &n);
while (n>0)
{
    a = b = 0;
    for (i = 1; i <= n; i++)
    {

      a = a + 1.0 / (double)i;
        b = b + (int)pow(-1, i+1)*1.0 / (double)i;
    }
    sum = a + b;
    printf("a+b=%lf\n",sum);
    printf("a=%lf\n", a);
    printf("b=%lf\n", b);
    printf("pleas input  times:");
    scanf("%d", &n);
}
system("pause");
return 0;
}
//13
{
int num[8],i;
for (i = 0; i < 8; i++)
    num[i] = (int)pow(2, i);
i = i - 1;
do
{
    printf("%d\n", num[i]);
    i--;
} while (i>=0);
system("pause");
return 0;
}
//14

{
double a[8], b[8];
int i;  
for (i = 0; i < 8; i++)
{   
    scanf("%lf", &a[i]);
    if (i==0)
        b[i] = a[0];
    else
        b[i] = b[i - 1] + a[i];
    printf("%2lf\t", a[i]);
}
printf("\n");
for (i = 0; i < 8; i++)
printf("%lf\t", b[i]);
system("pause");
return 0;
}
//15
{
char word[10];
int i;
for (i = 0; i < 10; i++)
{
    scanf("%c", &word[i]);
    if (word[i] == '\n')
        break;

}
for (; i >= 1; i--)
printf("%c",word[i-1]);
system("pause");
return 0;
}
//16
{
double da=100,de=100;
int i;
for (i = 1; de <= da; i++)
{
    da = 100 + 100 * da*i;
    de = de + de * de;
    printf("da=%lf,de=%lf,i=%d\n", da, de,i);
}
printf("da=%lf,de=%lf,i=%d", da, de, i);
system("pause");
return 0;
}
//17
{
double yu=100.0;
int i;
for (i = 1; yu > 0; i++)
{
    yu = (yu + yu * 0.08) - 10;
    printf("yu=%lf\ti=%d\n", yu, i);
}
system("pause");
return 0;
}
//18
{
    int a = 5, i;
    for (i = 1; a < 150; i++)
    {
        a = (a - i) * 2;
        printf("a=%d\ti=%d\n", a, i);   
    }

    system("pause");
    return 0;
}
{
double b;
long a,i;
while (scanf("%ld", &i)==1)
{
    b = 0;
    for (a = 1; a <= i; a++)
        b = b + 1.0 / a;
    printf("b=%lf\n", b);
    printf("st=%lf\n", 0.577 + log(i));
}

system("pause");
return 0;

}

2018.6.1

猜你喜欢

转载自blog.csdn.net/qq_38967295/article/details/80532168