Skip to content

Gongzi-Yu/c-nuaa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

一些C语言的基础练习

  • C语言程序设计(NUAA)

四、输入输出

  1. 循环输入自变量,输出因变量(为分段函数)

  2. 输入三个数,按从小到大的顺序输出

  3. 输入一个点的坐标,判断其位于第几象限或者位于坐标轴

  4. 输入一个考核等级,输出对应的成绩

  5. 同4_4

  6. 计算1~100内奇数的和

  7. 计算1~n的阶乘之和

  8. 计算P

  9. 计算PI,原理与4_8不同

  10. 计算一个分数数列前20项之和

  11. 输出所有四位数中的逆序数

    逆序数:正向和反向读写数字顺序是一样的数

  12. 找出并输出1~599中能被3整除,且至少有一位数字为5的所有整数

  13. 输出一个m行n列的由*组成边框的长方形

    • 有两种不同的思路
  14. 求出并输出所有的 “水仙花数”

    水仙花数:一个三位数,其各位数字的立方和等于该数本身

    • 有两种不同的思路
  15. 验证哥德巴赫猜想

    哥德巴赫猜想:一个大偶数可以分解为两个素数(1不是素数,2是素数)之和

五、函数调用

  1. 求出100~200内的素数,并输出素数的个数
  2. 计算sum=1!+2!+3!+4!+…+n!
  3. 组合数的计算
    • 公式:C(m,r)=m!/(r!×(m-r)!),其中 m、r 为正整数,且 m>r
  4. 求两个正整数的最大公约数
  5. 求 Hermite 多项式的第 n 项的值
  6. 输出*点阵
    • 使用两种算法
  7. 将一个整数x逆向输出
  8. 多文件组织

六、头文件和宏定义

  1. 文件包含——求x的y次方
  2. 宏定义——求两点之间的距离
  3. 用函数实现6_2的功能
  4. 宏定义及宏的嵌套调用——求四个数的最小者

七、数组的使用

  1. 将Fibonacci数列的前20项存于数组,并求它们的和

  2. 产生n个随机数,存入数组,统计1~5出现的次数

  3. 求n个数的方差

  4. 冒泡排序法

  5. 选择排序法

  6. 辗转相除法求整型数组的最大公约数

  7. 删除一个数组中的某个元素

  8. 验证磁力数6174和495

    磁力数:随便写一个四位数,数字不要完全相同,按照从大到小的顺序重新排列,得到一个数(称为降序数),然后把它颠倒一下,得到另一个数(称为升序数),求出这两个数的差(即降序数减升序数)。这样反复做下去,最后得到的数一定是 6174。如果是三位数,就是495

  9. 输入一行字符串,分别统计其中大写字母、小写字母、数字字符、空格以及其他字符出现的次数

  10. 将两个字符串交叉复制,构成一个新的字符串

  11. 复制字符串(不使用标准库)

  12. 字符串逆向存放

八、结构体、枚举

  1. 结构体的定义与调用
  2. 对图书信息进行处理
  3. 定义描述颜色的枚举类型,输出这 3 种颜色的全排列

九、指针

  1. 任意输入三个整数,按从小到大的顺序输出这三个整数

  2. 求数组的最小值

  3. 数组名做形参

  4. 将一个具有 n 个元素的数组循环左移 k 位。循环左移一位的意义是:将数组全体元素左移一位,最左边元素移到数组最右边。

  5. 统计一个数组中正数和负数个数

  6. 任意输入三个不含空格的字符串,按从小到大的顺序输出

  7. 提取字符串中的数字

  8. 将输入的英文单词中第一个字母变为大写

  9. 判断一个字符串是否为回文

    回文为正向拼写与反向拼写都一样的字符串,如 “MADAM”。若放宽要求,即忽略大小写字母的区别、忽略空格及标点符号等,则象 “Madam, I'm Adam” 之类的短语也可视为回文。

十、

