计算机系C语言编程50题(new)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一基础部分:
1、输入1~10之间的一个数字,输出它对应的英文单词。
2、用自然语言描述程序逻辑如下,试写程序。
①设置环境;
②定义变量i、j、s,以及用于放置结果的变量sum,并令sum初值为0;
③i=1;
④如果i≤100,则转⑤,否则转⑧;
⑤令s=0,求前i个自然数之和,并放于变量s之中;
⑥sum=sum+s;
⑦i增加1,转④;
⑧输出和sum,结束。
3、用自然语言描述的程序逻辑为:
①设置环境;
②定义变量i、flag和password,并令flag=0,i=0;
③用户回答口令,将其赋于password变量;
④口令正确?如果是,则flag=1,转⑥。
否则转⑤;
⑤回答三次口令了吗?如果没有,计数器加1后(i++),转③,否则转⑥;
⑥根据flag之值输出相应信息。
4、用自然语言描述的程序逻辑如下:
①设置环境;
②定义变量digit、x、y分别表示原始数、原始数的个位数和逆数;
③输入原始正整数x;
④从x中分解出个位数字digit;
⑤合并个位digit至逆数y中;
⑥原始数x缩小10倍:x=x/10;
⑦如果x非零,则转④;
⑧输出逆数y,结束
5、输入某三角形的三个边的长度,判断出这是个什么三角形(等腰、等边、任意,或
不能构成)。
6、输入10个数,分别统计其中正数、负数、零的个数。
7、先随机产生N个三位自然数输出,然后再输出其中同时是3、5、7倍数的数。
(设
N为100)
8、已知x和y存在下列对应关系,要求对输入的每个x值,计算出y值,请编程。
y=0,x=a||x=-a; y=sqrt(a*a-x*x), -a<x<a; y=x, x<-a||x>a.
9、计算:1/2-2/3+3/4-4/5……,前100项。
10、从终端输入3个数a、b、c,输出中间大小的那个数。
11、打印出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方之和等于该数本身。
12、求下列式子的值:1-1/2+1/3-1/4+……+1/99-1/100,将结果输出。
13、输入学生的成绩,利用计算机将学生的成绩划分出等级并输出:90~100:A级; 80~89:B级; 70~79:C级; 60~69:D级; 0~59:E级;
14、把100~200之间的不能被3整除的数输出。
15、求N的阶乘,N由键盘输入。
二数组循环部分:
1、从终端(键盘)读入20个数据到数组中,统计其中正数的个数,并计算这些正数之和。
2、从终端(键盘)将5个整数输入到数组a中,然后将a逆序复制到数组b中,并输出b中各元素的值。
3、乘车兜风算年龄。
故事是这样的:
“你在忙什么,Bill?”教授问Bill。
“准备带三个佳丽兜风。
”
“三个佳丽芳龄几许?”
“她们年龄相乘等于2450,相加等于您年龄的一般。
”
问三位佳丽及教授年龄是多少?
4、公安人员审问四名窃贼嫌疑犯。
已知,这四人当中仅有一名是窃贼,还知道这四人
中每人要么是诚实的,要么总是说谎的。
在回答公安人员的问题中:甲说“乙没有偷,是丁偷的”,乙说“我没有偷,是丙偷的”,丙说“甲没有偷,是乙偷的”,丁说“我没有偷”。
请根据这四人的答话判断谁是盗窃者。
5、“百钱百鸡”问题。
百钱买百鸡,鸡翁一值钱三,鸡母一值钱二,鸡雏三值钱一,
问鸡翁、鸡母、鸡雏各几何?
6、一张100元的人民币,要兑换成元票。
要求50元、20元、10元、5元、2元、1元
至少各一张,问有多少种兑换方法?请输出详细兑换明细。
7、输入一个字串,判断它是否是对称串。
如”abcdcba”是对称串,”123456789”不是。
8、从键盘输入长度不等的两个字串,将长串连接于短串之后输出。
9、从键盘输入两个字串,输出其中较短的那个字串,并输出它的长度。
10、输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数。
11、将一个字符串中的元音字母复制到另一字符串,然后输出“另一字符串”。
12、将字符数组str1种下标为偶数的元素赋给另一字符数组str2,并输出str1和str2。
13、输入一行英文,已知各单词之间用1个空格或一个标点符号相隔(设第一个单词前
没有空格),统计这行英文有多少个单词。
14、输入一行字符串,按如下规则加密:如果是英文字母则大写变小写、小写变大写,
对非英文字符则保持不变。
试写加密程序。
15、随机产生N个两位自然数,降序排列后输出。
(设N为20)
16、求s=a+aa+aaa+aaaa+......+aa...a的值,其中a是1~9之间的一个数字,表达式
项数从键盘输入(设不超过10项)。
例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
17、从键盘输入一个数,判断其是否是素数。
18、小学生智商测试。
让电脑随机出十道100以内整数的加法题(10分/题),小学生
从键盘回答答案,统计小学生最后得分。
19、斐氏数列是公元13世纪数学家斐波拉契发明的。
即:1,2,3,5,8,13,21,34,
55,89,……,输出其前15项。
20、输入一个十进数,将其转换成 N 进制数(0<N<=16)。
21、输入n个整数,将其中最小者与第一个数对调,最大者与最后一个数对调。
22、按从大到小的顺序找出所有四位数中的完全平方数。
23、键盘输入四个同学的五门课成绩,求出每个学生的平均成绩,输出该数组。
24、从键盘上输入若干学生的一门课成绩,统计并输出最高成绩和最低成绩,当输入负
数时结束输入。
25、从键盘上输入若干学生的一门课成绩,计算出平均分,当输入负数时结束输入。
将
结果输出。
26、打印以下图案:*******
*****
***
*
27、求一个3*3的整型矩阵对角线元素之和。
28、求满足1+2+3+…+n<500中最大的N,并求其和,编写程序实现。
29、计算1+(1+2)+(1+2+3)+。
+(1+2+3…+100)的值。
三、自定义函数与结构体部分:
1、键盘输入长方体的长宽高l、w、h,求其体积及表面积。
要求用自定义函数val(l,w,h)计算长方体的体积和表面积,计算结果使用全局变量带回主函数。
2、找出三位自然数中的所有素数,要求判断x素数用自定义函数data(x)实现。
3、输出n行由“#”组成的矩形,每行“#”的个数为m个,其中n、m由终端(键盘)
输入。
要求输出m个“#”功能由函数satr(m)函数实现。
4、编写程序,在D盘下新建两个test1.txt、test2.txt文件,将test1.txt文件中的内容复制到test2.txt中。
5、建立一个结构体,该结构体描述书本的信息:(书名、作者、出版社、单价)。
要求声明一个结构体数组(长度为N,N值为5),从键盘输入每本书的相关信息,求出这N本书的平均单价并输出。
6、请将一个寝室(6人)的学生信息(姓名、学号、班级、性别、籍贯)从键盘录入到磁盘文件test.txt中。
提示:结构体+文件指针。