C语言基础算法复习

这篇具有很好参考价值的文章主要介绍了C语言基础算法复习。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

001   求pi的近似值的问题

C语言基础算法复习,算法,c语言,开发语言

#include <stdio.h>
#include <math.h>
int main()
{
int i;
double sum;
for(sum=0,i=1;1.0/pow(i,2)>=1e-5;++i)
sum+=1.0/pow(i,2);
printf("%lf\n",sqrt(sum*6));
return 0;
}

C语言基础算法复习,算法,c语言,开发语言

002;

水仙花数问题

001 如果题目没有给出具体范围,而是让判断一个数是否为水仙花数;

具体code as follow;

//题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。
//例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
#include<stdio.h>
int main()
{
    int n,i;
    int a,b,c;
    scanf("%d",&n);
    for(i=1;; i++)
    {
        a=n%10;
        b=(n/10)%10;
        c=n/100;
        if(a*a*a+b*b*b+c*c*c==n)
        {
            printf("%d是水仙花数",n);
            break;
        }
        else
            printf("no");
        break;
    }

    return 0;
}

C语言基础算法复习,算法,c语言,开发语言

C语言基础算法复习,算法,c语言,开发语言

002 题目给出了具体范围,这样的话就相对来说简单一点了

// 100-1000之间的水仙花数
#include<stdio.h>
#include<math.h>
int main()
{
    int i;
    int a,b,c;
    for(i=100;i<1000;i++)
    {
        a=i%10;
        b=(i/10)%10;
        c=i/100;
        if(pow(a,3)+pow(b,3)+pow(c,3)==i)
            printf("%d,",i);
    }
    return 0;
}

 C语言基础算法复习,算法,c语言,开发语言

003

待更

003 斐波那契数列问题

#include<stdio.h>
int main()
{
    int i,f1=1,f2=1,f3,num;
    printf("%5d %5d",f1,f2);
    num=2;
    for(i=1; i<=18; i++)
    {
        f3=f1+f2;
        f1=f2;
        f2=f3;
        num++;
        printf("%5d",f3);
        if(num%4==0) printf("\n");
    }
    return 0;
}
//#输数斐波那契数列的前20项 f1=1,f2=2,f3=f1+f2,f4=f2+f3....
#include<stdio.h>
int main()
{
 int i,f1=1,f2=1;
 for(i=1;i<=10;i++)
 {
     printf("%5d %5d",f1,f2);
     f1=f1+f2;
     f2=f1+f2;
     printf("\n");
 }
 return 0;
}

004 9*9乘法表

//9*9乘法表
#include<stdio.h>
int main()
{
    int sum = 1;
    for (int i = 1; i <= 9; i++)
    {
        for (int j = 1; j <= i; j++)
        {
            sum = i * j;
            printf("%d*%d=%d\t", i,j, sum);
        }
        printf("\n");
    }
}

001 以下是关于一些阶乘的问题

#include<stdio.h>
int main()
{
    int n,i;
    long fac=1;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
        fac=fac*i;
    printf("%d!=%d",n,fac);
    return 0;
}

打印一些图形

#include<stdio.h>
int main()
{
    for (int i = 1; i <= 3; i++)
    {
        for (int j = 1; j <= i; j++)
        {
            printf("*");
        }
        printf("\n");
    }
}

C语言基础算法复习,算法,c语言,开发语言

#include<stdio.h>
int main()
{
    for (int i = 1; i <= 3; i++)
    {
        for (int j = 1; j <= 2*i-1; j++)
        {
            printf("*");
        }
        printf("\n");
    }
}

C语言基础算法复习,算法,c语言,开发语言

#include<stdio.h>
int main()
{
    for (int i = 1; i <= 5; i++)
    {
        for(int j=1;j<7-i;j++)//注意这里的条件最好不要小于外层循环
            printf(" ");
        for (int j = 1; j <= 2*i-1; j++)
        {
            printf("*");
        }
        printf("\n");
    }
}

C语言基础算法复习,算法,c语言,开发语言

数字金字塔

