C语言程序设计实验报告 下载本文

printf(“%d ”,x

#include main() { char s[50];

printf(“Please input a string:”); gets(s); /*scanf(“%s”,s);*/ printf(“\\nYou input string is: %s”,s); }

(5)#include main() { int k=3;

if(k=3) printf(“***”); else printf(“###”); }

(6)#include main() {int k=0; do

{ printf(“k=%d\\n”,k); }while(k++>0); }

2、问题:完成以下三个程序,分别以文件名A01.c、A02.c和A03.c保存:

(1)定义两个整型变量x,y,要求利用scanf()函数从键盘对x,y赋值,然后利用printf()输出两者之和。

(2)定义两个变量:整型x,实型y,要求利用scanf()函数从键盘对x,y赋值,然后利用printf()输出两者之积。

(3)定义两字符型变量ch1、ch2,分别用getchar()和putchar()函数进行输入输出。

要求:

(1)从键盘输入的时候,注意用多种分隔符的方法; (2)输出时,格式控制中要包含一些提示字符。

3、程序改错

下面是判断一个学生考试成绩及格与否的程序(成绩A,或B,或C者为及格;成绩为D者不及格),调试并改进如下程序使其能满足上述输出的需要。

#include main()

{ char mark=“A”; switch(mark) { case “A”: case “B”:

case “C”: printf(“>=60\\n”); case “D”: printf(“<60\\n”); default: printf(“Error\\n”); } }

4、程序设计

(1)功能:编程实现使实型正数保留2位小数,并对第三位进行四舍五入。 例如:实型数为 1234.567,则函数返回 1234.570000; 实型数为 1234.564,则函数返回 1234.560000。

(2)功能:从键盘输入一个大写字母,要求改用小写字母输出。 (3)功能:编写函数计算下列分段函数的值:

?x2?x?6x?0且x?-3?2f(x)??x?5x?60?x?10且x?2且x?3

?x2?x?1其它?(4)功能:判断整数x是否是同构数。若是同构数,函数返回1;否则返回0。x的值由主函数从键盘读入,要求不大于100。

说明:所谓“同构数”是指这样的数,这个数出现在它的平方数的右边。 例如:输入整数5,5的平方数是25,5是25中右侧的数,所以5是同构数。

(5)功能:计算正整数n的所有因子(1和n除外)之和并输出。n的值由键盘输入。

例如:n=120时,输出239。

(6)功能:计算并输出下列多项式的值 S = 1 + 1/1! + 1/2! + 1/3! + ... + 1/n! 例如:键盘给n输入15,则输出为:s=2.718282。 注意:要求n的值大于1但不大于100。

(7)功能:从低位开始取出长整型变量s奇数位上的数,依次构成一个新数放在t中。 例如:当s中的数为:7654321时,t中的数为:7531。

5、思考题

(1)功能:判断一个三位数是否\水仙花数\。在main函数中从键盘输入一个三位数,并输出判断结果。

说明:所谓\水仙花数\是指一3位数,其各位数字立方和等于该数本身。 例如:153是一个水仙花数,因为153=1+125+27。

(2)功能:计算并输出3到n之间所有素数的平方根之和。 例如:键盘给n输入100后,输出为:sum=148.874270。

(3)功能:输出Fibonacci数列中大于s的最小的一个数。其中Fibonacci数列F(n)的定义为:

F(0)=0,F(1)=1 F(n)=F(n-1)+F(n-2) 例如:键盘输入s=1000时,输出1597。

程序清单及流程图:(程序题)

1. 编程实现使实型正数保留2位小数,并对第三位进行四舍五入

例如:实型数为 1234.567,则函数返回 1234.570000; 实型数为 1234.564,则函数返回 1234.560000。

#include main() {

float x ; int y,d1;

printf(\请输入一个正实型数X=\ scanf (\ y = (int)(x * 1000); d1 = y; y=y/10; if(d1 >= 5) {

y=y+1; } else {

y=y; }

printf(\四舍五入后的数是y=%f\\n\}

2.从键盘输入一个大写字母,要求改用小写字母输出 #include main() {

char X,Y;

printf(\输入一个大写字母:\ scanf(\ Y = X + 32;

printf(\输出的小写字母是:%c\\n\}

3.编写函数计算下列分段函数的值: #include main () {

int x,y;

scanf(\ if(x<0 && x!=-3) {

y = x*x + x + 6;

printf(\输出的结果是 y=%d\\n\ }

else if(x>=0 && x<10 && x!=2 && x!=3) {

y=x*x - 5*x +6;

printf(\输出的结果是 y=%d\\n\ }else {

y = x*x - x - 1;

printf(\输出的结果是 y=%d\\n\ } }

功能:判断整数x是否是同构数。若是同构数,函数返回1;否则返回0。x的值由主函数从键盘读入,要求不大于100。

说明:所谓“同构数”是指这样的数,这个数出现在它的平方数的右边。 例如:输入整数5,5的平方数是25,5是25中右侧的数,所以5是同构数。 main() {