gets(a); strcat(s, a); gets(a); strcat(s, a); printf(\} [自测数据] [键盘输入]
/*可以写多行代码*/
[正确输出]
123 abc 456
参考程序:
123abc456
[题目 1050:寻找字符串]
由键盘输入两个字符串(假设第一个字符串必包含第二个字符串,如第一个字符串为 ABCDEF,第 二个为 CDE,则 CDE 包含在 ABCDEF 中),现要求编程输出第二字符串在第一行字符串中出现的位置。 (如果第二个字符串在第一个字符串中出现多次,则以最前出现的为准) [第一组自测数据] [键盘输入] ABCDEFG↙ DE↙ [正确输出] 4
[第二组自测数据] [键盘输入] hellhello!↙ hello↙ [正确输出] 5
[提示]方法 1:建立双重循环,外层循环变量指示第一个串的查找起始位置,内层循环从起始位置开始判 断第二个字符中是否出现在此处;方法 2:使用字符串函数 strstr()。 参考程序:
#include \ main() { int i,j;
char a[80], b[80]; gets(a); gets(b);
for(i=0;a[i]!='\\0';i++) { for(j=0;b[j]!='\\0';j++)
if(a[i+j]!=b[j]) break; if(b[j]=='\\0') break; }
if (a[i]!='\\0') printf(\ else printf(\ }
23
实验 9 函数的基本应用
一、实验目的
(1)掌握定义函数的方法。
(2)掌握函数实参与形参的对应关系,以及“值传递”的方式。 (3)掌握函数的嵌套调用和递归调用的方法。
(4)掌握全局变量和局部变量、动态变量、静态变量的概念和使用方法。
二、实验内容
[题目 1059:函数定义]
下面是使用辗转相除法,求最大公约数的程序,请补充完整程序中函数的定义与调用。
#include \
int f(int m, int n)
{
int r;
while ((r=m%n)!=0) {
m=n; n=r; }
return n; }
main() {
int a, b, n;
scanf(\printf(\ f(a, b) ); }
[题目 1083:编写函数计算阶乘]
下面程序实现由键盘读入整数 n,计算并输出 n!,请补充完整计算阶乘的函数。
long fanc(int a) { long i,n=1;
for(i=1;i<=a;i++) n=n*i; return n; }
void main() { int n;
scanf(\
24
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) ; }
25
实验 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 (7)a[2]+1
(4)a+1 (8)*(a+1)+1
26
(5)*a+1 (6)*(a+1) (9)*(*(a+2)+2)

