古詩詞大全網 - 成語經典 - c語言問題在線解答(c語言問題在線解答老師)

c語言問題在線解答(c語言問題在線解答老師)

計算機C語言問題,請解答壹下,謝謝~

1.

答案為

1

因為s=6

所以s%2+(s+1)%2

=

6%2+7%2

=

0+1

=1,%是求余運算

2.

變量c(請註意妳問題裏面的大小寫,因為C語言對下小寫敏感)包含的個數為1.

妳所指的個數應該是指字符的個數,'\010'是八進制的表示方式。

3.

有很多答案,妳要的答案應該是遞歸函數

原型如下:

int

jiechen(int

a);

實現壹:遞歸函數

int

jiechen(int

a)

{

if(a

==

1)

return

1;

else

return

jiechen(a-1);

//在函數定義裏面調用該函數

}

實現二:循環(不知道和叠代是否壹樣~~~)

int

jiechen(int

a)

{

int

res;

res

=

1;

do{

res

*=

a;

}while(--a);

return

res;

}

調用函數

jiechen(100);

c語言問題在線等答案

第壹題首先妳要明白i++(執行完後加)和++i(執行前加)還有就是do,while是先做後判斷;

第1次3+1=4//運行到下壹句時i=2

第2次4+2=6//運行到下壹句時i=3

第3次6+3=9//運行到下壹句時i=4

此時滿足了else條件,自此執行到++i時,i=5

第4次9+5=14//運行到下壹句時i=6

此時滿足了else條件,自此執行到++i時,i=7

第5次14+7=21//運行到下壹句時i=8

因為2115所以循環終止

第二題,while是先判斷後做;

第1次2%3=0//執行下壹句前i=2

第2次3%3=0//執行下壹句前i=3

第3次4%3=1//執行下壹句前i=4

第4次5%3=2//執行下壹句前i=5

此時滿足條件,輸出i的值5

第5次6%3=0//執行下壹句前i=6

第6次7%3=1//執行下壹句前i=7

第7次8%3=2//執行下壹句前i=8

此時滿足條件,輸出i的值8

第8次9%3=0//執行下壹句前i=9

第9次10%3=1//執行下壹句前i=10

第10次11%3=2//執行下壹句前i=11

此時滿足條件,輸出i的值11

第11次12%3=0//執行下壹句前i=12

第12次13%3=1//執行下壹句前i=13

第13次14%3=2//執行下壹句前i=14

此時滿足條件,輸出i的值14

第14次15%3=0//執行下壹句前i=15

循環結束

第三題do,while是先做後判斷

樓主妳是這麽寫的a=a+s*i;s=-si;i++;

s=-si這個應該編譯不會通過的,有了前面兩題的經驗,樓主可以自己算壹算,要有耐心哦,這些題主要是考驗妳對do,while和while結構的區別,還有就是++i和i++的區別

C語言在線答疑

設計思路:

1/先找出每壹行的最大數,記錄位置到數組中。

2/找出每壹列最小的數,得出位置和之前數組比對,如果相通,說明是鞍點。

在火車上,只能用手機敲代碼。代碼如下:

#include

typedefstructPOS{//位置坐標結構體

intM;

intN;

};

voidShow(int**rect,POSp);//顯示對應的點

POSFindRowMax(int**rect,intm,intn);

POSFindColMini(int**rect,intm,intn);

intmain()

{

inti=0,j=0,flag=0;

intrectArray[3][4]={{1,2,6,4},{5,6,7,8},{9,10,11,12}};

POSrowMaxPosArray[3]={};

POScolMiniPosArray[4]={};

for(i=0;i3;i++)

{

rowMaxPosArray[i]=FindRowMax(rectArray,i,4);

}

for(i=0;i4;i++)

{

colMiniPosArray[i]=FindColMini(rectArray,3,i);

}

for(i=0;i3;i++)

{

for(j=0;j4;i++)

{

if(rowMaxPosArray[i]==colMiniPosArray[j])

{

Show(rectArray,rowMaxPosArray[i]);

flag=1;

}

}

}

if(!flag)

{

printf("不存在鞍點\n");

}

return0;

}

c語言問題?詳細解答壹下,謝謝

輸出結

果:cdeab

分析:只要妳理解了move函數的作用妳就能明白整個過程:

第壹次循環調用move(char

*str,int

n)這壹函數給它的參數是

s與

s的長度(就是妳輸入的abcde的長度5),第壹步執行temp=str[5-1]=str[4],而str[4]的值為'e',所以temp的值為'e',接著執行for(i=n-1;

i0;i--)

str[i]=str[i-1];

這個循環是把從str[1]開始的所有數組的元素都後移壹位,

即str[2]成了str[1],str[3]成了str[2]等等,循環執行完後執行str[0]=temp;,也就是把e賦值給了

str[0]。所以abcde被move函數處理壹次後就成了

eabcd,如果再被處理壹次後就被變成deabc等等

也就是說move函數每調用壹次就把相應的字符串循環右移壹位

壹個C語言問題,求大佬解答?

以下是實現兩個fraction類型變量的加減的C代碼:

#includestdio.h

#includestdlib.h

structfraction{

longlongintnumerator;

unsignedlonglongintdenominator;

};

//將分數f1和f2相加,返回結果

structfractionFra_Add(structfractionf1,structfractionf2){

structfractionresult;

//檢查輸入的合法性

if(f1.denominator==0||f2.denominator==0){

result.numerator=0;

result.denominator=0;

returnresult;

}

//計算分數的和

result.numerator=f1.numerator*f2.denominator+f2.numerator*f1.denominator;

result.denominator=f1.denominator*f2.denominator;

returnresult;

}