十一、文件的调用

  1. 将1~100的平方、平方根输出到文件table.txt中

  2. 编写程序打开文件nums.txt,按顺序读入每笔销售量,计算每笔销售量的销售金额,统计销售总量和销售总金额,写入结果文件sales.txt中

    销售程序的计价原则是:

    • 购买少于 10 件的为零售,单价为 25 元。

    • 购买大于等于 10 件而少于 50 件的为小量批发,单价为 24 元。

    • 购买大于等于 50 件而少于 100 件的为一般批发,单价为 22 元。

    • 购买大于等于 100 件的为大量批发,单价为 20 元。

  3. 从文件中读取数据,存入数组,转为升序,存入另一个数组

  4. 使两个文件的数据(已升序)合并到第三个文件,依旧保持升序

  5. 实现文件的复制,通过键盘输入源文件名和目标文件名

  6. 实现文本文件的显示,通过键盘输入文件名

附加题:OJ

二进制数问题

若将一个正整数化为二进制数,在此二进制数中,我们将数字 1 的个数多于数字 0 的个数的这类二进制数称为 A 类数,否则就称其为 B 类数。例如:

(13)10=(1101)2:其中 1 的个数为 3,0 的个数为 1,则称此数为 A 类数;

(10)10=(1010)2:其中 1 的个数为 2,0 的个数也为 2,称此数为 B 类数;

(24)10=(11000)2:其中 1 的个数为 2,0 的个数为 3,则称此数为 B 类数;

程序要求:求出1~1000之中(包括1与1000),全部A、B两类数的个数。

  • 输入:无
  • 输出:在一行中输出两个整数A和B,A表示A类数的个数,B表示B类数的个数,AB之间由一个空格分隔,除此之外不要再输出其他多余的东西

上下火车

火车从始发站(称为第1站)开出,在始发站上车的人数为a,然后到达第2站,在第 2站有人上、下车,但上、下车的人数相同,因此在第 2 站开出时(即在到达第3站之前)车上的人数保持为a人。从第3站起(包括第3站)上、下车的人数有一定规律:上车的人数都是前两站上车人数之和,而下车人数等于上一站上车人数,一直到终点站的前一站(第n-1站),都满足此规律。现给出的条件是:共有N个车站,始发站上车的人数为a,最后一站下车的人数是m(全部下车)。试问x站开出时车上的人数是多少?

  • 输入:每个测试文件只包含一组测试数据,每组输入四个整数a、n、m和x

    5 7 32 4

  • 输出:对于每组输入数据,输出从x站开出时车上的人数

    13

旅行家的预算

一个旅行家想驾驶汽车以最少的费用从一个城市到另一个城市(假设出发时油箱是空的)。给定两个城市之间的距离D1、汽车油箱的容量C(以升为单位)、每升汽油能行驶的距离D2、出发点每升汽油价格P和沿途油站数N(N可以为零),油站i离出发点的距离Di、每升汽油价格Pi(i=1,2,…,N)。

  • 输入:每个测试文件只包含一组测试数据,每组输入数据的第一行输入D1、C、D2、P、N,其中D1、C、D2、P均为浮点数,N为整数。接下来N行,每行输入两个浮点数表示离出发点的距离Di和每升汽油的价格Pi

    275.6 11.9 27.4 2.8 2
    102.0 2.9
    220.0 2.2
    
  • 输出:对于每组输入数据,输出最小费用,结果四舍五入至小数点后两位。如果无法到达目的地,则输出 "No Solution"(引号不输出)

    26.95
    

查找数组中的某个数

在我们参加的各种竞赛中,允许并列的排名方式是经常遇到的。 例如有四名选手的成绩分别为50、80、50、30分,则80 分的选手为第一名,50分的两名选手均为第二名,30分的选手为第四名。 请编写一个程序,计算一个选手在这种排名方式之下的名次(分数高的选手排前面)

  • 输入:文件第一行为一个整数n,表示参赛的选手数(n<=100);第二行为n个整数,表示每位选手的成绩;第三行为一个整数 ,表示要查询名次的选手的成绩。

    4
    50 80 50 30
    50
    
  • 输出:文件中只有一个整数,表示该选手的名次

    2
    

About

一些C语言的基础练习题目--来自NUAA

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published