1、整理文档
第一次作业
一、写出下列每个程序运行后的输出结果
1. #include
2、
void main()
{
int i,s=0;
for(i=1;i<=6;i++)
s+=i*i;
printf("s=%d\n",s);
}
3. #include
3、e(n--){y++;y++;}
printf("y=%d\n",y);
}
5. #include 4、h.h>
void main()
{
int i,n;
for(n=2;n<=20;n++){
int temp=(int)sqrt(n);//sqrt(n)求出n的平方根并取整
for(i=2;i<=temp;i++)
if(n%i==0)break;
if(i>temp)printf("%d ",n);
}
printf("\n");
.
整理文档
}
7. #include 5、c5;
c2=c3=c5=0;
for(i=1;i<=M;i++){
if(i%2==0)c2++;
if(i%3==0)c3++;
if(i%5==0)c5++;
}
printf("%d %d %d\n",c2,c3,c5);
}
8. #include 6、",i);
s+=i;
}
printf("%d\n",s);
}
.
整理文档
参考答案:
1、答案:11 14 switch end.
2、答案:s=91.
3、答案:25 20.
4、答案:y=21.
5、答案:1 1 2 3 5
8 13 21 34 55
6、答案:2 3 5 7 11 13 17 19
7、答案:10 6 4
8、答案:1 5 7 11 13 37
第二次作业
一、根据下列每个题目要求编写程序
1.编写一个函数,函数头格式为“void fun4(char *a , int b[])”,分别求出 7、由字符指针a所指向的字符串中包含的每种十进制数字出现的次数,把统计结果保存在数组b的相应元素。
2.编写一个函数,函数头格式为“double Mean(double a[M][N] , int m , int n)”,要求返回二维数组a[m][n]中所有元素的平均值,假定在计算过程是采用变量v存放平均值。
.
整理文档
3.编写一个递归函数“int FF(int a[] , int n)”,求出数组a中所有元素n个元素之积并返回。
4.编写一个主函数,利用while循环,求出并显示满足 8、不等式1+1/2+1/3+……+1/n>5的最小n值。
5.编写一个主函数,求满足不等式22+42+……+n2<1000的最大n值,假定分别用i和s为取偶数值和累加值的变量,并限定使用do循环编程。
.
整理文档
6.编写一个主函数,计算并输出n!的值,其中n值由键盘输入。
参考答案:
1、答案:
#include 9、8]++;
}while(*a++);
}
/*void main()
{
char * a="122333444499888";
int b[10]={0};
fun4(a,b);
for(int i=0;i<10;i++)
printf("%d ",b[i]);
}*/
2、答案:
#include 10、r(int j=0;j 11、{
int a[6]={1,2,3,4,5,6};
printf("%d\n",FF(a,6));
}*/
4、答案:
.
整理文档
#include 12、
void main()
{
int s=0,i=2;
do
{
s+=i*i;
if(s+(i+2)*(i+2)>=1000)break;
else i+=2;
}while(true);
printf("i=%d,s=%d",i,s);
}
6、答案:
#include 13、d",n,s);
}
第三次作业
一、写出下列每个程序运行后的输出结果
1. 程序代码:
#include 14、id main() {
char a1 = 'b', a2 = 'C', a3 = 'f';
SB(a1); SB(a2); SB(a3); SB('A');
printf("\n");
}
.
整理文档
2. 程序代码:
#include 15、x = a * b; break;
case '/': if(b) x = (double)a/b; else exit(1); break;
default: { printf("运算符错!\n"); exit(1); }
}
return x;
}
void main() {
int x = 20, y = 8;
printf("%3.2lf ", SD(x, y, '-'));
printf("%3.2lf ", SD(x, y, '*'));
printf("%3.2lf\n", SD(x + y, y, '/'));
}
3. 程序代码 16、
#include 17、dio.h>
#include 18、lude 19、32, 47, 36, 28 };
InsertSort(a, 6);
for(i = 0; i < 6; i ++) printf("%d ", a[i]);
printf("\n");
}
6. 程序代码:
#include 20、"\n");
}
}
7. 程序代码:
#include 21、lude 22、for(i = 0; i < n; i ++)
if(a[i] == x) return 1;
return 0;
}
2. 程序代码:
.
整理文档
int WC(int a[], int n, int k) {
int c = 0, i;
for(i = 0; i < n; i ++)
if(a[i] >= k) c ++;
return c;
}
3. 程序代码:
#include 23、int x, int y) {
int z;
printf("%d + %d = ", x, y);
scanf("%d", &z);
if(x + y == z) return 1; else return 0;
}
void main() {
int i, a, b, c = 0;
srand(time(0)); // 初始化随机数序列
for(i = 0; i < N; i ++) {
a = rand() % 20 + 1; // rand()函数产生0~32767之间的一个随机数
b = rand() % 20 + 1;
c += 24、ff(a, b);
}
printf("得分:%d\n", c * 10);
}
4. * 程序代码:
int fun6(int m, int n, int b)
{
.
整理文档
if(m < b && n < b) return m * n;
else if(m % b == 0 && n % b == 0) return b * fun6(m / b, n / b, b);
else return fun6(m, n, ++ b);
}
5. 程序代码:
#include 25、
void LI(int n) {
int * a = malloc(n * sizeof(int));
int i;
for(i = 0; i < n; i ++) scanf("%d", a + i);
for(i = n - 1; i >= 0; i --) printf("%d ", * (a + i));
printf("\n");
free(a);
}
6. 程序代码:
int LK(double a[], int n) {
double s = 0;
int i, m = 0;
for(i = 0; i < n; i ++) s 26、 a[i];
s /= n;
for(i = 0; i < n; i ++)
if(a[i] >= s) m ++;
return m;
}
.
整理文档
参考答案:
一、1、答案:运行结果:
GG PP BB WW
2、答案:运行结果:
12.00 160.00 3.50
3、答案:运行结果:
main: x, y = 18, 23
subs: x, y = 41, 64
main: x, y = 36, 23
4、答案:运行结果:
432198765
5、运行结果:
47 36 32 2 27、8 20 15
6、答案:运行结果:
3 5 7 9
11 13 15 17
7、答案:运行结果:
50 60
8、答案:运行结果:
b=184
二、1、答案:在整型数组a的前n个元素中查找值为x的元素,找到返回1,找不到返回0。
2、答案:统计整型数组a的前n个元素中不小于k的元素个数并返回
3、答案:程序随机产生10道20以内整数加法题,请用户回答。并统计得分, 4、答案:调用fun6(m, n, 2)求m和n的最小公倍数
5、答案:读入n个整数,然后逆序输出
.
整理文档
6、答案:返回双精度数数组a的前n个元素中不小于平均值的元 28、素个数。
第四次作业
一、写出下列每个程序运行后的输出结果
1. 程序代码:
#include 29、intf("%s %d %6.2f\n", p->name, p->age + 1, p->pay + 20);
}
2. 程序代码:
#include 30、x.name, t);
x.age = d; x.pay = f;
x.age ++; x.pay *= 2;
printf("%s %d %6.2f\n", x.name, x.age, x.pay);
}
3. 程序代码:
#include 31、urn 1;
else return 0;
}
void main() {
struct Worker a[4] = { { "abc", 25, 420 }, { "def", 58, 638 },
{ "ghi", 49, 560 }, { "jkl", 36, 375 } };
struct Worker x = a[0];
int i;
for(i = 1; i < 4; i ++)
if(Less(x, a[i])) x = a[i];
printf("%s %d %6.2f\n", x.name, x.age, x.pay);
} 32、
二、写出下列每个函数的功能
1. 程序代码:
struct Worker {
.
整理文档
char name[15]; // 姓名
int age; // 年龄
float pay; // 工资
};
void QA(struct Worker a[], int n) {
int i;
for(i = 1; i < n; i ++)
scanf("%s %d %f", &a[i].name, &a[i].age, &a[i].pay);
}
2. 程序代码:
struct StrNode {
char name[15]; / 33、/ 字符串域
struct StrNode * next; // 指针域
};
struct StrNode * QB(int n) {
struct StrNode * f, * p;
if(n == 0) return NULL;
f = malloc(sizeof(struct StrNode));
scanf("%s", f->name);
p = f;
while(-- n) {
p = p->next = malloc(sizeof(struct StrNode));
scanf("%s", p->name);
}
p->next 34、 = NULL;
return f;
}
3. 程序代码:
struct IntNode {
.
整理文档
int data; // 结点值域
struct IntNode * next; // 结点指针域
};
struct IntNode * FindMax(struct IntNode * f)
{
struct IntNode * p = f;
if(! f) return NULL;
f = f->next;
while(f) {
if(f->data < p->data) p = f;
f = f->next;
} 35、
return p;
}
4. * 程序代码:
struct IntNode {
int data; // 结点值域
struct IntNode * next; // 结点指针域
};
int Count(struct IntNode * f)
{
int c = 0;
while(f) {
c ++;
f = f->next;
}
return c;
}
.
整理文档
5. 程序代码:
struct IntNode {
int data; // 结点值域
struct IntNode * next; 36、// 结点指针域
};
struct IntNode * Input(int n)
{
struct IntNode * f, * p;
f = malloc(sizeof(struct IntNode));
if(n == 0) return NULL;
f->next = NULL;
printf("从键盘输入%d个整数:", n);
while(n --) {
scanf("%d", &(f->data));
p = f;
f = malloc(sizeof(struct IntNode));
f->next = p;
}
r 37、eturn f->next;
}
6. 程序代码:
#include 38、uts(a, fout);
fputc('\n', fout);
}
fclose(fout);
}
void main()
{
char * p = "d:\\xxk\\xuxk1.txt";
JA(p);
}
参考答案:
.
整理文档
一、1、答案:运行结果:
wanghua 52 2350.00
wanghua 53 2370.00
2、答案:运行结果:
liouting 39 986.00
3、答案:运行结果:
def 58 638.00
二、1、答案 39、从标准输入设备读入n-1个人员的信息,依次存到结构数组的a[1]到a[n-1]元素中
2、答案:创建具有n个struct StrNode结点的单向链表并返回其表头结点地址,n为0时返回NULL。
3、答案:函数功能:
查找单向链表中结点值域最大的结点,并返回其地址。如链表为空则返回NULL
4、答案:函数功能:
统计并返回单向链表结点个数
5、答案:函数功能:
从表尾结点开始,逆序创建具有n个struct IntNode结点的单向链表并返回其表头结点地址,n为0时返回NULL
6、答案:函数功能:
将输入的若干个字符串保存到文本文件d:\xxk\xuxk1.txt中,每个字符串一行。输入的单个字符串长度必须小于20,输入字符串end结束
本文档部分内容来源于网络,如有内容侵权请告知删除,感谢您的配合!
.






