C Primer Plus编程习题(第6章)

本文提供了多个C语言编程实例,涵盖数组操作、字符串处理、数学计算等核心内容,通过实际代码展示了循环、条件判断、函数调用等编程技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1

在这里插入图片描述

2

在这里插入图片描述

3

#include<stdio.h>
#define ROWS 6

int main(void)
{
    int i, j;

    for (i = 0; i < ROWS; i++)
    {
        char ch = 'F';
        for (j = 0; j <= i; j++, ch--)
        {
            printf("%c", ch);
        }
        printf("\n");
    }

    return 0;
}

4

#include<stdio.h>
#define ROWS 6

int main(void)
{
    int i,j;
    char ch = 'A';

    for (i = 0; i < ROWS; i++)
    {
        for (j = 0; j <= i; j++,ch++)
            printf("%c", ch);
        printf("\n");
    }

    return 0;
}

5

#include<stdio.h>

int main(void)
{
    int i, j;
    char ch;

    printf("请输入大写字母: ");
    scanf("%c", &ch);
    for (i = 0; i < (ch - 'A' + 1); i++)
    {
        for (j = 0; j < (ch - 'A' + 1 - i); j++)
        {
            printf(" ");
        }
        for (j = 0; j <= i; j++)
        {
            printf("%c", 'A' + j);
        }
        for (j = i - 1 ; j >= 0; j--)
        {
             printf("%c", 'A' + j);
        }
        printf("\n");
    }

    return 0;
}

6

#include<stdio.h>

int main(void)
{
    int num1, num2, i;

    printf("请输入表格的上限: ");
    scanf("%d", &num1);
    printf("请输入表格的下限: ");
    scanf("%d", &num2);
    printf("    n     n^2   n^3\n");
    for (i = 0; i < (num2 - num1 + 1); i++)
    {
        printf("%5d %5d %5d\n", num1 + i, (num1 + i) * (num1 + i),
                   (num1 + i) * (num1 + i) * (num1 + i));
    }

    return 0;
}

7

#include<stdio.h>
#include<string.h>

int main(void)
{
    char str[26];
    int i, max;

    printf("Please input a word:");
    scanf("%s", str);
    max = strlen(str) - 1;
    for (i = max; i >= 0; i--)
    {
        printf("%c", str[i]);
    }

    return 0;
}

8

#include<stdio.h>

int main(void)
{
    float a, b;
    printf("请输入两个浮点数:");
    while(scanf("%f%f", &a, &b) == 2)
    {
        printf("%f\n", (a - b) / (a * b));
        printf("请输入两个浮点数:");
    }
    printf("Done!\n");

    return 0;
}

9

#include<stdio.h>
float print_num(float n, float m);

int main(void)
{
    float a, b;
    printf("请输入两个浮点数:");
    while(scanf("%f%f", &a, &b) == 2)
    {
        print_num(a, b);
        printf("请输入两个浮点数:");
    }
    printf("Done!\n");

    return 0;
}
float print_num(float n, float m)
{
    float x;
    x = (n - m) / (n * m);
    printf("The result is %f\n", x);
}

10

#include<stdio.h>
void cal(int a, int b);

int main(void)
{
    int num1, num2;
    printf("Enter lower and upper integer limits:");
    while (scanf("%d %d", &num1, &num2) == 2 && num2 > num1)
    {
        cal(num1, num2);
        printf("Enter next set of limits:");
    }
    printf("Done!\n");

    return 0;
}
void cal(int a, int b)
{
    int i;
    int sum = 0;
    for (i = a; i <= b; i++)
    {
        sum += i * i;
    }
    printf("The sum of squares from %d to %d is %d\n", a * a, b * b, sum);
}

11

#include<stdio.h>

int main(void)
{
    int num[8];
    int i;
    printf("Please enter eight numbers:");
    for (i = 0; i < 8; i++)
    {
        scanf("%d", &num[i]);
    }
    for (i = 7; i >= 0; i--)
    {
        printf("%d", num[i]);
    }
    printf("\n");

    return 0;
}

12

#include<stdio.h>
float sum1(int num);
float sum2(int num);

int main(void)
{
    int num;

    printf("Enter the number: ");
    while(scanf("%d", &num) ==1 && num > 0)
    {
        printf("The first sequence is %f\n", sum1(num));
        printf("The second sequence is %f\n", sum2(num));
        printf("Enter the number: ");
    }
    printf("Done!\n");

    return 0;
}
float sum1(int num)
{
    int i;
    float sum = 0.0;

    for (i = 1; i <= num; i++)
        sum += 1.0 / i;

    return sum;
}
float sum2(int num)
{
    int i;
    float sum = 0.0;
    int j = -1;

    for (i = 1; i <= num; i++)
    {
        j *= -1;
        sum += (1.0 / i) * j;
    }

    return sum;
}

13

#include<stdio.h>
#include<math.h>

int main(void)
{
    int num[8];
    int i;
    for (i = 0; i < 8; i++)
    {
        num[i] = pow(2, (i + 1));
    }
    i = 0;
    do
    {
        printf("%d|", num[i]);
        i++;
    }while(i < 8);

    return 0;
}

14

#include<stdio.h>

int main(void)
{
    double num1[8], num2[8];
    int i, j;

    printf("Please enter eight numbers.\n");
    for (i = 0; i < 8; i++)
    {
        scanf("%lf", &num1[i]);
        for (j = 0, num2[i] = 0; j <= i; j++)
        {
            num2[i] += num1[j];
        }
    }
    for (i = 0; i < 8; i++)
    {
        printf("%3lf\t", num1[i]);
    }
    printf("\n");
    for (i = 0; i < 8; i++)
    {
        printf("%3lf\t", num2[i]);
    }

    return 0;
}

15

#include<stdio.h>
#include<string.h>

int main(void)
{
    int i, num;
    char str[255];

    printf("Please enter a word.\n");
    scanf("%s", str);
    num = strlen(str) - 1;
    for (i = num; i >= 0; i--)
    {
        printf("%c", str[i]);
    }

    return 0;
}

16

#include<stdio.h>
double Daphne(int num);
double Deirdre(int num);
int main(void)
{
    int num = 1;

    while (Deirdre(num) <= Daphne(num))
    {
        num++;
    }
    printf("It needs %d years, Deirdre will have %.1f money and Daphne will have %.1f money.\n",
           num, Deirdre(num), Daphne(num));

    return 0;
}
double Daphne(int num)
{
    double sum = 100.0;
    int i;
    for (i = 0; i <= num; i++)
    {
        sum += 0.1 * 100.0;
    }
    return sum;
}
double Deirdre(int num)
{
    double sum = 100.0;
    int i;
    for (i = 0; i <= num; i++)
    {
        sum *= 1.05;
    }
    return sum;
}

17

#include<stdio.h>

int main(void)
{
    int i;
    double sum = 100.0;

    while (sum > 0)
    {
        sum *= 1.08;
        sum -= 10;
        i++;
    }
    printf("It needs %d years.\n", i);

    return 0;
}

18

#include<stdio.h>
#define DBS 150

int main(void)
{
    int i;
    int num = 5;

    for (i = 1; num <= DBS; i++)
    {
        num -= i;
        num *= 2;
        printf("Rabnud has %d friends in this week.\n", num);
    }
    printf("You have too many friends!\n");

    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值