printf(\ return 0; }
2.定义函数int f(char *x, char y)判断x所指的字符串中是否包含字符y,若是则函数返回1,否则返回1。 int f(char *x, char y) {
char *p;
for(p=x;*p!='\\0';p++)
if(*p == y) { }
printf(\return 1; sum *= *p;
return 0; }
3.定义函数void f(float x, int *y, float *z)将x的整数部分存于y所指的存储单元,x的小数部分存于x所指的存储单元。
void f(float x, int *y, float *z) {
*y=(int)x;
*z=x - *y; }
六、调试和测试结果
测试结果正确
实验十 结构体
四、程序清单
(请写出上机内容1的源程序和上机内容2中的函数) 1、上机内容1的源程序
#include #include
#define FORMAT \struct student {
int num;
char name[20]; int age;
char sex; }; main()
{ void input(struct student stu[] ); void stat(struct student stu[]); struct student stu[4]; int i;
input(stu);
for(i=0;i<4;i++)
{ printf(FORMAT,stu[i].num,stu[i].name,stu[i].age,stu[i].sex); }
stat(stu); }
void input(struct student stu[]) {int i;
for(i=0;i<4;i++)
{scanf(\getchar();
scanf(\getchar();
scanf(\getchar();
scanf(\getchar();} }
void stat(struct student stu[]) {int i,c=0,boy=0,girl=0; for(i=0;i<4;i++) {
if(stu[i].age<18) c+=1; if(stu[i].sex=='m') boy++; else girl++; }
printf(\printf(\
}
2、
void fun(struct STREC *a) { int i; a->ave=0; for(i=0;iave+=a->s[i]; a->ave/=N; } 3、改错题
正确的程序为:
将 printf(\%-20s , M\\n\,*p.num, *p.name, p.sex, p.age); 改为:printf(\, p->.num, p->name, p->sex,
p->age);
实验十一 共用体、位运算和文件
四、程序清单
(请写出上机内容2中的程序源代码)
(1) 求100以内能同时被3和5整除的自然数,分别将它们输出到显示器屏幕
和x.txt文件中。
(2)用程序读出上述x.txt文件中的数据,将它们输出到屏幕,并求它们的和。 #include #include #include int main(void) { int i,sum; FILE *fd;
char s[10],*p,ch;
if( (fd=fopen(\ { } else {
for(i=1;i<100;i++) {
if( (i%3 ==0) && (i%5 == 0) ) {
printf(\
printf(\exit(0);