
正文
c语言的len函数 c语言 len函数
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
C语言编程 自定义求数组中奇数、偶数之和的函数
void
fun(int
nums[],int
Len)/*Len是数组长度*/
{
int
i,CountJ,CountO;
CountJ
=
CountO
=
0;
for(i
=
0;iLen;i++)
{
if(nums[i]%2
==
0)
CountO++;
else
CountJ++;
}
printf("偶数个数为:%d\n奇数个数为:%d\n",CountO,CountJ);
}
相关问答
Q1: C语言字符串长度函数是怎么计算字符的长度的?
根据查找到字符串中 '\0'字符的位置结束. '\0' 前面的个数为该字符串长度
比如 "hello world!" 字符串长度为12 (字符串存储时结尾自动加上\0字符)
如果这样写 "hello \0world!" 字符串长度为6 (空格也算一个字符)
Q2: C语言解释STUDENT *data, int *len)
楼主你好。我理解的是,你的问题有两个,
1:解释结构体
2:解释input(STUDENT *data, int *len)这个函数
现在我分别对两个问题进行回答:
答1:
typedef struct student /*学生信息*/
{
int no;
char name[MAX_NAME];
double english;
double math;
double Programming;
double mark_ave;
double mark_tot;
} STUDENT;
该结构体中定义了整形变量 int no,表示学生学号;定义了字符数组 char name[MAX_NAME],表示学生的名字可以含有最多35-1=34个字符,比如Einstein这样的名字长度在要求范围之内,符合要求;double english 定义了一个double类型的英语成绩变量;double math定义了一个double类型的数学成绩变量;double Programming定义了一个double类型的C语言编程的成绩变量;mark_ave 定义了一个double类型的三门课程平均成绩变量;mark_tot定义了一个double类型的三门课程总成绩变量。
结构体定义变量的形式可以写为:
STUDENT stu1[1];//中括弧内是1表明我的数组里面只有1个学生的信息
答2:
下面这个子函数主要是完成循环录入学生的信息这样子一个功能,是一个无返回值的函数,类型是void,但是有参数,参数就是结构体数组的指针STUDENT *data,以及结构体数组起始元素,一般是初始化为0,即从第一个学生的信息开始录入
void input(STUDENT *data, int *len)
{
int no; //声明变量 no 表示学生学号
putchar('\n'); //输出一个换行
printf("%s\n", "请输入新的记录,如果需要退出当前菜单请输入0."); //输出
printf("%s\n", "格式:"); //输出
printf("%s\n", "学号"); //输出
printf("%s\n", "姓名 英语 数学 C语言"); //输出
putchar('\n'); //输出一个换行
scanf("%d", no); //输入学生的学号
while(no != 0) //如果学生的学好不为0,怎进入循环体
{
data[*len].no= no; //录入学号到结构体的成员变量no
scanf("%s %lf %lf %lf", data[*len].name, data[*len].english, data[*len].math,data[*len].Programming);//输入学生的名字 英语成绩 数学成绩 编程成绩
data[*len].mark_ave=(data[*len].english+data[*len].math+data[*len].Programming)/3.0; //计算平均成绩并录入结构体
data[*len].mark_tot=data[*len].english+data[*len].math+data[*len].Programming; //计算总成绩并录入结构体
(*len)++; //开始进入下一个学生的信息录入
scanf("%d", no); //录入下一个学生的学号
}
}
最后要说的是,鉴于你的程序没有主函数,不能运行看效果,我在你的程序基础上写了一个完整的程序,你去VC6.0下面运行一下看看效果,对于学习会有很大帮助!
程序清单如下:
/*************************************************************************************************/
#include stdlib.h
#include stdio.h
#include string.h
#define MAXN 35
#define MAX_NAME 250
typedef struct student /*学生信息*/
{
long int no;
char name[MAX_NAME];
double english;
double math;
double Programming;
double mark_ave;
double mark_tot;
} STUDENT;
/*输入信息程序*/
void input(STUDENT *data, int *len)
{
long int no;
putchar('\n');
printf("%s\n", "请输入新的记录,如果需要退出当前菜单请输入0.");
printf("%s\n", "格式:");
printf("%s\n", "学号");
printf("%s\n", "姓名 英语 数学 C语言");
putchar('\n');
scanf("%d", no);
/*
while(no != 0)
{
data[*len].no= no;
scanf("%s %lf %lf %lf", data[*len].name, data[*len].english, data[*len].math,data[*len].Programming);
data[*len].mark_ave=(data[*len].english+data[*len].math+data[*len].Programming)/3.0;
data[*len].mark_tot=data[*len].english+data[*len].math+data[*len].Programming;
(*len)++;
scanf("%d", no);
}
*/
{
data[*len].no= no;
scanf("%s %lf %lf %lf", data[*len].name, data[*len].english, data[*len].math,data[*len].Programming);
data[*len].mark_ave=(data[*len].english+data[*len].math+data[*len].Programming)/3.0;
data[*len].mark_tot=data[*len].english+data[*len].math+data[*len].Programming;
//(*len)++;
//scanf("%d", no);
}
printf("数据录入完毕\n");
}
int main(void)
{
STUDENT stu1[1];
int num=0;
input(stu1, num);
// system("pause");
printf("学生学号:%d\n", stu1[0].no);
printf("学生名字:%s\n", stu1[0].name);
printf("学生课程平均成绩%f\n", stu1[0].mark_ave);
printf("学生课程总成绩%f\n", stu1[0].mark_tot);
// printf("%s\n", "学号");
// printf("%s\n", "姓名 英语 数学 C语言");
// system("pause");
return (0);
}
c语言的len函数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言 len函数、c语言的len函数的信息别忘了在本站进行查找喔。







