/**********************************************************
成都创新互联网站建设由有经验的网站设计师、开发人员和项目经理组成的专业建站团队,负责网站视觉设计、用户体验优化、交互设计和前端开发等方面的工作,以确保网站外观精美、成都网站建设、做网站易于使用并且具有良好的响应性。
读入一个整数,统计并输出该数中某个数的个数?要求定义并调
用函数countdigit(number,digit),它的功能是统计整数number中
数字digit的个数?例如,countdigit(10090,0)的返回值是3?【输入
输出样例1】(下划线部分表示输入)
Enter an number:21252
Enter an digit:2
Number of digit 2: 3
************************************************************/
#includestdio.h
void main()
{
int countdigit(int number,int digit);
int num,dig;
printf("Enter a number:");
scanf("%d",num);
printf("Enter a digit:");
scanf("%d",dig);
printf("Number of digit %d:%d\n",dig,countdigit(num,dig));
}
int countdigit(int number,int digit)
{
int z=0,s;
while(number != 0)
{
s=number%10;
if(s == digit)
{
z++;
}
number=number/10;
}
return z;
}
看用什么方法输入数据,每成功输入1个数据,你用累加器加1。
常用输入数据函数是 scanf(), 这个函数能返回成功读入的数据个数。
例如: n = scanf("%d %f %lf %s", k, a, x, s);
成功读入4个,n得4,成功读入3个,n得3,。。。成功读入1个,n得1,
一个也没成功,n得 0。
如果循环读入:
int sum=0, i=0;
while(...){
n = scanf("%d %f %lf %s", k[i], a[i], x[i], s[i]);
sum = sum + n;
i++;
}
printf("成功读入的数据个数是%d\n",sum);
第一种方法,设置一个结构体变量的成员为某个具体的常量,进行遍历寻找得出变量的数量
第二种方法,在输入时计算
第三种,建立一个有指针域的动态链表
用第三种方法实现的一个例子,可用来学籍管理系统
#include
stdio.h
#include
stdlib.h
#include
conio.h
typedef
struct
student
{
int
num;
char
name[20];
char
sex[3];
struct
student
*next;
}LIST;
LIST
*CreateList()
{
int
i,n;
LIST
*head=NULL,*pre,*cur;
printf("请输入学生的总个数:");
scanf("%d",n);
for(i=1;i=n;i++)
{
printf("正在输入第%d个学生数据!\n",i);
pre=(LIST
*)malloc(sizeof(LIST));
pre-next=NULL;
printf("请输入该学生的姓名:");
scanf("%s",pre-name);
printf("请输入该学生的学号:");
scanf("%d",pre-num);
printf("请输入该学生的性别:");
scanf("%s",pre-sex);
if(NULL==head)
head=pre;
else
cur-next=pre;
cur=pre;
}
return
head;
}
int
GetNum(LIST
*head)
{
int
i=1;
while(head-next!=NULL)
{
i++;
head=head-next;
}
return
i;
}
void
Disp(LIST
*head)
{
int
i=1;
printf("正在输出学生信息!\n");
while(head-next!=NULL)
{
printf("正在输入第%d个学生的数据!\n",i++);
printf("学生姓名:\t%s\n学生学号:\t%d\n学生性别:\t%s\n",head-name,head-num,head-sex);
head=head-next;
}
printf("正在输入第%d个学生的数据!\n",i++);
printf("学生姓名:\t%s\n学生学号:\t%d\n学生性别:\t%s\n",head-name,head-num,head-sex);
printf("学生信息输出结束!\n");
}
void
DestroyList(LIST
*head)
{
LIST
*pre=head;
while(head-next!=NULL)
{
pre=pre-next;
free(head);
head=pre;
}
}
int
main(void)
{
LIST
*head;
head=CreateList();
printf("一共有%d个学生数据!\n",GetNum(head));
Disp(head);
DestroyList(head);
getch();
return
0;
}
满意采纳,不满意追问
#includestdio.h
#includestring.h
main()
{
int i,j=0,k;
char a[1000];//长度自己根据实际情况调整
printf("请输入一串字符串:\n");
gets(a);
k=strlen(a);
for(i=0;ik;i++)
if('0'=a[i]='9')
j++;
printf("这串字符串中数字字符有%d个!\n",j);
}
#include stdio.h
#include string.h
int conNumfromStr(char *,int);
int main()
{
char str[21];
printf("输入20以内的字符:");
scanf("%s",str);
printf("字符串中数字字符个数为:%d",conNumfromStr(str,strlen(str)) );
return 0;
}
int conNumfromStr(char *p,int len)//计数字符串中数字字符的个数
{
int i,con=0;
for(i=0;ilen;i++)
{
if(p[i]='0' p[i]='9')
con++;
}
return con;
}