#include<stdio.h>
int main()
{
    int i,j,n=4;
    for(i=1; i<=n; i++)
    {

        for(j=1; j<=n-i; j++)
            printf(" ");
        for(j=1;j<=i;j++)
            printf("%d",j);
        for(j=i;j>1;j--)
            printf("%d",j-1);
        printf("\n");
    }
}

C语言基础算法复习,算法,c语言,开发语言

字母转换问题

#include<stdio.h>
int main()
{
    char ch;
    while(1)
    {
        ch=getchar();
        if(ch>='a'&&ch<='z')
            putchar(ch-32);
        else break;
    }
    return 0;
}
//输入的小写字母转换成大写字母,直到输入非小写字符为止
#include<stdio.h>
int main()
{
    char ch;
    ch=getchar();
    while(ch>='a'&&ch<='z')
    {
        putchar(ch-32);
        ch=getchar();
    }
    return 0;
}

统计字符个数问题

001

#include <stdio.h>

int main()
{
    char c; // 临时字符
    int letters = 0; // 字母个数
    int spaces = 0; // 空格个数
    int digits = 0; // 数字字符
    int others = 0; // 其他字符
    printf("请输入一串字符,以回车结束:");
    while ((c = getchar()) != '\n')
    {
        if ((c >='a' && c <= 'z') || (c >= 'A' && c <= 'Z'))
        {
            letters++;
        }
        else if (c >= '0' && c <= '9')
        {
            digits++;
        }
        else if (c == ' ')
        {
            spaces++;
        }
        else
        {
            others++;
        }
    }
    printf("字母个数为%d\n", letters);
    printf("数字个数为%d\n", digits);
    printf("空格个数为%d\n", spaces);
    printf("其他个数为%d\n", others);
    return 0;
}

C语言基础算法复习,算法,c语言,开发语言

002 以下是关于一些素数的问题文章来源地址https://www.toymoban.com/news/detail-725019.html

#include<stdio.h>
int main()
{
    int n,i;
    scanf("%d",&n);
    for(i=2; i<n; i++)
    {
        if(n%i==0) break;
    }
    if (i == n)
        printf("%d 是素数。", n);
    else
        printf("%d 不是素数。", n);

    return 0;
}
// 输入一个大于3的整数,判断它是否为素数;只能被1和自身整数的正整数,1不是素数,2是素数
#include<stdio.h>
int main()
{
    int n,i,k;
    scanf("%d",&n);
    k=sqrt(n);
    for(i=2;i<=k+1;i++)
        if(n%i==0)
        break;
    if(i>k+1)
        printf("%d是素数\n",n);
    else
        printf("%d不是素数\n",n);
    return 0;
}
#include<stdio.h>
#include<math.h>
int main()
{
    int n,i,k;
    scanf("%d",&n);
    if(n<=1)
        printf("%d不是素数!\n",n);
    else if(n==2)
        printf("%d是素数!\n",n);
    else
    {

        k=sqrt(n);
        for(i=2; i<=k+1; i++)
            if(n%i==0)
                break;
        if(i>k+1)
            printf("%d是素数\n",n);
        else
            printf("%d不是素数\n",n);
    }
    return 0;
}
#include<stdio.h>
int main()
{
    int n,i,k,isprime=1;
    scanf("%d",&n);
    k=sqrt(n);
    for(i=2;i<=k+1;i++)
        if(n%i==0)
        {
            isprime=0;
            break;
        }
    if(isprime==1)
        printf("%d是素数\n",n);
    else
        printf("%d不是素数\n",n);
    return 0;
}
//100--200之间的素数
#include<stdio.h>
int main()
{
    int n,i,k,isprime;
    for(n=100; n<=200; n++)
    {
        isprime=1;
        k=sqrt(n);
        for(i=2; i<=k+1; i++)
            if(n%i==0)
            {
                isprime=0;
                break;
            }
        if(isprime==1)
            printf("%d ",n);
    }
    return 0;
}

