首页 > 其他分享 >c语言第五章循环1.0

c语言第五章循环1.0

时间:2024-09-08 20:51:36浏览次数:5  
标签:1.0 CRT NO int sum ++ 第五章 printf 循环

#define _CRT_SECURE_NO_WARNINGS
循环结构

例1.1 1到100求和

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main() {
    int sum=0;
    for (int i = 1; i <= 100; i++) {
        sum = sum + i;
    }
    printf("%d", sum);

    return 0;
}

例5.4 捐款,超过10万停,并计算人数

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main() {
    int sum=0;
    int people=1;
    int n;
    scanf("%d", &n);//输入捐款钱数
    if (n > 100000) {//如果一个人就捐够了直接输出
        people++;
        printf("总捐款为:%d\n",n);
        printf("每人平均捐款:%lf\n", n);//保留两位小数不能这么写,要再写一个printf
        printf("捐款人数为:1\n");
    }
    else {//多个人捐款

        while (1) {
            sum = sum+n;//捐款总数
            if (sum > 100000) {//超过十万退出循环
                break;
            }
            else {//没超过,人数加一,继续捐款
                people++;
                scanf("%d", &n);
            }
        }
        double aver = sum / (1.0 * people);
        printf("总捐款为:%d\n", sum);
        printf("每人平均捐款:%lf\n", aver);
        printf("捐款人数为:%d\n", people);
    }
    return 0;

}

例5.5输出100-200不能被3整除的数

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main() {
    for (int i = 100; i < 201; i++) {
        if (i % 3 != 0) {
            printf("%d\n", i);
        }
        
    }
    return 0;
}


例5.6输出4*5的矩阵

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main() {
    int n = 0;
    for (int i = 1; i < 5; i++) {//走行
        for (int j = 1; j < 6; j++,n++) {//走列
            /*if (n % 5 == 0) {//别再里面判断次数,因为0%5=0,会多一行
                printf("\n");
            }*/
            printf("%d\t", i*j);//\t自动对齐
            
        }
        printf("\n");
    }
    return 0;
}


例5.7求Π的近似值,Π/4=1-1/3=1/5...,直到某一项小于10^-6

//小数点后的某一位不太对,不知丢为啥

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<math.h>
int main() {
    double fenmu=1;//分母
    double p=1;//当前值
    double sum=0;//当前总值
    int sign=1;//符号
    while (p >= 1e-6) {//10^-6
        p = sign * (1 / (1.0 *fenmu));//当前项
        
        sum = sum+p;
        p = fabs(p);//求绝对值
        sign = -sign;
        fenmu = fenmu + 2;
    }
    sum = sum * 4;
    printf("%10.8f", sum);

    return 0;
}

例5.8,求斐波那契数列前40项并输出40项和,1,1,2,3,5,8……

//为了方便截图输出的不太好看

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main() {
    int here;//保存前两个相加的结果
    int sum=2;//和从2开始计算,先把前面的两个1加进来
    int first=1, end=1;//前面的数和后面的数
    printf("1\n");
    printf("1\n");
    for (int i = 0; i < 38; i++) {//去掉前两个数循环38次
        here = first + end;
        printf("%d\n", here);
        sum = sum + here;
        first = end;//将后一个数给前面的数
        end = here;//新得到的结果作为后一个数
    }
    printf("%d", sum);//输出前40数列总数
    return 0;
}

例5.9,输入一个大于3的整数n,判断是不是素数(质数)

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main() {
    int n;
    int flag = 0;
    scanf("%d", &n);//输入一个大于3的整数n
    for (int i = 2; i < n; i++) {
        if (n % i == 0) {
            printf("不是素数");
            flag = 1;//如果找到了这个数标记一下表示已找到
            break;//跳出循环
        }
    }
    if (flag == 0) {
        printf("是素数");
    }
    return 0;
}

例5.10求100-200的全部素数

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main() {
    int flag = 0;
    for (int i = 100; i < 201; i++) {
        flag = 0;//flag一定每次都要重置
        for (int j = 2; j < i; j++) {
            if (i % j == 0) {
                flag = 1;//若找到了因子则标记一下
                break;
            }
        }
        if (flag == 0) {
            printf("%d\n", i);//找的是 素数 不是 不素数
        }
    }
    return 0;
}

译密码,字母往后移动四位(前一章写过但有缺点,改良版)

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main() {
    char c;
    //scanf("%c", &c);
    while ((c=getchar())!= '\n') {//一直不断地重复输入,换行则是停止输入的标志
        if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) {//判断是否是字母
            if ((c >= 'W' && c <= 'Z') || (c >= 'w' && c <= 'z')) {//是否是后四位
                c = c - 22;//是后四位往前移动22

            }
            else {
                c = c + 4;//不是后四位往后移动4
            }
        }
        printf("%c", c);
    }
    return 0;

}


 
习题3求最大公约数和最小公倍数

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
    int m, n;
    int flag = 1;//标记
    scanf("%d%d", &m, &n);//输入两个数
    int temp;
    if (m < n) {//保证m>n
        temp = m;
        m = n;
        n = temp;
    }
    
        for (int i = n; i > 1; i--) {//找最小的
            if ((m % i == 0&&n % i == 0)) {//并且的关系
                flag = 0;
                printf("最大公约数为%d\n", i);
                break;
            }
            
        }
        if (flag == 1) {
            printf("无最大公约数");
        }
    
    for (int j = m;; j++) {//找最大的
        if ((j % m == 0&&j % n == 0)) {
            printf("最小公倍数为%d", j);
            break;
        }
    }
    return 0;
}

