首页 > 编程语言 >C编程题

C编程题

时间:2024-07-06 21:30:26浏览次数:1  
标签:arr return int 编程 str printf 字符串

1. 简单的计算器
题目:编写一个简单的计算器程序,能够进行加、减、乘、除运算。用户输入两个数字和一个运算符,程序输出运算结果。

#include <stdio.h>

int main() {
    char operator;
    double num1, num2, result;

    printf("Enter an operator (+, -, *, /): ");
    scanf("%c", &operator);

    printf("Enter two operands: ");
    scanf("%lf %lf", &num1, &num2);

    switch (operator) {
        case '+':
            result = num1 + num2;
            break;
        case '-':
            result = num1 - num2;
            break;
        case '*':
            result = num1 * num2;
            break;
        case '/':
            if (num2 != 0) {
                result = num1 / num2;
            } else {
                printf("Error! Division by zero.\n");
                return 1;
            }
            break;
        default:
            printf("Error! Operator is not correct.\n");
            return 1;
    }

    printf("Result: %.2lf %c %.2lf = %.2lf\n", num1, operator, num2, result);
    return 0;
}
2. 查找最大值和最小值
题目:编写一个程序,读取一个整数数组,并找出数组中的最大值和最小值。

#include <stdio.h>

int main() {
    int n, i;
    printf("Enter the number of elements: ");
    scanf("%d", &n);

    int arr[n];
    printf("Enter the elements: ");
    for (i = 0; i < n; i++) {
        scanf("%d", &arr[i]);
    }

    int max = arr[0];
    int min = arr[0];

    for (i = 1; i < n; i++) {
        if (arr[i] > max) {
            max = arr[i];
        }
        if (arr[i] < min) {
            min = arr[i];
        }
    }

    printf("Maximum value: %d\n", max);
    printf("Minimum value: %d\n", min);

    return 0;
}
3. 判断回文字符串
题目:编写一个程序,判断一个字符串是否是回文字符串。

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

// 判断字符串是否为回文字符串的函数
int isPalindrome(char str[]) {
    int left = 0;
    int right = strlen(str) - 1;

    while (left < right) {
        if (str[left] != str[right]) {
            return 0; // 不是回文字符串
        }
        left++;
        right--;
    }
    return 1; // 是回文字符串
}

int main() {
    char str[100];

    printf("请输入一个字符串: ");
    scanf("%s", str);

    if (isPalindrome(str)) {
        printf("字符串 \"%s\" 是回文字符串。\n", str);
    } else {
        printf("字符串 \"%s\" 不是回文字符串。\n", str);
    }

    return 0;
}
4. 冒泡排序
题目:编写一个程序,使用冒泡排序算法对一个整数数组进行排序。

#include <stdio.h>

void bubbleSort(int arr[], int n) {
    int i, j, temp;
    for (i = 0; i < n - 1; i++) {
        for (j = 0; j < n - i - 1; j++) {
            if (arr[j] > arr[j + 1]) {
                // 交换 arr[j] 和 arr[j+1]
                temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
}

int main() {
    int n, i;
    printf("Enter the number of elements: ");
    scanf("%d", &n);

    int arr[n];
    printf("Enter the elements: ");
    for (i = 0; i < n; i++) {
        scanf("%d", &arr[i]);
    }

    bubbleSort(arr, n);

    printf("Sorted array: ");
    for (i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");

    return 0;
}
5. 斐波那契数列
题目:编写一个程序,生成并打印前 N 个斐波那契数。

#include <stdio.h>

void printFibonacci(int n) {
    int a = 0, b = 1, next;
    for (int i = 1; i <= n; i++) {
        printf("%d ", a);
        next = a + b;
        a = b;
        b = next;
    }
    printf("\n");
}

int main() {
    int n;
    printf("Enter the number of Fibonacci numbers to generate: ");
    scanf("%d", &n);

    printFibonacci(n);

    return 0;
}

标签:arr,return,int,编程,str,printf,字符串
From: https://www.cnblogs.com/levizhong/p/18287948

相关文章

  • C++题解(3) 信息学奥赛一本通: 1013:温度表达转化 洛谷:B2013 温度表达转化 土豆编程:M
    【题目描述】利用公式 C=5×(F−32)÷9C=5×(F−32)÷9(其中CC表示摄氏温度,FF表示华氏温度)进行计算转化,输入华氏温度FF,输出摄氏温度CC,要求精确到小数点后55位。【输入】输入一行,包含一个实数FF,表示华氏温度。(F≥−459.67)(F≥−459.67)【输出】输出一行,包含一个......
  • 零基础STM32单片机编程入门(八)定时器PWM输入实战含源码视频
    文章目录一.概要二.PWM输入框架图三.CubeMX配置一个PWM输入例程1.硬件准备2.创建工程3.调试四.CubeMX工程源代码下载五.讲解视频链接地址六.小结一.概要脉冲宽度调制(PWM),是英文“PulseWidthModulation”的缩写,简称脉宽调制,是利用单片机数字输出(1或0)来对外部模拟......
  • 【C语言入门】初识C语言:掌握编程的基石
    ......
  • 有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母
    /有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?/#include<stdio.h>intfun(intn,int*cache){if(n==1||n==2||n==3){returnn;}if(cache[n]......
  • Java AI 编程助手
    JavaAI编程助手是指利用人工智能技术来增强和优化Java开发过程中的各种任务和活动。它可以涵盖从代码生成和分析到测试和优化的多个方面,帮助开发人员提高生产效率、降低错误率,并优化代码质量和性能。###功能和特点1.**智能代码生成和建议**:  -**代码模板和片段生成*......
  • Qt网络编程
    0.前置知识Socket是不同主机之间通信的APIIP地址用于区分不同主机/端口用于区分不用应用QHostInfo可查找与主机名相关联的IP地址或与IP地址相关联的主机名。该类提供了两个静态便利函数:一个是异步函数,在找到主机后发出信号;另一个是阻塞函数,返回一个QHostInfo对象。......
  • 并发编程面试1
    一、进程,线程,协程的区别1、进程:操作系统进行资源分配和调度的基本单位。每个进程有独立的内存空间。进程通讯就采用共享内存,MQ,管道。2、线程:一个进程可以包含多个线程,线程就是CPU调度的基本单位。一个线程只属于某一个进程。线程之间通讯,队列,await,signal,wait,notity,Exchanger......
  • Python异步编程技术详解:async、await、yield和anext
    Python异步编程技术详解:async、await、yield和anext1.async和await2.yield3.anext4.StopAsyncIteration5.综合示例:异步聊天机器人总结异步编程是Python中一种强大的并发编程模式,可以显著提高I/O密集型应用的性能。本文将详细介绍Python中的几种重要的异步编......
  • 为什么现在的AI编程师都是用Python来编程?
    前言: 在当今AI大火的时节,涌入了一大批AI编程师,和AI训练师!显而易见他们都是用的Python语言来编程的。当然AI也给我们的工作带来了很多便利,比如AI绘画,写文章,视频剪辑,脚本创做等等方面现在都可以来用AI来协助我高效完成工作。那么我们来看看现在的AI编程师为什么都用Python语言......
  • 手把手教你解决spring boot导入swagger2版本冲突问题,刘老师教编程
    手把手教你解决springboot导入swagger2版本冲突问题本文仅为个人理解,欢迎大家批评指错首先SpringBoot3和Swagger2不兼容。在SpringBoot3中,应该使用Springdoc或其他与SpringBoot3兼容的API文档工具来替代Swagger2。Swagger2的依赖底层使用的是javax......