『壹』 在c語言中,如何把一組數進行分組處理!比如1,2,3,4,5,6,7。我想把他們分成兩組來處理!怎麼分求
你的意思是數有7個,不能平均分成兩組嗎?
那麼有幾種方案,看你具體是要進行什麼運算。
可以忽略中間一個即4,或者忽略最後一個即7
或者把4算到兩組中,即分成1,2,3,4和4,5,6,7
如果你是不知道怎麼讓一組變成兩組來操作,可以用指針的方法,下面演示求兩組的平均數,並忽略7
int data[]={1,2,3,4,5,6,7};
int *p=&data[3];
int i;
for(i=0;i<3;i++)
data[i]=(data[i]+p[i])/2;
『貳』 求C語言分組程序
首先,字元串是存儲在數組中的,因此,要將其分成3個字母一組是很容易的。例如0-2;3-5……這都是符合要求的。
每三個字母出現的頻率,說法很模糊,我理解成是有多少個組是字母組成相同的。如果是順序相同的才符合要求,可以採用字元庫函數進行比較。如果不需要順序相同,那麼就要挨個比較,相同的話進行計算,並將令一個相同的做上標記,例如賦值位0,就是採用暴力破解的辦法。(人工錄入,有疑問可以問,希望有幫助能夠採納、點贊!)
『叄』 用c語言求解元素分組問題問題
用數學模型模擬下,然後寫出了
『肆』 C語言如何實現分組統計
/*通過一次循環分別按性別和年齡統計人數
(c)hele2013/03/04*/
#include<stdio.h>
#defineN8//N是統計人群的最小年齡
#defineM20//年齡跨度設為20歲
enumyear{y1=N,y2,y3,y4,y5,y6,y7,y8,y9,y10,y11,y12,y13,y14,y15,y16,y17,y18,y19,y20};
structhum{
yearold;
intnum1[M];
charmale[2];
intnum2[2];
}hum;//構建的結構體,統計年齡跨度20,2種性別的人群
voiddisplay()
{inti;
for(i=0;i<M;i++)
{
printf("old:%d :%d ",N+i,hum.num1[i]);
}
for(i=0;i<2;i++)
printf("male:%c :%d ",hum.male[i],hum.num2[i]);
}
voidinitial()
{hum.male[0]='0';
hum.male[1]='1';
}
intmain()
{initial();
charc[8];
FILE*fp;
if((fp=fopen("in.txt","r"))==NULL)
{
printf("Can'topenin.txt");
return1;
}
while(!feof(fp))
{fscanf(fp,"%s",c);
//讀年齡
intold;
fscanf(fp,"%d",&old);
hum.old=(year)old;//強制類型轉換,使hum.old是old的值
hum.num1[old-y1]++;//countnumberofeveryyearold
//讀性別
intmale;
fscanf(fp,"%d",&male);
hum.num2[male]++;//countnumberofevery性別
}
display();
return0;
}
說明:
1.僅供參考
2.注意「in.txt"文件格式,其文件結尾不要有空白行,正文只有姓名、年齡、性別三種,用空格隔開,如圖
3.尚有缺陷,沒有使用_wchar,對特定中文名字會統計錯誤,所以盡量用英文名字。
『伍』 c語言,分組
int i,j,group;
printf("請輸入要分組的人數:");
scanf("%d", &group);
for(i = 0,j = 1;i < 50;i++,j++)
{
printf("%d", i);
if(j != group)
{
printf(" ");
}
else
{
printf("\n");
}
}
『陸』 如何使用c語言對數據隨機分組
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
intmain()
{
inta[50];//存放50個球
inti,cnt;
for(i=0;i<50;i++)//標號
a[i]=i+1;
cnt=0;
srand(time(NULL));
while(cnt<25)//隨機取25個
{
i=rand()%50;
if(a[i]!=0)//防止重復計數
{
cnt++;
a[i]=0;//標記為已取
}
}
//以下為輸出分組結果
printf("array1: ");
cnt=0;
for(i=0;i<50;i++)
{
if(a[i]==0)
{
cnt++;
printf("%3d",i+1);
if(cnt%5==0)//每輸出5個一換行
printf(" ");
}
}
printf(" ");
printf("array2: ");
for(i=0;i<50;i++)
{
if(a[i])
{
cnt++;
printf("%3d",a[i]);
if(cnt%5==0)
printf(" ");
}
}
printf(" ");
return0;
}
『柒』 怎樣用c語言實現數據的分組與排序
那個限制的策略到底是什麼
也就是限制的數據是怎麼得來的?
如果知道這個的話
寫一個枚舉演算法的程序就行了
枚舉這10個數據所有的組合情況
總的組數為 (C2/10)*(C2/8)*(C2/6)*(C2/4)
一點也不大
然後把每組組合按照條件所要求的限制數據判斷一下
如果全都成立 就可以輸出
否則就繼續下一組
『捌』 C語言三目運算符怎麼用
C語言三目運算符用法:
對於條件表達式b ? x : y,先計算條件b,然後進行判斷。如果b的值為true,計算x的值,運算結果為x的值;否則,計算y的值,運算結果為y的值。
一個條件表達式絕不會既計算x,又計算y。條件運算符是右結合的,也就是說,從右向左分組計算。例如,a ? b : c ? d : e將按a ? b : (c ? d : e)執行。
<表達式1> ? <表達式2> : <表達式3>; "?"運算符的含義是:先求表達式1的值,如果為真,則執行表達式2,並返回表達式2的結果;如果表達式1的值為假,則執行表達式3,並返回表達式3的結果。
可以理解為條件 ? 結果1 : 結果2裡面的?號是格式要求。也可以理解為是不是條件成立,條件成立為結果1否則為結果2。
(8)怎麼用c語言分組計算擴展閱讀:
三目運算符,又稱條件運算符,指的是計算機語言(c,c++,java等)的重要組成部分。它是唯一有3個操作數的運算符,所以有時又稱為三元運算符。一般來說,三目運算符的結合性是右結合的。
以下是關於條件運算符的幾點說明:
(1)通常情況下,表達式1是關系表達式或邏輯表達式,用於描述條件表達式中的條件,表達式2和表達式3可以是常量,變數或表達式。例如:
(x==y)?'Y':'N'
(d=b*b-4*a*c)>=0?sqrt(d):sqrt(-d)
ch=(ch>='A'&&ch<='Z')?(ch+32):ch
以上均為合法的條件表達式。
(2)條件表達式的執行順序為:先求解表達式1,若值為非0,表示條件為真,則求解表達式2,此時表達式2的值就作為整個條件表達式的值;
若表達式1的值為0,表示條件為假,則求解表達式3,表達式3的值就是整個條件表達式的值。例如:
(a>=0)?a:-a 執行結果是a的絕對值。
(3)在程序中,通過把條件表達式的值直接賦予某個變數。例如:
min=(a<b)?a:b執行結果就是將條件表達式的值賦予變數min,即將a和b二者中較小的數賦給min。
(4)條件表達式的優先順序別僅高於賦值運算符,而低於前面遇到過的所有運算符。
因此,min=(a<b)?a:b括弧可以不要,可直接寫成,min=a<b?a:b如果有x<y?x+1:y-1等效於x<y(x+1):(y-1)而不等效於(x<y?x+1:y)-1
(5)條件運算符的結合方向為"自右至左".
(6)條件表達式允許嵌套,即允許條件表達式中的表達式2和表達式3又是一個條件表達式。例如:
x>0?1:x<0?-1:0
上述條件表達式中,表達式3部分又是一個條件表達式.根據條件表達式的結合性,上述條件表達式等價於:
x>0?1:(x<0?-1:0)
其作用是判斷x的符號情況.當x為正數時,該條件表達式的值為1;當x為負數時,該條件表達式的值為-1;當x為0時,該條件表達式的值為0。
(7)條件表達式不能取代一般的if語句,僅當if語句中內嵌的語句為賦值語句(且兩個分支都給同一變數賦值)時才能代替if語句。例如:
if(a%2==0)
printf("even/n");
else
printf("odd/n");
該語句的作用是:若 a 為偶數,輸出 even;若 a 為奇數,輸出odd。
(8)表達式1,表達式2,表達式3的類型可以不同.此時條件表達式的值的類型為它們中較高的類型。
『玖』 C語言 分組(數字分組)
是要分組排列呢?還是要分組輸出呢?
拿去用!
void Test(int n)
{
for (int i = 1; i <= 50; ++i)
{
cout << i ;
if (i % n == 0)
cout << endl ;
else
cout << ", " ;
}
}