黑马程序员-练习1

<pre name="code" class="csharp"><pre name="code" class="html">------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------


/*
 题目:提示用户输入一个正整数n,如果n是5,就输出下列图形,其他n值以此类推
 *
 **
 ***
 ****
 *****
 */

#include <stdio.h>

int main()
{
    int n = 0;

    while (n <= 0) {
        printf("请输入正整数:\n");

        scanf("%d",&n);
    }

    for (int i = 0; i < n; i++) {
        for (int j = 0; j<i+1; j++) {
            printf("*");
        }

        printf("\n");
    }
    return 0;
}

/* 题目:提示用户输入一个正整数n,利用while循环计算并输出:1-2+3-4+5-6+7…+n的和 */#include <stdio.h>int main(){ //1定义变量存储用户输入的整数 int n=0; while (n<=0) { //2提示用户输入一个正整数n printf("请用户输入一个正整数:\n"); //3接收 scanf("%d",&n); } //4计算 int result = 0; int number = 0; while (number < n) { number++;
if (number % 2 == 0) { result -= number; }else{ result += number; } } printf("result = %d \n",result); return 0;}


/*
 题目:提示用户输入一个正整数n,计算并输出n的阶乘结果:1*2*3*…*n
 */

#include <stdio.h>

int main()
{
    int n = 0;
    while (n <= 0) {
        printf("请用户输入一个正整数:\n");
        scanf("%d",&n);
    }

    int result = 1;
    int number = 1;
    while (number <= n) {
        result *=number;
        number++;
    }

    printf("%d\n",result);

    return 0;
}

/*
 题目:提示用户输入一个小于10的正整数n,如果n是5,就输出下列图形,其他n值以此类推
 1
 22
 333
 4444
 55555
 */
#include <stdio.h>

int main ()
{
    int n = 0;

    while (n <= 0 || n >= 10) {
        printf("请用户输入一个小于10的正整数:\n");

        scanf("%d",&n);
    }

    printf("------------------------\n");

    for (int i = 1; i <= n; i++) {

        for (int j = 0; j<i; j++) {
            printf("%d",i);
        }

        printf("\n");
    }
    return 0;
}
/*
 题目:提示用户输入一个小于10的正整数n,如果n是5,就输出下列图形,其他n值以此类推
 54321
 5432
 543
 54
 5
*/

#include <stdio.h>

int main()
{
    int n = 0;

    while (n <= 0 || n >=10) {
        printf("请用户输入一个小于10的正整数:\n");

        scanf("%d",&n);
    }

    printf("------------------\n");

    for (int row = 1; row <= n; row++) {//有多少行
        for (int col = 0; col <= n-row; col++) {//每行有多少个

            printf("%d",(n-col));
        }

        printf("\n");
    }

    return 0;
}
/*
 题目:
 编写一个函数int pieAdd(int n),计算1!+2!+3!+……+n!的值(n>=1)。
 比如pieAdd(3)的返回值是1! + 2! + 3! = 1 + 1*2 + 1*2*3 = 9
 */

#include <stdio.h>

int pieAdd(int n);

int main()
{
    pieAdd(4);

    return 0;
}

int pieAdd(int n)
{
    if (n<1) {
        return 0;
    }

    int result = 0;
    for (int number =1; number <= n; number++) {
        int jiecheng = 1;
        for (int i = 1; i <=number; i++) {
            jiecheng *=i;

        }
        result +=jiecheng;
    }

    printf("%d\n",result);
    return 0;
}
/*
 题目:
 编写一个函数int pieAdd(int n),计算1!+2!+3!+……+n!的值(n>=1)。
 比如pieAdd(3)的返回值是1! + 2! + 3! = 1 + 1*2 + 1*2*3 = 9
 */

#include <stdio.h>

int pieAdd(int n);

int main()
{
    int result = pieAdd(4);

    printf("%d\n",result);

    return 0;
}

int pieAdd(int n)
{
    if (n<1) {
        return 0;
    }

    int sum = 0;

    for (int i = 1; i <= n; i++) {
        int multi = 1;
        for (int j = 1; j <= i; j++) {
            multi *= j;
        }
        sum += multi;
    }

    return sum;

}
/*
 题目:提示用户输入一个正整数n,利用while循环计算并输出:1-2+3-4+5-6+7…+n的和
 */
#include <stdio.h>

int main()
{
    int n = 0;
    while (n <= 0) {
        printf("请输入正整数:\n");
        scanf("%d",&n);
    }
    int sum = 0;
    int number = 0;
    while (number < n) {
        number++;
        if (number%2 == 0) {
            sum -= number;
        } else if(number%2 == 1){
            sum += number;
        }
    }

    printf("%d\n",sum);

    return 0;
}
/*
 题目:提示用户输入一个正整数n,计算并输出n的阶乘结果:1*2*3*…*n
 */

#include <stdio.h>

