c语言机试复习题集合

更新时间:2023-10-22 16:32:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

(1)习题1.5--请参照第1章例题,编写一个C程序,输出以下信息: ********************************* Very good!

********************************* # include int main() 解: { printf(\ printf(\ printf(\ return 0; }

(2)编写一个C程序,输出以下信息: ||********* ||********* ||********* ||********* || || || || 解:

#include int main() { printf(\ printf(\ printf(\ printf(\ printf(\ printf(\ printf(\ printf(\ return 0; }

(3)习题1.6--编写一个C程序,输入a,b,c这3个值,输出其中的最大者。 解:

#include int main() { int a,b,c,max; scanf(\

if(a>b) max=a; else max=b; if(max

(1)鸡兔同笼,是我国古代著名趣题之一,记载于《孙子算经》之中:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”。若是6头,18足呢?15头,40足呢?

编程实现问题的求解,输入头数、足数,输出鸡兔只数。

提示:利用二元一次方程求解。

解:

#include int main() { int x,y,feet,head;

printf(\输入头的数量:\ scanf(\

printf(\输入脚的数量:\ scanf(\ y=(feet-2*head)/2; x=head-y; printf(\鸡的数量:%d\\n兔的数量:%d\\n\ return 0; }

(2)输入一个三位数的整数n(如365),编写一个程序,将其百位数、十位数、个位数逆序输出(即563)。

提示:百位数:n1=n/100

十位数:n2=n0/10或者n2=n/10

个位数:n3=n

解:

#include int main() { int x,y,a,b,c; printf(\输入一个三位数:\ scanf(\ a=x/100; b=x0/10; c=x; y=c*100+b*10+a; printf(\该三位数的逆序输出为:%d\ return 0;

}

3)习题3.6。请编程序将“China”译成密码,密码规律是:用原理的字母后面第4个字母代替原来的字母。例如,字母“A”后面第4个字母是“E”,用“E”代替“A”。因此,“China”应译为“Glmre”。

提示:字符变成其后第4个字母,实际上就是将其ASCII码值加4,若字符变量为c,则c=c+4即完成了译码。

解:

#include int main() { int c1,c2,c3,c4,c5; c1='C'; c2='h'; c3='i'; c4='n'; c5='a'; c1+=4; c2+=4; c3+=4; c4+=4; c5+=4; printf(\ return 0; }

(1)习题4.6。 有一个函数:

写程序,用scanf函数输入x的值,求y的值。

要求:运行程序,输入x的值,分别对应3种情况,检查输出的值是否正确。 解:

#include int main() {

int x,y;

printf(\ scanf(\ if (x<1) { y=x;

printf(\ }

else if (x<10) {

y=2*x-1; printf(\ } else {

y=3*x-11; printf(\ }

return 0; }

(2)习题4.8。

输入一百分制成绩,要求输出成绩等级’A’、 ’B’、 ’C’、’D’、’E’。90分以上为’A’,80~89分为’B’,70~79分为’C’, 60~69分为’D’, 60分以下为’E’。

要求:用switch语句实现选择结构。最好能实现分数的正确性判定,如果分数输入小于0或者大于100,则提示输入错误,进行重新输入。

提示:假如成绩设定为float型的score变量,则进行switch语句进行多分支选择时,需要进行类型转换:(int)(score/10),否则直接用switch(score/10)会发生错误,因为switch后面的表达式类型只能是整型或字符型。 解: int main() {

float score; char grade;

printf(\ scanf(\

while(score>100||score<0) {

printf(\输入有误,请重新输入!\ scanf(\ }

switch((int)(score/10)) {

case 10:

case 9:grade='A';break; case 8:grade='B';break; case 7:grade='C';break; case 6:grade='D';break; default:grade='E'; }

printf(\成绩是:%f\\n相应的等级是%c\\n\ return 0; }

(1)习题5.4。

输入一行字符,分别统计出其中的英文字母,空格,数字和其他字符的个数。 提示:参照例5.11的while循环结构实现,利用if……else if……else if……else语句来判断输入的字符是英文字母、空格、数字或者是其他,用四个变量分别存储它们的个数。

(2)习题5.8。

输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如,153是一水仙花数,因为 。 提示:可利用for循环结构实现,提取出三位数的百位、十位和个位,然后利用if语句判断是否满足“水仙花”的特点,是就输出。 可以用数学函数pow(x,y)实现(参照附录F),若使用函数注意包含头文件

(1) 习题6.10。

有一篇文章,共有3行文字,每行有80个字符。要求分别统计出其中英文大写字母、小写字母、数字、空格以及其他字符的个数。

提示:利用3行80列的二维字符数组存储文章,使用双重for循环结构实现题目要求。可以利用gets函数分三次输入三行文字,利用if……else if……else if……elseif……else语句来判断输入的字符是英文大写字母、小写字母、空格、数字或者是其他,用五个变量分别存储它们的个数。 解:

(2)习题6.11。 输出如下图案: * * * * * * * * * * * * * * * * * * * * * * * * *

提示:可定义一个一维字符数组存放* * * * *,每行输出时区别在于前面输出空格的

个数,比如第一行输出一个空格,第二行先输出两个空格,第三行先输出三个空格……用双重循环来实现空格和字符的输出。

.实验内容

(1)习题7.3。

写一个判别素数的函数,在主函数输入一个整数,输出是否素数的信息。

提示:在主函数中输入一个整数,并调用定义好的函数来判别并输出结果,判别素数的函数在参数是素数的情况下返回1,否则返回0。

(2)定义函数sum(n)用以求∑_(k=1)^n?k,和数作为函数的值返回。若n的值为10,经函数sum的计算后,b的值是55。

提示:在主函数中输入一个正整数,调用sum后输出求和的结果。

1. 习题7.9。

编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符的个数,在主函数中输入字符串以及输出上述的结果。

提示:使用全局变量分别用于存储字母、数字、空格和其他字符的个数。程序文件包括主函数和统计函数。主函数实现:输入字符串、调用函数统计各字符的个数、输出结果。统计函数实现:对传递过来的字符串进行统计。

2习题7.13。

用递归方法求n阶勒让德多项式的值,递归公式为:

1(n?0)??x(n?1) Pn(x)???((2n?1)x?P(x)?(n?1)P(x))/n(n?1)n?1n?2?提示:程序文件包括主函数和多项式函数。主函数实现:输入n和x的值、调用多项式函数、

输出结果。多项式函数实现:根据从主函数传递过来的n和x,利用if……elseif……else语句实现多项式的求解,返回结果。

期中

1、从键盘输入20个数,计算所有偶数之和。(10分) #include \int main( ) {

int x,i,sum=0;

printf(\请输入20个整数:\\n\ for (i=0;i<20;i++) { scanf(\ if(x%2==0) sum=sum+x; }

printf(\偶数之和为%d\ return 0; } 2、 从键盘输入一个正整数,判断其能否被3或5整除。输出“能被3整除”,或者“能 被5整除”,或者“既能被3整除又能被5整除”,或者“既不能被3整除也不能被5整除”等

信息。(13分) #include \int main( ) {

int x;

printf(\请输入一个整数:\\n\ scanf(\

if (x%3==0 && x%5==0)

printf(\既能被3整除又能被5整除\\n\ else if (x%3==0)

printf(\能被3整除\ else if (x%5==0)

printf(\能被5整除\ else

printf(\不能被3整除也不能被5整除\ return 0; }

本文来源:https://www.bwwdw.com/article/i26f.html

Top