标签:1.0,CRT,NO,int,sum,++,第五章,printf,循环
From: https://blog.csdn.net/qq_63279386/article/details/142032642

相关文章

  • C语言--选择结构、循环结构练习题
    1.考虑到多重循环对程序效率的影响,以下哪种实现效率较高?为什么?(a)循环次数大的放在外层,循环次数小的放在内层;(b)循环次数小的放在外层,循环次数大的放在内层;答:(b);因为循环次数小的放在外层,当cpu处理完内层循环后从缓冲区拿取外层循环数据的次数会减少,在cpu内处理数据的时间......
  • 数据结构基础讲解(三)——线性表之循环链表专项练习
    本文数据结构讲解参考书目:通过网盘分享的文件:数据结构 C语言版.pdf链接: https://pan.baidu.com/s/159y_QTbXqpMhNCNP_Fls9g?pwd=ze8e 提取码:ze8e数据结构基础讲解(二)——线性表之单链表专项练习-CSDN博客 个人主页:樱娆π-CSDN博客目录循环链表双向链表......
  • 【洛谷 P1996】约瑟夫问题 题解(队列+模拟+循环)
    约瑟夫问题题目描述个人围成一圈,从第一个人开始报数,数到的人出列,再由下一个人重新从开始报数,数到的人再出圈,依次类推,直到所有的人都出圈,请输出依次出圈人的编号。注意:本题和《深入浅出-基础篇》上例题的表述稍有不同。书上表述是给出淘汰名小朋友,而该题是全部出圈。输入......
  • Python循环语句
    1-While循环语法:变量=初始值while条件判断:循环体(要循环执行的代码)条件控制语句注意:如果条件恒成立或者直接写True,就会出现无限循环示例:#打印99次,“我爱你”#变量先定义再使用i=1whilei<100:print("我爱你")i+=1whileTrue:......
  • Python3 学习笔记4-列表、元组、字典、集合、条件控制和循环语句
    目录一、列表:(1)Python3 列表: (2) 访问列表中的值: (3)列表更新:(4)列表元素删除: (5)列表脚本操作符 : (6)列表截取与拼接: (7)嵌套列表: (8)列表之间比较: (9)列表函数使用方法: 二、元组:(1)创建元组:(2)访问元组元素:(3)元组切片:(4)元组拼接:(5)元组重复:(7)元组内置函数:(8)元组比较:(9)注意......
  • 信息学奥赛初赛天天练-85-NOIP2014普及组-基础题4-链表、随机存取、顺序存取、二分查
    信息学奥赛初赛天天练-85-NOIP2014普及组-基础题4-链表、随机存取、顺序存取、二分查找、二分比较、循环结构、图领奖PDF文档公众号回复关键字:202409071NOIP2014普及组基础题49下列选项中不属于图像格式的是()AJPEG格式BTXT格式CGIF格式DPNG格式1......
  • windows C++-并行编程-转换使用异常处理的 OpenMP 循环以使用并发运行时
    此示例演示如何将执行异常处理的OpenMP并行for循环转换为使用并发运行时异常处理机制。在OpenMP中,在并行区域中引发的异常必须由同一线程在同一区域中捕获和处理。未处理的异常处理程序会捕获逃离并行区域的异常,默认情况下会终止进程。在并发运行时中,在传递给任务组(例......
  • Spring-循环依赖
    预备知识循环依赖开关(方法)-AbstractAutowireCapableBeanFactory#setAllowCircularReferences单例工程(属性)-DefaultSingletonBeanRegistry#singletonFactories获取早期未处理Bean(方法)-AbstractAutowireCapableBeanFactory#getEarlyBeanReference早期未处理Bea......
  • 用RNN(循环神经网络)预测股票价格
    RNN(循环神经网络)是一种特殊类型的神经网络,它能够处理序列数据,并且具有记忆先前信息的能力。这种网络结构特别适合于处理时间序列数据、文本、语音等具有时间依赖性的问题。RNN的核心特点是它可以捕捉时间序列中的长期依赖关系。RNN的基本结构RNN由多个重复的单元组成,每个单元......
  • CASIA-OLHWDB1.0-1.2数据集解析
    OLHWDB1.0-1.2提供联机手写单字数据。OLHWDB1.0收录汉字3866个,字母数字及符号171个。其中,GB2312-80一级集(共3755个字符)收录汉字3740个。OLHWDB1.1收录GB2312-80一级集汉字3755个,字母数字及符号171个。OLHWDB1.2收录汉字3319个,字母数字及符号171个。OLHWDB1.2的汉字集(3319类)与OL......