strcmp(*(p+i),*(p+j))>0
是 否
pstr=*(p+j); *(p+j)=*(p+i);
*(p+i)=pstr;
j++
i++
(b-a)/N=>h
((*fun)(a)+(*fun)(b))/2.0=>s
1=>i
当i<=N时
printf("nInputdata(name,number,sex(m/w),
s+(*fun)(a+i*h)=>s
score)of studene[%d]:n",n+1);
i++
gets(student[n].name);
return (s*h)
gets(numstr);
student[n].number=atol(numstr);
student[n].sex=getchar();
getchar();
实例23
实例24
函数new
head=>p1,head=>p2
开辟空间:p=(struct student *)malloc(LENGTH);
gets(numstr);p->number=atol(numstr); gets(p->name);
p->number>0
是 否
head==NULL
显1=>flag
head=>*p
当p!=NULL&&flag==1时
p->key==k
是 否
0=>flag p->next=>p
flag==0
是 否
p->count++; head=>p
head=(struct number *)malloc(LENGTH);
head->key=k; head->count=1; head->next=p;
函数list
实例25
atol(gets(numstr))=>k
head==NULL
是 否
显
示
空
表
信
head->number==k
是 否
p1=head;
head=
head=>p1
当p1->number!=k&&p1->next!=NULL时
p->numbernumber
是 否
head==p1
是 否
head=p;
p>next
=p1;
n++;
p2>nextp->number==p1->number
是 否
strcpy p1>next==NULL
是 否
p1->next=p;
p>next=NULL;
n++;
=p; (p1>name,p>next p->name);
=p1;
n++;
图25-2 流程图
实例26
实例27
另外三种赋值
k=RED
当k<=BLACK时
k!=i&&k!=j
是 否
printf("%-4d",++n);
当i<=BLACK时
j=RED
当j<=BLACK时
i!=j
是 否
另外三种赋值
i=RED
当igets(info[i].name);
scanf("%d",&info[i].age); getchar();
info[i].sex=getchar();getchar();
info[i].job=getchar();getchar();
根据职业不同选择单位类型输入数据
0=>i
实例28
循环右移
实例29
1=>flag
(fp1=fopen("","r"))==NULL
是 否
输出信息:文件打不开
flag=0;
fclose(fp1);
当i<16时
bit=(k&number)?1:0;
printf("%d",bit);
i==7
是 否
printf("--");
k>>=1;
printf("(2)n");
b=number>>n
a=number<<(16-n);
number=a|b;
return (number);
进制转换显示
k=0x8000;
printf(" %04x(16) t",number);
实例30
写新记录
实例78
k=n*sizeof(struct student);
打开文件
文件指针移动到指定地点
gets(numstr); =atol(numstr);
定义变量x ,y, z
gets();
for (x=0 ; x<=100 ; x++)
gets(numstr); =atof(numstr);
fwrite(&stud,sizeof(struct student),1,fp);
for ( y=0 ; y<=100 ; y++)
n++;
z=100-x-y
15x+9y+z=300
T F
打印x ,y ,z
实例79
n=0
x 从apple变到 pear
y 从apple变到 pear
x≠y
T F
z从apple变到 pear
z ≠x和z≠y
T F
For (loop =1 ;loop<=3 ;loop++)
loop
1 2 3
pri=x pri=y pri=z
pri
apple arange banana pineapple pear
x=1, y=18
打印 打印 打印 打印 打印
apple arrange banana pineapple pear
n=n+1
假
y >0
输出制法的总数
实例
80
真
x=2*(x+1)
y--
打印x
实例81
输入a,b
m=a ,n=b
真
a
假
a ,b 交换
c=a%b
真
c!=0
假
a=b, b=c , c=a%b
输出最大公约数和最小公倍数
实例82
定义数组a[3][18], s[18]
输入三个字符串
真
a[0]>a[1]
交换a[0] 和a[1]
真
假
a[0]>a[2]
交换a[0] 和a[2]
a[1]>a[2]
假
实例83
交换a[1] 和a[2]
真
假
输出三个字符串a[0] , a[1] , a[2]
定义符号常量N为10
输入N名学生的学号和成
绩并给数组num和st
表达式1 x=1
假
x<=N
真
sum=sum+st[x]
x++
ave=sum/N 打印ave
表达式1 x=1
x<=N
真
假
St[x]>=ave
真
打印num[x] , st[x]
x++
实例84
定义数组a[11], 整型变量 x ,y ,z
a[y]>a[y+1]
输入数组给a[1]到a[11]
假
x=1
假
x<=9
真
y=1
真
真
交换a[y]和a[y+1]的位置
y++
y<=10-x
假
x++
实例85
输出a[1]到a[10]
定义数组a[11],变量l,h,m及指针变量p
输入数据给a[1]到a[10],输入要找的数 x
l=1 ; h=10 ; p=a
当l<=h
m=( l+h)/2
x= =*(p+m)
T F
用break结束 x>*(p+m)
T F
循环 l=m+1 h=m-l
T l<=h F
打印数的位置 打印无此数
实例86
定义长整型变量a b ,和整型变量 x
a=1 ,b=1
for ( x=1 ; x<=20 ; x++)
输出 a , b
T x%2= =0 F
回车
a=b+a
b= a+b
实例87
输入数据给数组a[3][4]
for (x=0; x<=2; x++)
p=0
for (y=1; y<=3; y++)
a[x][y]>a[x][p]
T F
P=y
交换a[x][0] 和a[x][p]
输出数据
实例88
实例89
定义变量a, b, c, x =0
while (x<5)
a=rand( )%100
b=rand( )%100
F a+b>100 T
任意输入c值
continue
c= =a+b
T F
打印回答正确 打印回答错误
x++ x=0
程序结束
a=b, b=c , c=a%b
输出最大公约数
真
c!=0
假
a ,b 交换
真
a
m=a ,n=b
假
输入a,b
c=a%b
实例91
定义浮点型变量 a,b,c,p,x1,x2,realpart,imagepart
任意输入三个浮点型数
T a= =0 &&b= =0 F
打印散 a= =0 &&b!=0
无穷多解 T F
或无解
a!=0
T F
p= b-4ac
打印单根
x=-c/b p<0
T F
打印两虚根 打印两实根
2
实例92
定义整型变量le, nu , ot, x
定义字符型变量及数组 c, t[100]
x, le, nu, ot 都赋值为0
while ( (c=getchar( ))!=‟n‟)
t[x]=c
(„a‟<=t[x]&&t[x]<=‟z‟)||
(„A‟<=t[x]&&t[x]<=‟Z‟)
T F
„0‟<=t[x]&&t[x]<=‟9‟
T F
++le
++nu ++ot
x++
输出le , nu, ot
实例93
定义字符型数组ch[20],整型变量i,j=1浮点型函数(*f)()
任意输入字符串
T !strcmp(ch,”sin”) F
T !strcmp(ch, “cos”) F
f=sin
!strcmp(ch,”tan”)
T F
f=cos
f=tan j=0
j= =0
T F
打印 input error 输出三角函数值
实例94
定义整型数组变量a[N1][N2],max,min,i,j,row1,row2,column1,column2, (*ap)[4]
ap=a row1=row2=column1=column2=0
for( i=0; i
for( j=0; j
任意输入字符串放到二维数组中
max=min=a[0][0]
for( i=0; i
for( j=0; j max< *(*(ap+i)+j)
T F
max= *(*(ap+i)+j) ; row1=i;
column1=j;
min> *(*(ap+i)+j)
T F
min> *(*(ap+i)+j) ;row2=j;
column2=j
打印最大值和最小值及它们所在的行与列
实例95
定义符号常量N 20
定义浮点型a[N] *p temp p=a
for (i=0; i
任意输入20个数存放在数组中
for (i=0; i
for (j=i+1; j *(p+i)<*(p+j)
T F
交换这两个值
for (i=0; i
i%5= =0
T F
输出回车和排序后的数列
实例96
定义整型变量n
定义浮点型变量e, p
给浮点型变量赋值 e=p=1.0
for ( n=1; n<=10 ;n++)
p=p*n
e=e+1.0/p
打印输出e的值
实例97(1)
定义变量k ,n 并为它们赋值 n=0 ; k=2 ;
while (n< 15)
isprime(k)&&isprime(k+1)
T F
n=n+1
打印k, k+2
k=k+1
实例97(2)
定义变量并给其赋值k=2,j=1
while ((k<=a/2)&&j)
a%k= =0
T F
j=0 k=k+1
return( j )
实例98
定义整型变量i,j
for(i=0;i<4;++i)
for(j=0;j<4-i;j++)
printf(" ")
for(j=0;j
printf("*")
printf("n")
for(i=0;i<4;++i)
for(j=0;j<4-i;j++)
printf(" ")
for(j=0;j
printf("*")
printf("n")
实例99
定义字符型变量c
任意输入字符型变量&c
while (c !=‟#” )
c>='A'&&c<='Z'
T F
c>='a'&&c<='z'
c=c+32 T F
c=c-32
任意输入字符型变量&c
实例100
定义整型变量a, k
任意输入一个整数
a>0&&a<1000
F T
打印出输入的数
这是一个超
出范围的数 打印 is group of
for(k=1;k<=a;++k)
a%k= =0
T F
打印出来k
发表评论