C程序设计编程题库
顺序结构编程
输入两个整数A和B,将它们交换(即A的值给B,B的值给A)后输出A和B。
输入三个整数A、B和C,将它们交换(即A的值给B,B的值给C,C的值给A)后输出A、B和C。
输入1个三位正整数N,输出其个位、十位和百位。
输入一个英文字符,输出其ASCII码。
分支结构(IF):
输入一个正整数,判断是奇数或偶数、负数或非负数。
输入一个1-1000之间的数,判断是几位数。
输入一个字符,判断是大写字母、小写字母、数字或其他。
输入一个年份,判断是否为闰年。(凡是能被400整除的年份为闰年。如2000年;凡是不能被100整除,但能被4整除的年份为闰年。如2008年)
已知三角形三条边的长度,求三角形的面积。
已知一元二次方程的三个系数,求方程的根。
输入三个整数,分别赋给X、Y、Z,然后按从小到大的顺序输出这三个变量的值。
输入一个三位数,判断其是否为水仙花数。如153,因为153=13+53+33
分支结构(switch):
输入一个1至7之间的数字,输出星期日至星期六。
输入一个月份,输出该月的天数。
循环结构(用while和do …while两种方法)
编写程序求sum=1+2+3+……+100的值(教科书例题)
编写程序求10!=1*2*3*……*10的值
输入N,求N!=1*2*3*……*N的值
输入自然数N,输出N的位数。
求满足条件1+2+3+…+N<100000的最大N。(教科书例题)
求满足条件1+2+3+…+N>100000的最小N。
输入一个整数,求它的各位数字之和。(教科书例题)
采用欧几里得算法,求两个自然数的最大公约数。(教科书例题)
求两个自然数的最小公倍数。
M与N的最小公倍数=
输入一行字符,统计大写字母、小写字母、数字及其它符号的个数(实验15.3.3)
用牛顿迭代法求方程2x3-4x2+3x-6=0在1.5附近的根。(教科书例题)
用二分法求方程2x3-4x2+3x-6=0在区间[1,3]上的根。
用二分法求方程x3-x4+4x2-1=0在区间[0,1]上的根。(实验15.3.5)
输入x,求 (n=1,2,3,……),当第n项小于等于10-6时,停止累加。(实验15.3.6)
输入一串字符文本,统计单词的个数。单词之间由1个或多个空格隔开。(实验15.3.7)
循环结构(for)
输入N,输出1+2+3+…+N的值。
输入N,输出N!(即N的阶乘)
找出100~999之间的水仙花数。如407(教科书例题)
输入一个自然数,判断其是否为素数。
方法1:统计因子个数
方法2:用break语句(教科书例题)
输入一个自然数,判断其是否为回文数。
输入一个自然数,判断其是否为升序数。如123
输入一个自然数,判断其是否为完全数。
完全数:该数的因子(不包含本身)之和等于其本身。如28是完全数,因为28=1+2+4+7+14
输入两个正整数M和N,求它们的最大公约数。
输入两个正整数M和N,求它们的最小公倍数。
循环嵌套
输出1至10的阶乘,即1! 2! 3! … 10!
找出2~100之间的素数。
找出10000以内的水仙花数。
找出100以内的完全数。
找出100之内的所有勾股数。所谓勾股数是指满足条件a2+b2=c2(a
输出九九乘法表。(教科书例题)
一维数组
输入10个整数存入数组,找出其中的最大数及其位置。
输入10个整数存入数组,找出其中的最小数及其位置。
输入10个整数存入数组,找出其中的最大数和最小数以及它们位置。
输入10个整数存入数组,求它们的平均值。
输入10个整数存入数组,查找指定数是否存在。
输入15个整数存入数组,将第1个数与第15个数交换、第2个数与第14个数交换……、第7个数与第9个数交换后输出。
输入10个整数存入数组,将它们按从小到大排序。
(冒泡法、选择法、插入法)
输入一个数据,统计其中含不同数字的个数。
如输入:1353.21
则输出:1:2个 2:1个 3:2个 5:1个
输入一串英文字母,统计每个字母(不区分大小写)出现的次数。
如输入:Good
则输出:D:1个 G:1个 O:2个
求裴波那契数列(1 1 2 3 5 8 13 21 34……)的前18项。
输入10个数首尾相接,围成一圈,求出相邻的4个数之和(共20个),然后再找出哪4个数的和最大。
输入10个整数存入一维数组,将数组中的数据循环左移一个位置。
如输入:1 2 3 4 5 6 7 8 9 10
则输出:2 3 4 5 6 7 8 9 10 1
输入10个整数,将重复数去掉后输出。
如输入:1 3 5 2 1 5 6 8 1 4
则