华南农业大学C语言程序设计实验指导书参考答案 下载本文

positive

[正确输出] even

参考程序:

#include \main() { int n;

scanf(\

if(n<0)printf(\else printf(\if(n%2==0)printf(\else printf(\}

[题目1023:简单计算器]

下面程序是实现一个简单的运算器 保留两位小数点),如果由键盘输入10+50,计算机可以输出结

果60.00;如果输入8*6,计算机输出48.00;如果输入20/4,计算机输出5.00;如果输入8-6,计算机

输出2.00,请在空处填上适当的代码,运行通过后并提交。 #include \void main()

{ float a,b,c; char op;

scanf(\ ); switch (op)

{ case '+': ; case '-': _; case '*': _; case '/': __ ; default: printf(\return ; }

printf(\ \}

[第一组自测数据] [第二组自测数据]

[键盘输入] [键盘输入]

45*2↙ 50.1-23↙

[正确输出] [正

确输出]

90 27.10

参考程序:

#include int main()

{ float a,b,c; char op;

scanf(\switch(op)

{ case '+':c=a+b;break; case '-':c=a-b;break; case '*':c=a*b;break; case '/':c=a/b;break; default:printf(\break; }

printf(\} 、

实验5 循环结构程序设计(一)

一、实验目的

1)熟悉掌握用while 语句、do-while 语句和for 语句实现循环的方法。 2)掌握在程序设计中用循环实现一些常用算法 (如穷举、迭代、递推等)。

二、实验内容

[题目1024:计算阶乘]

输入正整数n,计算n!,结果用长整型数表示 注n!=1*2*3*...*n)

[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入] 5↙ 8↙

[正确输出] [正确输出] 120 40320 参考程序:

#include

main()

{ long i,n=1,a; scanf(\

for(i=1;i<=a;i++) n=n*i; printf(\}

[题目1025:计算数列和]

有数列1,3,5,7,9,11,??

现要求由键盘输入n,计算输出该数列的前n 项和。

[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入] 2↙ 5↙

[正确输出] [正确输出] 4 25

参考程序:

#include main()

{ long n,sum=0,i,t=1; scanf(\for(i=1;i<=n;i++) { sum=sum+t; t=t+2; }

printf(\} 或

#include main()

{ long n,sum; scanf(\sum=n*n;

printf(\}

注:评判系统不对程序实现细节进行分析,只对运行结果进行评测。 [题目1026: 加一行字符中的数字]

由键盘输入一行字符 总字符个数从1 个至80 个均有可能,以回车符表示结束),将其中每个数字

字符所代表的数值累加起来,输出结果。

[第一组自测数据] [第

二组自测数据]

[键盘输入] [键盘输入]

abc123↙ A6H7T+65↙

[正确输出] [正确输出]

6 24 [提示] 1)可以使用下面程序段逐个读入键盘输入的一行字符 char ch;

while((ch=getchar())!='\\n') {……}

2)数字字符转为对应的数值可用a=ch-'0' 参考程序:

#include main() { char c; int s=0,a;

while((c=getchar())!='\\n') { if(c>='0'&&c<='9') { a=c-48; s=s+a; } }

printf(\}

[题目1029:求最大公约数]

由键盘输入两个正整数m、n m、n 用长整数表示),计算它们的最大公约数。

[第一组自测数据] [第二组自测数据]

[键盘输入] [键盘输入] 16,24↙ 17,25↙

[正确输出] [正确输出] 8 1

[提示]公约数是既能整除m 又能整除n 的数,题目要求满足这一条件的最大的一个。

参考程序:

#include main()

{ long r,m,n,temp;

scanf(\