高级语言程序设计C平时作业.docx
《高级语言程序设计C平时作业.docx》由会员分享,可在线阅读,更多相关《高级语言程序设计C平时作业.docx(15页珍藏版)》请在冰豆网上搜索。
![高级语言程序设计C平时作业.docx](https://file1.bdocx.com/fileroot1/2023-4/1/9c800c91-7483-45c2-8590-c0d4ec1e75ed/9c800c91-7483-45c2-8590-c0d4ec1e75ed1.gif)
高级语言程序设计C平时作业
一、分析程序,写输出结果
1.<>
<>
()
{m,k,i;
(1;m<=10;2)
{k=3;
(2;i<;)
()<}
}
79
2.<>
();
()
{i;
(1<5)();
<<;
}
()
{a;
2;
a2;
<<<<'\t';
}
46810
3.<>
(n)
{(0)1;
2*
(1);
}
()
{5;
<<(a)<<;
}
32
4.<>
()
{*"";
(0;i<4;)
<<<<'\t';
}
d
二、.根据程序功能填空。
1.程序把10个数存储到一维数组a中,并求该数组中最大值。
<>
()
{;
a[10]={76,55,95,87,85,83,65,90,77,85};
*;
*p;
(;p<[10];)
(*p>)*p;
<<""<<<<;
}
2.下面程序的功能是输出1至100之间每位数字的乘积大于每位数的和的数。
例如,45两位数字的乘积为4×5=20,和为4+5=9。
<>
()
{n,1,0,m;
(1;n<=100;)
{1;0;
1m;
(2m)
{k*10;
10;
3m10;
}
(k>s)<}
}
3.程序对输入的n求s=1+1/23+1/33+…+13。
<>
()
{s;i,n;
<<"";>>n;
s=0;
(1;i(1.0/(n*n*n);
<<""<
}
4.函数从键盘输入整数序列,以输入0为结束。
按输入顺序建立一个以为表头的单向链表。
{;*;};
(*)
{*p,*q;
;
>>>;
;
(>)
{();
>;;
;
;;
>>>;
}
>;
p;
}}
5.以下程序求方程的全部整数解:
3x+2y-7z=5(0≤x,y,z≤100)
<>
()
{x,y,z;
(0;x<=100;)
(0;y<=100;)
{((3*2*5)%7)
;
3*2*5)/7;求出z的值
(z<=100>=0)检查z的范围
<<""<}
三、程序设计
1.编写函数输出以下形状的图形,其中构成图形的数字和输出的行数通过参数传送。
1
222
33333
4444444
<>
()
{
;
(0<5;){
(0<2*1){
<
}
<<;
}
}
2.请编程序,输入两个正整数啊a和b(a
每行输出数据不超过10个。
例如,若输入a为6,b为8,则输出格式要求如下:
6:
23
7:
8:
24
<>
;
(i);
()
{
;
<<":
"<<;
>>>>;
(<)
{
(i);
}
}
(i)
{
<<""<
"<<;
*();
0;
(2<)
{
(0)
{
[n];
;
}
}
(0)
{
<<""<<;
}
{
(0<)
{
<<[j]<<"";
(
(1)%100)
{
<<;
}
}
<<;
}
}
3.请编程序,找出1至99之间的全部同构数。
同构数是这样一组数:
它出现在平方数的右边。
例如:
5是25右边的数,25是625右边的数,所以5和25都是同构数。
<>
;
()
{
10;
0;
(1<100)
{
*x;
(0)
{
()
{
1;
;
}
*10;
}
(1)<0;
10;
}
0;
}
4.编写一个程序,实现如下功能:
(1)从键盘输入ab。
其中a,b为数值;为字符,限制为+、-、*、/。
(2)调用函数(),计算表达式ab的值。
由主函数输出结果。
<>
;
T(b)
{
()
{
'+'();
'-'();
'*'(a*b);
'/'();
<<"."<<;
}
}
()
{
;
;
>>a>>>>b;
('/'b0)
{
<<"."<<;
}
<<""<<()<<;
("");
0;
}
5.编写一个程序,实现如下功能:
(1)输入k(<100)个整数到数组x[100]中;
(2)计算k个数的平均值及大于平均值的元素个数。
<>
([]);
([]);
()
{
[100];
(0<100)
{
>>i;
(0){
;
}
x[k];
}
();
<<"平均值"<<<<;
<<"大于平均值的元素个数"<<()<<;
}
(u[]k)
{
0;
(0<)
[a];
();
}
(u[]k)
{
0;
();
(0<)
{
(u[c]>);}
m;
}
6.定义函数
([]);
逆置数组的元素。
例如实参数组原来为[1,5,3,2,6,8,9,4],调用函数
后变成为[4,9,8,6,2,3,5,1]。
([]){
i;
;
(0<2){
=[i];
[i]=[];
[]=;
}
}
7.数组a包含50个整数,把a中所有的后项除以前项之商取整后存入数组b(即b[i][i][1],并且b[50][20][1]),最后按每行5个元素的格式输出数组b。
<>
()
{a[50][50];
0用来控制换行
(1<=50)
{<<"\a["<
";>>a[i];
}
(1<=50)
{(50)b[i][i][1];
b[i][20][1];
}
(0<=50)
{(5)<<"\n";
<<""<
}
}
8.编程输出所有不超过100的其平方具有对称性质的正整数(也称回文数)。
输出格式如下:
11
24
39
11121
22484
26676
<>
()
{i;
(i)判断i的i^2是不是回文数的函数
(4<=100)
{((i)0)<<"\n"<
}
}
(i)
{1=0;
*i;
;
(k>0)
{11*1010;
10;
}
(1)i*i;
0;
}
9.编写程序,打印如下杨辉三角。
1
11
121
1331
14641
<>
()
{
a[5][5];
(0<5)
{
(5>)
("%2c",'')*两个空格*/
(0<)
{
(0)
a[i][j]=1;
a[i][j][1][j][1][1];
("%3d"[i][j]);/*%3d后一个空格*/
()
("\n");
}
}
}
10.定义一个函数,计算长度为k的整型数组元素的平均值及大于平均值的元素个数。
调用函数的语句为:
();
其中a是数组名,k是数组元素个数,返回的平均值,返回大于平均值的元素个数。
(){
=0=0;
i;
求平均数
(i=0;ia[i];
}
=()/()a;
求大于平均数的个数
(i=0;i(a[i]>);
}
=;
}