到了这里,关于C语言基础算法复习的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • DS作业0-C语言基础知识复习(含指针与链表)

    判断题: 1.直接访问就是直接利用变量的地址直接进行访问。T 2.可以用一个指针变量指向一个函数,然后通过该指针变量调用此函数。T 3.int (*p)[4]它表示p是一个指针数组,它包含4个指针变量元素。F (是int类型数组,里面有4个指针变量元素) 4.结构体变量可以作数组元素。

    2024年02月04日
    浏览(45)
  • C语言基础算法题

    1、计算并输出1到100之间所有偶数之和;  2、招数数组中的最大值和最小值;  3、将给定的字符串反转; 4、判定一个给定的字符串是否是回文字符串; 5、计算一个给定数字的阶乘; 6、找出一个对给定数组中的所有重复元素; 7、将一个给定的整数数组按升序排序; 8、判

    2024年02月14日
    浏览(39)
  • 007+limou+C语言基础排序算法(上)

    您好这里是limou3434的一篇博文,感兴趣可以看看我的其他内容。 排序算法简单理解就是:一串数组经过排序算法后得到有序的数组。排序算法在不同应用场景有不同的效果,因此我们有必要了解一些基础的排序算法。 而本次我给您带来的是一些基础的排序算法,主要涉及四

    2024年02月11日
    浏览(47)
  • C语言分析基础排序算法——交换排序

    目录 交换排序 冒泡排序 快速排序 Hoare版本快速排序 挖坑法快速排序 前后指针法快速排序 快速排序优化 快速排序非递归版 见C语言基础知识指针部分博客C语言指针-CSDN博客 Hoare版本快速排序 Hoare版本快速排序的过程类似于二叉树前序遍历的过程,基本思想是:在需要排序的

    2024年03月14日
    浏览(48)
  • 顺序表基本操作算法——基础代码(C语言)

     创建一个顺序表(数据元素个数为5), 输出顺序表中的所有数据元素 查找第3个位置上的元素 查找元素15是否在顺序表中,如果在,请输出该元素在顺序表中的位置 在顺序表中的第1个位置插入数据0 删除刚刚插入的元素 输出顺序表中的所有数据元素 运行结果如下  

    2024年02月06日
    浏览(49)
  • kotlin基础--快速上手kotlin语言开发

    1.1 变量 var表示可变变量,val表示不可变变量,注意并不是常量。变量名写在前面,类型写在后面,编译器如果能推断出你的类型,那么类型是不用声明的 。 编译器自动推断类型。 空安全类型编译器报错 如果还是想给赋初始化值的话 注意:String和String?是两个完全不同的类

    2024年02月15日
    浏览(54)
  • 【HarmonyOS北向开发】-04 ArkTS开发语言-ArkTS基础知识

     飞书原文档:Docs

    2024年02月11日
    浏览(55)
  • 自动化理论基础(2)—开发语言之Python

    一、知识汇总 掌握 Python 编程语言需要具备一定的基础知识和技能,特别是对于从事自动化测试等领域的工程师。以下是掌握 Python 的一些关键方面: 基本语法: 理解 Python 的基本语法,包括变量、数据类型、运算符、条件语句、循环语句等。 数据结构: 熟悉并能够使用

    2024年01月18日
    浏览(61)
  • 【Go】Go语言开发0基础7天入门 - 笔记

    课程来源:【路飞学城】-黑金年卡VIP课程 课程名称:GO语言开发0基础7天入门 讲师:【 前汽车之家架构师 】Wusir-银角大王 官网:点击进入 集python简洁 + C语言性能 详情点击 编程语言 实战经验 源码 并发架构 新语言触类旁通 1.1 开篇介绍(必看) 1.2 环境搭建前戏 1.3 mac系统G

    2024年02月16日
    浏览(50)
  • go语言从0基础到安全项目开发实战

    搭建环境比较简单 到以下链接下 Go下载 - Go语言中文网 - Golang中文社区 下载windows版本64位zip包 https://studygolang.com/dl/golang/go1.20.7.windows-amd64.zip 不配置的话就只能在bin目录下才能运行go命令 创建test.go文件 然后代码如下 编译运行  两种方式编译运行代码 1.先 go build test.go编译成

    2024年02月13日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包