① 關於標准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>!='