int main()
{
    int n = 0;

    while (n <= 0) {
        printf("请输入正整数:\n");
        scanf("%d",&n);
    }

    int multi = 1;
    int number = 1;

    while (number <= n) {

        multi *= number;
        number++;
    }

    printf("%d\n",multi);

    return 0;
}
时间: 2024-08-08 09:37:13

黑马程序员-练习1的相关文章

黑马程序员——网络编程篇

------- android培训.java培训.期待与您交流! ---------- 概述   1.网络模型        (1).OSI参考模型        (2).TCP/IP参考模型   2.网络通讯要素         (1).IP地址        (2).端口号         (3).传输协议    3.过程        1,找到对方IP. 2,数据要发送到对方指定的应用程序上.为了标识这些应用程序,所以给这些网络应用程序都用数字进行标识. 为了方便称呼这个数据,叫做端口(逻

黑马程序员------IO(五)

黑马程序员------IO(五) 1.1  操作对象(示例1)ObjectInputStream与ObjectOutputStream 被操作的对象需要实现Serializable. Serializable:用于给被序列化的类加入ID号,用于判断类和对象是否是同一个版本 类通过实现java.io.Serializable接口以启用序列化功能,Serializable只是一个标记接口. 1 示例1: 2 import java.io.*; 3 4 class ObjectStreamDemo 5

黑马程序员——Java基础---IO(下)

黑马程序员——Java基础---IO(下) ------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------ 一.概述 Java除了基本的字节流.字符流之外,还提供了File类.properties类.打印流.序列流等和输入输出相关的类,它们能够帮助我们更好的处理信息.下面将对它们进行简单的介绍. 一.正

黑马程序员[email&#160;protected]和@synsthesize的使用

一.@property和@synthesize的基本使用 @property :可以自动生成某个成员变量的setter和getter的声明(@property int age;).写在@interface里面: @synthesize :自动生成age的setter和getter,并且在方法内部访问的是_age这个成员变量(@synthesize age = _age; // 如果后面不写=_age默认就是访问age成员变量).写在@implementation里面: 二.@property和@

黑马程序员_关于黑马java班入学测试技术分享-后五(二)

??????????????????????????????????????????????????????????????????????????-----Java培训.Android培训.iOS培训..Net培训.期待与您交流! 作为本人首篇黑马技术博客有必要交代一下背景.个人理解博客的用作在于于己在于交流,于他在于学习,在交流学习中共同成长.下面进入正题.本文主要是介绍在做黑马入门测试时的一些问题(这个应该不是泄露题库吧). 本文只要是讲述黑马程序员基础测试题的6-10题,回过头来分析明显

黑马程序员_API

------- android培训.java培训.期待与您交流! ---------- ======================API========================================= 看api的步骤: 1.看类的说明.其所属的包以及出现的版本. 2.看其构造函数. 3.看普通的方法.看时注意参数,和返回值类型. Object类 1. private static native void registerNatives (); 见到本地关键字修饰的方法,这个方

黑马程序员_集合

集合1.集合和对象数组的区别: 数组的长度不可变,集合的可变: 数组可以存储基本数据类型和对象,集合只能存储对象. 集合的框架图 集合派系的顶层接口Collection1.Collection集合存储对象的方法: add(E e)将元素存储到集合中 addAll(Collection c)将一个集合添加到另外的集合中2.Collection集合提取对象的方法: 通过迭代器iterator中的方法:hasNext()和next()来取出 Iterator it=new iterator(); wh

黑马程序员-单例模式

单例设计模式 单例模式是一种常用的软件设计模式.在它的核心结构中只包含一个被称为单例类的特殊类.通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源.如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案.显然单例模式的要点有三个:一是某个类只能有一个实例:二是它必须自行创建这个实例:三是它必须自行向整个系统提供这个实例. 解决的问题:保证一个类在内存中的对象唯一性. 比如:多程序读取一个配置文件时,建议配置文件封装成对象.会方便

黑马程序员_C语言总结-基础部分

C语言基础 1.C语言的关键字 1>关键字就是C语言提供的有特殊含义的符号,也称为保留字,C语言中一共有32个关键字,这些关键字都有自己的含义 例如:int double float if  else switch for 等等 2.标示符的概念: 1>标示符就是在程序中自定义的一些名称,比如函数名,变量名,结构体名等等这些都是标示符 2>命名规则: 1>只能由英文字母的大小写和数字以及_下划线组成,且首字母必须为字母或者下划线_ 2>在C语言中是严格区分大小写的,比如if是

黑马程序员_JAVA 基础加强学习笔记

一.面向对象 (一)继承  1.继承的好处: (1) 提高了代码的复用性. (2) 让类与类之间产生了关系,提供了另一个特征多态的前提. 注意: 子类中所有的构造函数都会默认访问父类中的空参数的构造函数,因为每一个子类构造内第一行都有默认的语句super();  如果父类中没有空参数的构造函数,那么子类的构造函数内,必须通过super语句指定要访问的父类中的构造函数. 如果子类构造函数中用this来指定调用子类自己的构造函数,那么被调用的构造函数也一样会访问父类中的构造函数. 2.final特点