C语言期中复习题
更新时间:2023-10-25 12:14:01 阅读量: 综合文库 文档下载
- c语言期中考试试题推荐度:
- 相关推荐
清华大学《计算机语言与程序设计》
秋季学期 模拟练习题1
测试说明:
1. 本上机编程,可参考各书面资料,所有练习题均采用键盘输入和屏幕输出,希望总
时间限制为120分钟。
2. 本题目为模拟训练题目,不是考试题目,仅供大家模拟训练自己的编程速度。
注意事项:
3. 请大家特别注意以下提示:
? 需要提交单一Word文档; ? Word文档以学号作为名称;
? Word文档中需按照顺序提供源程序与运行结果截图。
? 为防止程序被意外破坏,建议在E或者F盘中创建自己的编程目录,并做好备
份。
4. // 评分时将查看源程序,请遵守题目中给出的限制。
以下为上机编程练习题目:
0、自我介绍题(本题必做)
请在屏幕上输出你的学号和姓名,各占一行。
1、不定解方程(希望15分钟内完成)
编写程序,求出方程 2009=11x+19y+501z的所有正整数解。
输出格式要求:每行输出四组解,每组解之间保留一空格,每组解要用()括起来,每组解中各个解之间用逗号分隔,并且不同行、相同列的解要上下对齐。如下图示意(注,这不是方程的解)
2、正整数特殊排序(希望25分钟内完成)
有200个4位正整数。要求编写程序按每个数的后三位的大小进行降序排列,然后取出满足此条件的前20个数依次存入数组b中,如果后三位的数值相等,则按原先的数值进行升序排列。最后把结果数组b输出到屏幕。
例:一个含有5个4位正整数数组,处理前为: 9012 5099 6012 7025 8088 处理后将5个数依次输出顺序为: 5099 8088 7025 6012 9012
要求使用如下的200个4位正整数:
8478,9782,2622,7840,8933,5163,5057,5820,6929,3882,9808,3508,9704,6034,5395,7560,
7720,8015,6070,7841,7148,5608,2103,4871,9560,1797,7625,4738,1041,3809,5717,4664, 7905,3164,1063,6934,5681,8869,2943,5914,3255,7478,6722,9625,1611,3063,8920,5996, 5245,6640,6783,5192,6145,1377,2216,8342,4821,3324,5304,4792,1906,1662,8362,5341, 3833,5514,2346,7967,8384,5799,7037,7123,8333,2531,6360,2193,6435,5743,9726,5645, 3355,8388,2430,3685,7188,5270,7860,2667,1246,3553,9999,2133,2043,4970,1435,5803, 4799,1951,5304,9705,3769,5425,3578,4919,1475,5297,4842,2437,8623,5473,2125,7298, 7866,2612,8684,6959,5710,8952,9076,7919,4042,6587,8590,5778,4524,1172,9130,2827, 8826,4059,9679,7734,4973,3532,7638,2205,4784,1960,6808,6469,9336,5573,6725,8789, 5083,2591,2199,2543,5550,3326,6734,5906,2138,1226,6173,8631,6062,7628,2773,2458, 8499,6279,5737,2756,9772,3447,5889,7231,6084,2633,5578,3985,6605,2835,9270,9612, 9334,3765,5545,3621,4189,9912,3540,5708,5325,6662,5525,5483,6009,5635,6990,5251, 6426,5050,2652,8899,6349,6347,4835,2907
#include
7720,8015,6070,7841,7148,5608,2103,4871,9560,1797,7625,4738,1041,3809,5717,4664, 5245,6640,6783,5192,6145,1377,2216,8342,4821,3324,5304,4792,1906,1662,8362,5341, 3833,5514,2346,7967,8384,5799,7037,7123,8333,2531,6360,2193,6435,5743,9726,5645, 7905,3164,1063,6934,5681,8869,2943,5914,3255,7478,6722,9625,1611,3063,8920,5996,
int
a[200]={8478,9782,2622,7840,8933,5163,5057,5820,6929,3882,9808,3508,9704,6034,5395,75
}
3355,8388,2430,3685,7188,5270,7860,2667,1246,3553,9999,2133,2043,4970,1435,5803, 4799,1951,5304,9705,3769,5425,3578,4919,1475,5297,4842,2437,8623,5473,2125,7298, 7866,2612,8684,6959,5710,8952,9076,7919,4042,6587,8590,5778,4524,1172,9130,2827, 8826,4059,9679,7734,4973,3532,7638,2205,4784,1960,6808,6469,9336,5573,6725,8789, 5083,2591,2199,2543,5550,3326,6734,5906,2138,1226,6173,8631,6062,7628,2773,2458, 8499,6279,5737,2756,9772,3447,5889,7231,6084,2633,5578,3985,6605,2835,9270,9612, 9334,3765,5545,3621,4189,9912,3540,5708,5325,6662,5525,5483,6009,5635,6990,5251, 6426,5050,2652,8899,6349,6347,4835,2907}; int i,t,j;
for (i=0;i<=198;i++)
if((a[i]00)<(a[i+1]00)) { }
else if((a[i]00)==(a[i+1]00)) { }
for(i=0;i<=19;i++)
printf(\printf(\
if(a[i]>a[i+1])
t=a[i]; t=a[i]; a[i]=a[i+1]; a[i+1]=t;
for (j=1;j<=199;j++)
{
a[i]=a[i+1]; a[i+1]=t; }
3、用户登录模拟编程(希望30分钟内完成)
已知使用 conio.h 中的函数 getch()可以返回键盘
假设用户名与登录密码存储在字符串常量UserName 与 PassWord中,并且值分别为字符串 “student”和 ”iamtiger” 。请编写程序实现用户登录验证用的字符。户名与密码的功能(假设二者的长度均不超过20个字符)。
a) 从键盘输入用户名时,要求回显用户名,用户按Enter键后,用户名输入完成,进入密
码输入步骤;
b) 从键盘输入密码时,要求屏幕不能显示密码,而以字符’*’回显相应的密码字符,用户
按Enter键后,密码输入完成,进入验证步骤;
c) 验证用户输入的用户名、密码与程序设置的用户名和密码是否一致,若一致则显示登录
成功,否则要求用户重新输入用户名与登录密码;
d) 用户名与登录密码输入的次数不能超过三次,若超过三次则显示登录错误,并退出程序。
程序运行输出的一个屏幕示意。
#include
int i=1,k,s;
char s1[20],s2[20],c1[20]={\for (i=1;i<=3;i++) { s=1;
printf(\scanf(\printf(\
printf(\
else break; if (k==20) { s=0;
if (i!=3) printf(\}
if (s==0) continue; s2[k]='\\0'; printf(\
if (strlen(s2)!=8||strlen(s1)!=7) { }
s=0;
for(k=0;k<20;k++) if ((s2[k]=getch())!='\\r') printf(\
if (i!=3) printf(\
}
}
if (s==0) continue;
for (k=0;k<=6;k++) if (c1[k]!=s1[k]) { }
if (s==0) continue; { }
s=0; break; s=0; break;
if (i!=3) printf(\
for (k=0;k<=7;k++) if (c2[k]!=s2[k])
if (i!=3) printf(\
if (s==0) continue;
printf(\ break;
if (i==4) printf(\登陆错误\\n\
4、成绩排名(希望40分钟内完成)
期中考试快要结束了,老师需要进行年级成绩排名。排名的规则如下:
a) 以期中考试的平均成绩为排名依据(满分为100分);
b) 对学生A,如果一共有K个学生的平均成绩比A的平均成绩高,则学生A的年级排名
为K+1;
c) 如果学生A和学生B的平均成绩相同,则他们的排名相同。
要求编写一个程序来实现排名和统计名次。
输入格式要求:第一行为一个整数N(1 < N < 200),表示学生的人数。随后有N行,每行有两个非负整数描述一个学生的信息,依次为学号和平均成绩。
输出格式要求:输出共有N行,按照名次从高到低每行输出一名学生的信息(若名次相同,则学号小的先输出),依次为:名次,学号,平均成绩,其间用一个空格隔开。
样例输入 5
1000 95 1001 100
1002 94 1006 95 1007 100
样例输出
1 Student-1001 100 1 Student-1007 100 3 Student-1000 95 3 Student-1006 95 5 Student-1002 94
#include
int a[100][2],n,i,j,t,s,k[100];
printf(\scanf(\for(i=0;i<=n-1;i++) {
for(j=0;j<=n-2;j++) {
if(a[j][1]
{ }
else if(a[j][1]==a[j+1][1]) { }
if(a[j][0]>a[j+1][0]) { t=a[j][0]; a[j][0]=a[j+1][0]; a[j+1][0]=t; s=a[j][1]; a[j][1]=a[j+1][1]; a[j+1][1]=s; } t=a[j][0]; a[j][0]=a[j+1][0]; a[j+1][0]=t; s=a[j][1]; a[j][1]=a[j+1][1]; a[j+1][1]=s;
scanf(\for(i=0;i<=n-1;i++)
}
}
}
k[0]=1;
for(i=1;i<=n-1;i++) { }
for(i=0;i<=n-1;i++)
printf(\ student-%d %d\\n\if(a[i][1]
k[i]=i+1; else k[i]=k[i-1];
// 以上为全部练习题目1,请大家测试一下自己的速度
清华大学《计算机语言与程序设计》
秋季学期 模拟练习题2
测试说明:
1. 本上机编程,可参考各书面资料,所有练习题均采用键盘输入和屏幕输出,希望总
时间限制为120分钟。
2. 本题目为模拟训练题目,不是考试题目,仅供大家模拟训练自己的编程速度。
注意事项:
3. 请大家特别注意以下提示:
? 需要提交单一Word文档; ? Word文档以学号作为名称;
? Word文档中需按照顺序提供源程序与运行结果截图。
? 为防止程序被意外破坏,建议在E或者F盘中创建自己的编程目录,并做好备
份。
4. // 评分时将查看源程序,请遵守题目中给出的限制。
以下为上机编程练习题目:
0、自我介绍题(本题必做)
请在屏幕上输出你的学号和姓名,各占一行。
1、不定解方程(希望15分钟内完成)
编写程序,找出1到1000之间,所有满足方程 x2?y3?z4的正整数解。 输出格式要求:每行输出四组解,每组解之间保留一空格,每组解要用()括起来,每组解中各个解之间用逗号分隔,并且不同行、相同列的解要上下对齐。如下图示意(注,这不是方程的解)
#include
int x,y,z,i=0;
for(x=1;x<=1000;x++) for(y=1;y<=1000;y++) for(z=1;z<=400;z++)
if(x*x+y*y*y==z*z*z*z)
{ printf(\ i++;
if (i%4==0) printf(\ } }
2、整数各位数字运算排序题(希望25分钟内完成)
已知200个四位正整数。请编写程序,其功能是:若一个四位数的千位数字上的值小于等于百位数字上的值,百位数字上的值小于等于十位数字上的值,以及十位数字上的值小于等于个位数字上的值,并且原四位数是偶数,则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中。最后把结果数组b输出到屏幕。
例:一个含有5个4位正整数数组,处理前为: 2109 4578 2156 2075 6788 处理后将2个数依次输出顺序为: 4578 6788
要求使用如下的200个4位正整数:
5990,2832,4964,8735,6891,3510,9132,1538,8200,8867,9795,2033,1358,2032,4999,9473, 5422,5983,1276,1258,1674,1374,9716,9042,6138,9142,2541,8949,4065,1309,2057,5916, 8121,5137,3938,5499,8843,8222,5996,7184,5972,2226,3600,8568,7141,1510,2950,2180, 2058,6080,3890,2069,9133,2855,9875,2075,1003,1686,7560,7004,1575,7901,6867,5819, 2518,1876,7611,9647,1523,6489,7988,6158,7316,3956,5026,1338,6149,5369,2822,1611, 8435,1430,8215,2316,5027,4014,3421,3066,2116,2821,1707,1714,1843,4293,4899,2490, 9246,9816,2014,3652,1402,8551,3420,5719,5120,5050,4288,1278,1694,8633,4663,3580,
4226,4674,9683,3360,3861,1156,7100,3886,5357,6796,3518,3590,4595,2030,3176,4281, 6815,9774,6748,1297,2320,5079,5395,6816,4025,4852,2547,3404,2152,3365,1243,3369, 8552,9108,9597,7640,9041,2393,9837,5567,6823,9051,3242,1152,3089,1392,3283,5631, 3490,4990,4124,2678,3181,1786,1737,1563,3813,7826,6834,9580,8731,3830,9423,8650, 1515,7380,7974,9676,2737,5269,9891,3533,6056,1841,3463,4537,6483,2930,7828,6211, 5216,1288,6791,6435,7257,2121,1831,2767 #include
5422,5983,1276,1258,1674,1374,9716,9042,6138,9142,2541,8949,4065,1309,2057,5916, 8121,5137,3938,5499,8843,8222,5996,7184,5972,2226,3600,8568,7141,1510,2950,2180, 2058,6080,3890,2069,9133,2855,9875,2075,1003,1686,7560,7004,1575,7901,6867,5819, 2518,1876,7611,9647,1523,6489,7988,6158,7316,3956,5026,1338,6149,5369,2822,1611, 8435,1430,8215,2316,5027,4014,3421,3066,2116,2821,1707,1714,1843,4293,4899,2490, 9246,9816,2014,3652,1402,8551,3420,5719,5120,5050,4288,1278,1694,8633,4663,3580, 4226,4674,9683,3360,3861,1156,7100,3886,5357,6796,3518,3590,4595,2030,3176,4281, 6815,9774,6748,1297,2320,5079,5395,6816,4025,4852,2547,3404,2152,3365,1243,3369, 8552,9108,9597,7640,9041,2393,9837,5567,6823,9051,3242,1152,3089,1392,3283,5631, 3490,4990,4124,2678,3181,1786,1737,1563,3813,7826,6834,9580,8731,3830,9423,8650, 1515,7380,7974,9676,2737,5269,9891,3533,6056,1841,3463,4537,6483,2930,7828,6211, 5216,1288,6791,6435,7257,2121,1831,2767
},b[200];
int i,x,y,z,w,cnt=0,k=0,m,n,t; for(i=0;i<=199;i++) {
x=a[i]; y=(a[i]0-x)/10; z=(a[i]00-x-10*y)/100; w=(a[i]-x-10*y-100*z)/1000; if(w<=z&&z<=y&&y<=x&&(x%2==0)) { } }
for(m=0;m<=k-1;m++) {
for(n=0;n<=k-2;n++) {
if(b[n]>b[n+1]) b[k]=a[i]; k++; cnt+=1; int
a[200]={5990,2832,4964,8735,6891,3510,9132,1538,8200,8867,9795,2033,1358,2032,4999,947
}
}
}
{ }
t=b[n]; b[n]=b[n+1]; b[n+1]=t;
for(i=0;i<=k-1;i++)
printf(\printf(\
3、输入倒序处理(希望35分钟内完成)
编写程序实现将键盘输入的一行字符按单词倒排输出。如键盘输入“I love you”,屏幕显示“you love I”。 假设输入的字符串长度不超过100,单词之间以一个或多个空格间隔。
输入格式要求:
(1) 第一行输入字符串,按回车结束。 输出格式要求:
(2) 新起一行倒序输出字符串中的单词
#include
char s1[100][100]={'\\0'},s2[100]={'\\0'}; int i=1,j,k=0,t=0,m,n; gets(s2);
for(j=0;j<=strlen(s2)-1;j++) {
if (j!=0&&s2[j]==' ') {
if (s2[j-1]!=' ') { i++; k=0; }
}
//
}
} else
{ s1[i][k]=s2[j]; k++; }
printf(\for(j=i;j>=1;j--)
{ // printf(\ }
for (k=0;k<=strlen(s1[j])-1;k++) printf(\printf(\
printf(\
4、选票统计(希望40分钟内完成)
某村进行了村委员会的换届选举,共有10名候选人。选举结束后,需要对选举的结果进行统计。统计规则如下:
a) 一张选票最多可以选取10个委员;
b) 对于一位候选人,如果一共有K个候选人的有效选票比这位候选人高,则该候选
人的选举排名为K+1;
c) 若几位候选人得票相同,则他们的排名相同。
要求编写一个程序,用二维数组来实现候选人的排名。
输入格式要求:第一行为一个整数N(1 < N < 1000),表示投票的人数。随后有N行,每行代表一张选票。每行的长度都为10,第一位表示第一个人的选中情况,第二位表示第二个人的选中情况,依此类推:内容均为0或1,1表示此人被选中,0表示此人未被选中。
输出格式要求:输出共有10行,按照名次从高到低每行输出每一名候选人的得票信息(若名次相同,则编号小的先输出),依次为:名词,候选人编号,得票数,其间用一个空格隔开。
样例输入 6
1 0 0 0 1 1 1 0 1 1 1 0 0 1 1 0 0 1 1 1 1 1 0 1 0 0 1 0 0 0 0 1 1 0 1 1 1 1 0 0 1 0 0 1 1 1 1 1 1 1
1 1 1 0 1 1 0 0 1 1
样例输出
1 candidate-5 5 2 candidate-1 4 2 candidate-6 4 2 candidate-9 4 2 candidate-10 4 6 candidate-7 3 6 candidate-8 3 8 candidate-2 2 8 candidate-3 2 8 candidate-4 2
#include
int a[1000][10],n,i,j,k=1,s[10],b[10][2],p[10],t,r; scanf(\for(i=0;i<=n-1;i++) { }
for(j=0;j<=9;j++) {
for(i=0;i<=n-1;i++) {
if(a[i][j]==1) for(j=0;j<=9;j++)
scanf(\
}
}
s[k]++;
k++;
for(i=0;i<=9;i++) { }
for(i=0;i<=9;i++) {
for(j=0;j<=8;j++) {
if(b[j][1]
t=b[j][1]; b[j][1]=b[j+1][1]; b[j+1][1]=t; r=b[j][0]; b[j][0]=b[j+1][0]; b[j+1][0]=r;
b[i][0]=i+1; b[i][1]=s[i];
}
}
}
} p[0]=1;
for(i=1;i<=9;i++) {
if(b[i][1]
p[i]=i+1;
else p[i]=p[i-1]; }
for(i=0;i<=9;i++)
printf(\ candinate-%d %d\\n\
// 以上为全部练习题目2,请大家测试一下自己的速度
正在阅读:
C语言期中复习题10-25
统计学第一、二、三、四、五、六、七章习题05-22
四年(下)教案第一周09-09
SPSS怎么算四格表相关系数和P值04-22
简单的几句话使你离成功更近一些08-02
在爱中长大作文700字07-04
2017-2018学年度最新人教版三年级数学下册 - 复习巩固重难点(精06-24
BFS牛汇:欧日宽松竞赛或升级,美元结束调整重入上行轨道12-09
STM8S学习 - 操作单个IO口03-15
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 复习题
- 期中
- 语言
- 如何备课与书写教案(讲座稿)
- 榆林盐化工产业的调研报告
- 2018最新以租代售合同协议(房屋)
- 婚书的写法
- 关于2010年度国家励志奖学金和国家助学金 - 图文
- 1812期考0672园林植物造景设计参考答案 - 图文
- 高考语文备考中等生百日捷进提升系列专题议论文写作之观点鲜明含解析
- 必看!!你必须懂得的150个生活小常识(转载)
- 给学生一个发现美的UV镜
- 观山坳煤矿水害调查及治理方案 - 图文
- 算法设计常用的四种排序
- 新中国成立前 - 图文
- 叶绿体色素的提取 - 图文
- 财务管理月考试卷
- ARM 设置用户程序的堆栈
- 2020年《中级财务管理》复习题(三)
- (2013)东民初字第110号原告侯伍梅与被告张雪霖民间借贷纠纷一案一审判决书
- 《房地产估价》课程讲义
- 杭州来福士广场建筑设计方案 - 图文
- 昆明理工大学大学大学生心理健康教育