C语言循环与数组编程实例

111、编写一个程序,持续读取整数并显示这些整数,直到用户输入 0 为止。数字 0 不能被显示。

以下是一个用 C 语言实现该功能的示例代码:

#include <stdio.h>
int main() {
    int num;
    while (1) {
        scanf("%d", &num);
        if (num == 0) {
            break;
        }
        printf("%d\n", num);
    }
    return 0;
}

上述代码使用 while 循环持续读取用户输入的整数,当输入为 0 时使用 break 语句跳出循环,否则将输入的整数输出。

112、找出以下程序中的迭代次数。#include int main(void){ int a = 256, b = 2; while(a != b) { b = b*b; a >>= 2; } return 0;}

3次

113、以下程序的输出是什么?#include int main(void){ int i = -2; while(i-6) { printf(“One “); i++; while(!(i+1)) { printf(“Two “); i–; } i += 2; } return 0;}

One Two One One One One One One

114、编写一个程序,持续读取一个整数,并根据输入的整数次数显示“Hello”。如果用户输入负数,整数输入应结束,程序应显示已显示的“Hello”的总数。仅使用 while 循环。

#include <stdio.h>

int main(void) {
    int i, num, times;
    times = 0;
    while(1) {
        printf("Enter number: ");
        scanf("%d", &num);
        if(num < 0)
            break;
        i = 0;
        while(i < num) {
            printf("Hello\n");
            i++;
        }
        times += num;
    }
    printf("Total number is = %d\n", times);
    return 0;
}

115、编写一个程序,持续读取商店产品的价格,直到用户输入 -1 为止。在程序结束前,应显示价格在 [5, 30] 范围内的最低价格、最高价格和平均价格。假设最高价格为 100 美元。

#include <stdio.h>

int main(void) {
    int set_prc = 0;
    float min = 100, max = 0, prc, sum_prc = 0;

    while(1) {
        printf("Enter price: ");
        scanf("%f", &prc);
        if(prc == -1)
            break;
        if(prc >= 5 && prc <= 30) {
            sum_prc += prc;
            set_prc++;
            if(prc < min)
                min = prc;
            if(prc > max)
                max = prc;
        }
    }

    if(set_prc > 0) {
        float avg = sum_prc / set_prc;
        printf("Lowest price = %.2f\n", min);
        printf("Highest price = %.2f\n", max);
        printf("Average price = %.2f\n", avg);
    } else {
        printf("No prices in the range [5, 30] were entered.\n");
    }

    return 0;
}

116、编写一个程序,持续读取一个范围在 [0, 255] 内的整数,并以二进制形式显示该整数。例如,如果用户输入 32,程序应显示 00100000。对于任何不在 [0, 255] 范围内的值,程序应终止。

以下是一个Python示例代码来实现该功能:

while True:
    try:
        num = int(input())
        if 0 <= num <= 255:
            binary_str = bin(num)[2:].zfill(8)
            print
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值