//將分數f1和f2相減,返回結果

structfractionFra_Sub(structfractionf1,structfractionf2){

structfractionresult;

//檢查輸入的合法性

if(f1.denominator==0||f2.denominator==0){

result.numerator=0;

result.denominator=0;

returnresult;

}

//計算分數的差

result.numerator=f1.numerator*f2.denominator-f2.numerator*f1.denominator;

result.denominator=f1.denominator*f2.denominator;

returnresult;

}

intmain(void){

inti;

structfractionsum={0,1};//初始化為0

structfractionterm;

//計算數列的和

for(i=1;i=10;i++){

//計算(-1)^(i-1)/(2*i-1)

term.numerator=(i%2==0)?-1:1;

term.denominator=2*i-1;

if(i%2==0){

sum=Fra_Sub(sum,term);

}else{

sum=Fra_Add(sum,term);

}

}

//輸出結果的分數值

printf("結果的分數值:%lld/%llu\n",sum.numerator,sum.denominator);

//輸出

c語言程序解答(在線等)?

根據題意:

1、項目序號應為唯壹值,用自增變量填充。

2、時間使用structtm結構體(考慮如需時間運算,可使用相關函數)。

3、自定義結構類型SIINFO,分別實現插入鏈表和打印鏈表兩個功能。

4、由於這個演示程序執行完就結束程序了。所以鏈表我沒有寫free釋放內存,如妳後期擴充代碼,自己寫釋放(除程序結束,malloc申請內存不會自動釋放)。

下面是演示代碼:

#includestdio.h

#includemalloc.h

#includetime.h

#defineMS4//最大類型個數

#defineMN20//名稱最大字符長度

charstypes[MS][10]={"速度型","力量型","耐力型","對抗型"};//項目類別,自行擴展,對應修改MS常量

typedefstructSportsItemInfo//定義壹個體育項目結構類型

{

intid;//項目序號,從數據結構考慮,該項不能重復,應設為自增從0開始(實際開發,這個值由數據庫分配)。

charname[MN+1];//項目名稱

intstype;//項目類(對應stypes行下標)

intn;//參賽人數

structtmsDate;//競賽時間

structSportsItemInfo*next;

}SIINFO;

SIINFO*insert2List(SIINFO*p_sHead);//插入新數據,首次插入參數傳NULL。參數:鏈表頭節點地址(不是首節點)。成功返回頭節點,失敗返回NULL。

voidselectFList(SIINFO*p_sHead);//查詢鏈表

intmain()

{

charc;

SIINFO*p_sHead=NULL,*stemp=NULL;

printf("新增體育項目:\n");

while(1)

{

stemp=insert2List(p_sHead);

if(!stemp)

{

printf("ERROR!\n");

return1;

}

p_sHead=stemp;

printf("是否繼續輸入(Y/N):");

c=0;

while(c!='Y'c!='N')scanf("%c",c);

if(c=='N')break;

}

selectFList(p_sHead);

return0;

}

voidselectFList(SIINFO*pht)

{

inti=0;

if(pht)

{

printf("\n輸出鏈表信息:\n");

while(pht-next)

{

printf("-----------項目%d---------\n",++i);

printf("項目序號:%d\n",pht-next-id);

printf("項目名稱:%s\n",pht-next-name);

printf("項目類別:%s\n",stypes[pht-next-stype]);

printf("參賽人數:%d\n",pht-next-n);

printf("參賽時間:%04d-%02d-%02d%02d:%02d:%02d\n",pht-next-sDate.tm_year+1900,pht-next-sDate.tm_mon+1,pht-next-sDate.tm_mday,pht-next-sDate.tm_hour,pht-next-sDate.tm_min,pht-next-sDate.tm_sec);

printf("--------------------------\n");

pht=pht-next;

}

}

}

SIINFO*insert2List(SIINFO*p_sHead)

{

staticintx=0;

staticSIINFO*p_sTail=NULL;

inti;

SIINFO*p_new=NULL;

if(!p_sHead){

p_sHead=(SIINFO*)malloc(sizeof(SIINFO));

if(!p_sHead)

returnNULL;

p_sHead-next=NULL;

p_sTail=NULL;

}

p_new=(SIINFO*)malloc(sizeof(SIINFO));

if(!p_new)

returnNULL;

p_new-next=NULL;

p_new-id=x++;

printf("--------------------------\n");

printf("項目名稱:"),scanf("%s",p_new-name);

for(i=0,printf("項目類(");iMS-1;printf("%d、%s,",i,stypes[i]),i++);

printf("%d、%s):",i,stypes[i]);

p_new-stype=-1;

while(p_new-stype0||p_new-stypeMS-1)scanf("%d",p_new-stype);

printf("參賽人數:"),scanf("%d",p_new-n);

printf("參賽時間(輸入格式:年-月-日時:分:秒):");

scanf("%d-%d-%d%d:%d:%d",p_new-sDate.tm_year,p_new-sDate.tm_mon,p_new-sDate.tm_mday,p_new-sDate.tm_hour,p_new-sDate.tm_min,p_new-sDate.tm_sec);

p_new-sDate.tm_mon--;//tm結構的月份是從0開始對應1月

p_new-sDate.tm_year=p_new-sDate.tm_year-1900;//tm結構的年份是實際年份-1900

if(!p_sHead-next)

p_sHead-next=p_new;

else

p_sTail-next=p_new;

p_sTail=p_new;

printf("--------------------------\n");

returnp_sHead;

}