一、这道计算机程序设计教程的答案是什么?
第一空填:distinct (删除重复的行或值)
第二空填:count(*) (统计个数)
二、编程题,求正确答案
都用循环搞定呀,只是第一道题要准确数还是近似值,近似值好办,把分数变浮点数就好,如要准确数的话要得到15项分母的最小公倍数,大概给个文字说明吧
题1:
1、首先写个方法求数列前15项分母的最小公倍数(最小公倍数求法很多,随便找一种用代码写一下就好),这个值就是你后门结果的分母
2、循环数列前15项,用最小公倍数整除个项的分母,得到的数再乘以分子,相加15个这些得到的数,这就是分子,有分母有分子题1的解,需要注意的是在以上过程中的数据类型转换和字符串的截取问题
题2:
4×4矩阵的对角线是4个格子,因此做一个循环,循环次数为4(如:for(i=0;i<4;i++))每次取的数组下标为
[i][i],取得的数相加就好:
sum=0;
for(i=0;i<4;i++)
{
sum+=array[i][i];
}
sum就是解
三、高级程序语言设计问题12
楼上门的是对的。
因为字符'A'的ASCII码值是65(十进制),101(八进制),40(十六进制)。因为c1,c2,c3对应的字符都是'A',所以printf (A=%d,%c=0101,%c=0x41\n,c1,c2,c3);中A=65,A=0101,A=0x41。就是c1以十进制整形形式输出,c2,c3以字符形式输出。
其实和printf (%d,%c,%c\n,c1,c2,c3);道理一样,输出65,A,A
四、关于PASCAL程序设计的几道题的答案
我现在的机子上没有pascal,只能在这写,可能会有错,但思路是这样的
1.36=2*13???
2.program wood;
var e:double;
n,i:longint;
a:array[0..10000]of double;
procedure js;
var i,j,s:longint;
begin
for i:=0 to n do
a[i]:=1;
for i:=1 to n do
begin
for j:=1 to i do
a[i]:=a[i]*j;
a[i]:=1 / a[i];
end;
end;
begin
read(n);
js;
e:=0;
for i:=0 to n do
e:=e+a[i];
writeln(e);
end.
3.和2类似,多加一个奇偶的判断,把*改成+就行了。
4.program wood;
var n,i,j:integer;
a:array[1..1000]of integer;
begin
read(n);
for i:=1 to n do
read(a[i]);
一下就和求2个数的一样了
end.
6.大概思路:for i:=2 to 1000 do
begin
m:=0;
for j:=2 to i-1 do
if i mod j = 0 then m:=m+j;
if m=i then write(i:3);
end;
五、C++编程请教答案
//编程能被3整除余1,被4整除余3的大于100的三位数并统计其个数这个题目比较简单,最容易实现的方法就是写一个循环,一次判断每一个数,如何条件就在个数上加一,并输出这个数。程序如下,希望你更多的实践。
#include <iostream>using namespace std;
int main()
{
int acount = 0; //计数器
for(int i = 101; i < 1000; i ++) //从101 到 999的循环
{
if(i%3 == 1 && i%4 == 3) //%是取整除后的余数,取模符号。
{
cout << i << ;
acount ++;
}
}
cout << endl;
cout << acount = << acount << endl;
return 0;
}