① 关于标准c语言参数个数的问题
标准C不像C++一样支持可变形参数量?
那printf算什么?
是四个参数,要是加逗号不可能通过编译。
宏不就是替代吗?
c++的话,就是
CvMat cvMat( int rows, int cols, int type, void* data =NULL)//缺省参数
{
}
c的话,没有默认参数,所以调用时最后一个参数必须的
CvMat cvMat( int rows, int cols, int type, void* data)
{
}
② 请问c语言当中,如何统计数字各自出现的次数
实现代码:
#include <stdio.h>
int main() {
int num = 0, i = 0;
printf("请输入一个整数:");
scanf("%d", &num);
int array[10] = {};
while(num) {
array[num % 10]++; //让数组下标代表所判断的数字
num /= 10;
}
for (i = 0; i < 10; i++) {
if (array[i] != 0)
printf ("%d有%d个 ", i, array[i]);
return 0;
}
(2)C语言宏统计参数个数扩展阅读:
printf用法:
printf()函数的调用格式为:printf("&lt;格式化字符串&gt;",&lt;参量表&gt;)。
其中格式化字符串包括两部分内容:一部分是正常字符,这些字符将按原样输出;另一部分是格式化规定字符,以"%"开始,后跟一个或几个规定字符,用来确定输出内容格式。
参量表是需要输出的一系列参数,其个数必须与格式化字符串所说明的输出参数个数一样多,各参数之间用","分开,且顺序一一对应,否则将会出现意想不到的错误。
比如:
inta=1234;
printf("a=%d\n",a);
输出结果为a=1234。
③ c语言输入一行字符串,如何统计其中的字母和数字的个数
要统计英文字母,空格,数字和其他字符的个数,代码如下:
#include<stdio.h>
#include<stdlib.h>
int main()
{
char c;
int letters=0;
int space=0;
int digit=0;
int other=0;
printf("请输入一行字符:>");
while((c=getchar())!=' ')
{
if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
{
letters++;
}
else if(''==c)
{
space++;
}
else if(c>='0'&&c<='9')
{
digit++;
}
else
{
other++;
}
}
printf("字母的个数:>%d 空格的个数:>%d
数字的个数:>%d 其他字符的个数:>%d ",
letters,space,digit,other);
system("pause");
return 0;
}
(3)C语言宏统计参数个数扩展阅读:
include用法:
#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。
插入头文件的内容
#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:
1、#include<文件名>
2、#include"文件名"
如果需要包含标准库头文件或者实现版本所提供的头文件,应该使用第一种格式。如下例所示:
#include<math.h>//一些数学函数的原型,以及相关的类型和宏
如果需要包含针对程序所开发的源文件,则应该使用第二种格式。
采用#include命令所插入的文件,通常文件扩展名是.h,文件包括函数原型、宏定义和类型定义。只要使用#include命令,这些定义就可被任何源文件使用。如下例所示:
#include"myproject.h"//用在当前项目中的函数原型、类型定义和宏
你可以在#include命令中使用宏。如果使用宏,该宏的取代结果必须确保生成正确的#include命令。例1展示了这样的#include命令。
【例1】在#include命令中的宏
#ifdef _DEBUG_
#define MY_HEADER"myProject_dbg.h"
#else
#define MY_HEADER"myProject.h"
#endif
#include MY_HEADER
当上述程序代码进入预处理时,如果_DEBUG_宏已被定义,那么预处理器会插入myProject_dbg.h的内容;如果还没定义,则插入myProject.h的内容。
④ C语言:指针实现从键盘输入若干数据整数(零表示结束),统计出数据个数,以及最大值、最小值和平均值
#include <stdio.h>
int Input(int s[])
{
int n=0;
scanf("%d",s);
while(*s!=0)
{
n++;s++;
scanf("%d",s);
}
return n;
}
void statistics(int n, int s[], int *max, int *min, float *avg)
{
*max=*min=*s;
*avg=0.0;
for(;*s!=0;s++)
{
if(*s>*max) *max=*s;
else if(*s<*min) *min=*s;
*avg+=*s;
}
*avg/=n;
}
int main(int argc, char *argv[])
{
int s[200],Num,Max,Min,n;
float Avg;
Num=Input(s);
statistics(Num,s,&Max,&Min,&Avg);
printf("Num=%d\nMax=%d\nMin=%d\nAvg=%.3f\n",Num,Max,Min,Avg);
return 0;
}
⑤ C语言编程:编写函数,统计字符串中字母、数字、空格和其他字符的个数。
#include<stdio.h>
void TongJi(char s[])
{
int ZiMu=0,KongGe=0,ShuZi=0,QiTa=0,i;
for(i=0;s<i>!='