谁可以帮我做一下这个C++C语言的作业

一、 基础题(15%)
1.定义int n=5,a=12;写出a*=(n%=3);执行后变量n与a的值。
【答案】

2.设a=b=5;分别判断表达式的真假:6>a>2与++b==6。
【答案】

3.分别计算表达式的值:43 | 38 与 (43 ^ 38) >> 2。
【答案】

二、 改错(30%)
1、试找出程序中的语法错误,写出错误所在行号及正确内容。
#include <stdio.h>
#1 main
#2 {
#3 int m,n,k,i;
#4 scanf( "%d%d", m, n );
#5 if m < n
#6 k = 1
#7 else
#8 k = -1;
#9 for ( i = m,i != n, i+=k )
#10 printf( "%d ", i );
#11 }
【答案】

2、程序功能为:判断从键盘上输入的一个字符,并按下列要求输出。若该字符是数字 输出字符串"0-9";若该字符是大写字母 输出字符串"A-Z";若该字符是小写字母 输出字符串"a-z";若该字符是其他字符 输出字符串"!,@,…",写出错误所在行号及正确内容。

#include <stdio.h>
#1 main()
#2 { int c;
#3 printf("请输入字符,系统将显示其范围\n");
#4 scanf("%c",&c);
#5 if('0'<=c||c<='9')
#6 printf("\t0-9\n");
#7 else if('A'>=c&&c<='Z')
#8 printf("\tA-Z\n");
#9 else if('a'<=c&&c>='z')
#10 printf("\ta-z\n");
#11 else
#12 printf("\t!,@,…\n");
#13}
【答案】

三、 程序填空(15%)
下列程序的功能为:输入三角形的三边长,求三角形面积。
已知三角形的三边长a,b,c,则该三角形的面积公式为:

其中s = (a+b+c)/2,请填写适当的符号或语句,使程序实现其功能。
#include<math.h>
#include<stdio.h>
main()
{
float a,b,c,s,area;
① ;
s=1.0/2*(a+b+c);
area= ② ;
printf(“a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2f\n”,a,b,c,s);
printf( ③ ,area);
}
【答案】




四、 编写程序(40%)
1、“有物不知几何,三三数余一,五五数余二,七七数余三,问:物有几何?”编程求2000以内所有解,打印时用空格隔开。将程序保存到学号文件夹下,文件名为b-1.c
急需答案!!!谢谢!!!!!

第1个回答  2009-04-14
你可以先自己尝试 不会的再问 要是作业不喜欢做或者有其他打算你就去抄吧 希望你能先自己尝试 不会的再发出来
第2个回答  2009-04-14
no,好孩子要自己做
第3个回答  2009-04-14
题多
第4个回答  2009-04-14
/***************************************************************************
欢迎参观!!!!
***************************************************************************/

本人已经在电脑上验证过答案了的,也作了详细注释和分析:

其实这些东西还是要自己多做,本身也不是太复杂的东西,实在不行可以上机验证结果是否正确,这样才能提高哈。希望对你有帮助:
一、 基础题
1.答案 a=24,n=2
a*=(n%=3)
⑴分析:先计算括号内内容 n%=3->n=n%3=5%3=2
⑵分析:a*=(n%=3)->a=a*(n%=3)=12*2=24

2.答案 假,真
⑴6>a>2
分析:">"号优先级是从左到右,所以等价于(6>a)>2,6>a=5为真返回1等价于1>2为假
⑵++b==6
分析:++为单目运算符,优先级高,等价于(++b)==6等价于6==6为真

3.答案 47,3
⑴43 | 38
分析:|为按位或(两个其中有一个为1则结果为1),先转换成2进制
101011 | 100110结果为101111转换为10进制为47
⑵(43 ^ 38) >> 2
分析:^逐位异或,两个不同则结果为1
43 ^ 38等价于 101011 ^ 100110结果是001101
>> 2右移两位,000011=3

二、 改错
1、
#1 void main//不带void的这种写法不规范,有些编译器会出错。
#5 if (m < n )//条件必须加括号
#6 k = 1;//语句必须以;结束
#9 for ( i = m;i != n; i+=k ) //for语句以;隔开

2。
#1 void main() //不带void的这种写法不规范,有些编译器会出错。
#2 { char c; //后面比较是按char型来比较的
#5 if('0'<=c&&c<='9') //因该是间于0和9之间,所以用&&
#7 else if('A'<=c&&c<='Z') //应该是'A'<=c
#9 else if('a'<=c&&c<='z') //应该是c<='z'

三、 程序填空
①scanf("%f%f%f",&a,&b,&c);//输入三个参数
说明:已知三角形三边a,b,c,半周长p,则S= √[p(p - a)(p - b)(p - c)] (海伦公式)(p=(a+b+c)/2)

②area=sqrt(s*(s-a)*(s-b)*(s-c));
③"area=%7.2f"//%7.2表示输出的长度和精度

四、 编写程序
有物不知几何,三三数余一,五五数余二,七七数余三,问:物有几何?”编程求2000以内所有解,打印时用空格隔开。将程序保存到学号文件夹下,文件名为b-1.c
#include <stdio.h>
void main()
{
FILE *fp;//定义文件类型的指针,用于创建文件
int i=1;

fp = fopen("b-1.c","w");//打开一个文件,‘w’表示如果文件不存在就创建
if(fp==NULL)return ;//如果打开文件失败就返回
for(i;i<=200;i++)//循环1到200之间的数字
{
if(i%3==1 && i%5==2 && i%7==3)//条件三三数余一,五五数余二,七七数余三
{
fprintf(fp,"%d\n",i);//满足条件就往文件中写入
printf("\t%d",i);//满足条件就在屏幕上打印出来
}
}
fclose(fp);//关闭文件句柄
}
相似回答