套题1---C语言程序设计---答案(2)

2018-12-08 20:04

班级: 学号: 姓名: 的下面

}

//或不修改上面的语句,而将p++;移到原sum += *p;语句

avg = (float)sum/ 10; printf(“avg=%f”, avg); }

4. 编程实现从键盘输入一个字符串,将其字符顺序颠倒后重新存放,并输出这个字符串。

#include #include

void Inverse(char rstr[]);

main() {

char str[80];

printf(\ gets(str); Inverse(str);

printf(\ puts(str); }

void Inverse(char rstr[]) {

int i,n; char temp;

for(i=0, n=(strlen(rstr)-1); i

temp = rstr[i]; rstr[i] = rstr[n]; rstr[n] = temp; } } 五、编程

1. 从键盘任意输入一个4位数x,编程计算x的每一位数字相加之和(忽略整数前的正负号)。例如,输入x为1234,则由1234分离出其千位1、百位2、十位3、个位4,然后计算1+2+3+4=10,并输出10。

// 空格、空行、缩进、标识符命名等编程规范 2分

6 班级: 学号: 姓名: #include

#include //1分 main() {

int i1, i2, i3, i4, k, n=10000;

//1分,为避免输入非数值类型数据,将n初始化成不在1000和9999之间的数

//1分,变量类型定义正确

printf(\Input a decimal between 1000 and 9999:\);

scanf(\%d\, &n); //1分 k = fabs(n); /*取绝对值*/ //1分

if((k<1000)||(k>9999)) //2分 有效数据判断 {

printf(\Input error!\\n\); return; }

i1 = k / 1000; /*分离出千位*/ //1分

i2 = (k - i1 * 1000) / 100;/*分离出百位*///1分 i3 = (k - i1 * 1000 - i2 * 100) / 10;/*十位*///1分

i4 = k % 10; /*分离出个位*/ //1分

printf(\i1+i2+i3+i4); //1分 }

2. 输入20个学生的成绩,求出其中大于平均成绩学生的人数,并对20名学生成绩按从高到低进行排序。

// 缩进、空格、空行、标识符命名等编程规范 2分

#include main() {

int p=20,i,k=0,j; //2分 类型错扣1分,没初始化扣1分

float ave,a[20],t,sum=0;

printf(\students:\\n\

for(i=0;i

for(i=0;i

7 班级: 学号: 姓名:

sum=sum+a[i]; ave=sum/p; //1分 for(i=0;i

if(a[i]>ave) k++; }

for(i=0;i t=a[j-1];a[j-1]=a[j];a[j]=t; //1分 }

printf(\the average score:%d,%.1f\\n\ //1分 输出显示正确

printf(\ for(i=0;i

printf(\ //1分 输出显示正确 }

3. 利用公式?=?????×100项之积计算并打印?值。 ??前...// 缩进、空格、空行、标识符命名等编程规范 2分

#include main() { double term, result = 1; // 2分 类型和初始化正确

int n; for (n = 2; n <= 100; n = n + 2) //3分循环正确

{

term = (double)( n * n)/(( n - 1) * (

n + 1));

//3分 类型转换1分,表达式2

result = result * term; //2分 } printf(\//2分 类型和表达式正确各一分 }

??22244661335578


套题1---C语言程序设计---答案(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:五官科护理学教学大纲

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: