long fanc(int a) { long i,n=1;
for(i=1;i<=a;i++) n=n*i; return n; }
void main() { int n;
scanf(\ printf(\ }
[题目 1124:函数中的变量] 写出下面程序的运行结果: int f1(int x)
{ static int z=3,y=0; y++; z++;
return(x+y+z); }
main()
{ int a=1,k;
for(k=0;k<3;k++) printf(\ }
程序运行结果为: 6 8 10
*[题目 1084:编写递归调用函数,实现十进制数转二进制数]
下面程序,实现由键盘输入一个正整数(不大于 100000000),输出其对应的二进制数(原码表示)。 请填空:
#include \ void fun( int i ) { if (i>1)
fun(i/2) ; printf(\ }
main() { int n;
scanf(\ fun(n) ;
}
[题目1151:求函数值] 输入x(x为整数),求下列函数值。 函数定义如下:
F(x)=x x小于3
F(x)=F(x/3)*2 x大于等于3且x为3的倍数 F(x)=F((x-1)/3)+1 x大于等于3且x除3余1 F(x)=F((x-2)/3)+2 x大于等于3且x除3余2 [第一组自测数据] [键盘输入] 2
[正确输出] 2
[第二组自测数据] [键盘输入] 100000 [正确输出] 65
[提示]
采用递归函数实现。
参考程序:
#include\int F(int x) { int y; if(x<3) y=x; else if(x%3==0) y=F(x/3)*2; else if(x%3==1) y=F((x-1)/3)+1; else y=F((x-2)/3)+2; return y; }
main() { int x; scanf(\ printf(\}
26
实验 10 指针与结构体 一、实验目的
(1)通过实验进一步掌握指针的概念,会定义和使用指针变量。 (2)能正确使用数组的指针和指向数组的指针变量。 (3)能正确使用字符串的指针和指向字符中的指针变量。 (4)掌握结构体类型变量的定义和使用。 二、实验内容
[题目 1091:交换两数,由大到小输出]
下面程序,交换两数,使两数由大到小输出,请填空 #include \
void swap( int *p1, int *p2 ) { int temp; temp=*p1; *p1=*p2; *p2=temp; }
int main() { int a,b; int *pa,*pb; scanf(\ pa=&a; pb=&b;
if(a
[题目 1065:数组中的指针] 设有如下数组定义:
int a[3][4]={{1,3,5,7},{9,11,13,15},{17,19,21,23}};
计算下面各项的值(设数组a 的首地址为2000,一个int类型数占四个字节)。注意:地址则输出地址,
变量则输出变量值;要求一行一个答案,不允许多余空行及空格。
(1)a[2][1] (2)a[1] (3)a (4)a+1
(5)*a+1 (6)*(a+1) (7)a[2]+1 (8)*(a+1)+1 (9)*(*(a+2)+2) 27 参考程序:
#include \
main()
{ printf(\ printf(\ printf(\ printf(\ printf(\ printf(\ printf(\ printf(\ printf(\ }
[题目 1092:函数实现求字符串长度]
下面程序以指针方式传递参数,由函数实现求字符串长度,请填空完成 #include \ #include \ int f(char *p)
{ return strlen(p); }
int main()
{ char s[80]; int i;
scanf(\ i=f(s);
printf(\ }
[题目 1125:定义结构体类型]
要求定义一个名为student的结构体类型,其包含如下成员: (1)字符数组name,最多可存放10个字符; (2)字符变量 sex,用于记录性别;
(3)整数类型变量num,用于记录学号; (4)float类型变量score,用于记录成绩; 并使下列代码完整。 /*定义结构体类型*/ struct student
{ char name[20]; char sex; int num; float score; } main()
{
struct student stu;
scanf(\ stu.name); scanf(\ &stu.sex); scanf(\ &stu.num); scanf(\ &stu.score); printf(\ printf(\ printf(\ printf(\ }
[题目11128:字符串与指针] 请写出下列程序的运行结果 #include \int main() { char string[30]=\ char *p=&string[0], *p2=string+8; printf(\}
程序运行结果为:How_are_you,you
*实验 11链表 一、实验目的
(1)理解链表的概念。
(2)掌握结构体、指针在链表中的运用。
(3)掌握链表的常用操作,包括创建、显示、添加等。 二、实验内容
[题目 1098:链表结点的插入] 有结构体类型定义, struct student
{ long num; /*学号*/ int score; /*成绩*/
struct student *next; /*指针*/ };
程序首先完成创建两个链表,要求补充完成按学号顺序插入链表结点的函数: struct student *insert(struct student *head, struct student *stud) {
struct student *p0,*p1,*p2; p1=head;