c語言的題目,C語言的題目

時間 2021-08-11 19:14:19

1樓:匿名使用者

錯誤1:巨集定義最後沒有分號,將#define d 500;改為#define d 500

錯誤2:l不是整數,因此將l定義為int型就錯了

錯誤3:既然規定輸入格式為p=,那麼輸入時就不能直接輸入數值,而應在數值之前輸入p=,例如輸入p=6000

另外,程式的不妥之處:

1、利潤不一定是整數,因此將p定義為int型不妥

2、if-else語句不是這樣用的。既然可以確定全部範圍,那麼這樣寫:

if(p<1000) number=1;

else if(p<2000) number=2;

else if(p<5000) number=3;

else if(p<10000) number=4;

對應的switch語句這樣寫:

switch(number)

沒有語法錯誤,只能說明在格式上沒有找到錯誤,還不一定是正確的,更不要說能夠正確執行了。沒有語法錯誤,有三種可能:1、格式沒問題,但演算法錯誤;2、格式沒問題,但不符合要求,導致計算結果錯誤;3、格式沒問題,且演算法沒問題,能夠計算出正確結果。

只有符合第3種情況,才是正確的程式。

2樓:匿名使用者

main()

,,};

float *search(float(*pointf[4])); /*改為float *search(float(*pointf)[4]);不然為指標陣列*/

float *p;

int i,j;

for(i=0;i<3;i++)} }

float *search(float(*pointf)[4])

以上修改後可以執行,輸出結果為:

number : 1 56.00 89.00 67.00 88.00

number: 2 34.00 78.00 90.00 66.00

輸出結果正確

至於您所說的

2.if(*(*pointf+i)<60) ,裡面的*(*pointf+i)代表的是什麼意思

pointf為指向含有4個元素的一維陣列的指標變數,*pointf就是某行的首列地址,*pointf+i為某行第i列的元素地址,則*(*pointf+i)就是某行第i列的元素值,判斷其是否小於60.

3.*(pointf+1) 是指向陣列pointf 中第一行的數嗎? 如果是 照題目成立的話就是point +2也就是第二行資料 對嗎?

答:應該不是吧,pointf是子函式中的一個指向一維陣列的指標變數,不是陣列,它接收主函式中傳遞過來的實參,如果實參是score+0則子函式中*(pointf+1)指向score陣列的第一行首元素,為列指標,其值為&score[1][0],pointf+1指向score陣列第一行,是行指標,而當實參是score+1時,則*(pointf+1)指向score陣列的第二行首元素,pointf+1就指向score陣列第二行

所以說具體它指向第幾行的首元素,要看實參傳遞過來的值為什麼地址了。

希望能夠幫到您。

3樓:爽朗的小淺

#include

void compare(int a,int b,int number);

int main()

; //int型的最大值為65536大於e的9次方int arry2[200] = ;

int i = 0;

int number= 0;

printf("sample input\n");

scanf("%d",&number);

for(i = 0;imin)

b[j] = min; //賦值給b資料}}}}

測試了兩組,沒有問題。

4樓:坎平源廈

//這是一版適合自己在陣列中自己新增資料的,我初學者,要是顯得很冗餘的話別笑話我哈,呵呵

#include

int main(void)

//原始陣列元素輸出

for(int i = 0; i <= 9; i++)printf("\n");

printf("請輸入n的數值\n");

scanf("%d", &n);

int temp[10];

//這裡是將陣列的前n個元素取出來,存放在臨時陣列中for(int j=0; j < n; j++)printf("\n");

//從第n+1個元素開始向前位移n個元素

for(int r = 0; r <= 9-n; r++)//將末n個元素進行賦值

for(int t = 0; t < n; t++)//改變後陣列的輸出

for(int k = 0; k <= 9; k++)return 0;}

5樓:希聲和寡

1.dc語言中if語句的表示式可以是任意型別,只要表示式的值非0就算作真,是0就作為假。

本題正確答案為d.

2.c因為條件表示式(k)?(i++):(i--)的含義是k為真時,取表示式i++的值,否則取表示式i--的值,"為真"的意思就是不等於0.

本題正確答案為c.

3.bch=』a』,所以ch = !(ch>=』a』&&ch<=』z』)為假,執行ch+32

4.③①

對於||運算子,一旦其左邊的表示式為真,就停止執行,直接整個判斷式返回真

所以,由於++a||++b&&++c;中,++a等於2,已經為真了,所以後面的++b,++c也不繼續處理了。

以下程式執行結果是:

sum=15

其實就是求sum=1+2+3+4+5的值

6樓:

建議去看看隨機數生成的資料,rand生成的偽隨機數用time()做種子可以較好的實現隨機數生成.

前兩天剛編過一個,**如下:

#include

#include

#define right 1

#define wrong 0

void generatekey(int *key)if (p==j+10) t=0;

if (p==j) t=1;

}p=0;

}printf("%d",answer[j]);

t=0;

}printf ("\t");

status=checkanswer(answer,key);

i++;

printf("\n");

}if (status==right)

printf("\n\ncongratulations! you've got the key!\n");

else

printf("\n\nsorry , you lose. the right answer is:%d%d%d%d\n\n",key[0],key[1],key[2],key[3]);

}return (0);}

7樓:拯救小家軍

#include

float cmp(int n,float val)return val;

}int main()

for (i=1;i<=t;++i)

return 0;

}**沒有測試,你測一下試試吧 。

8樓:風若遠去何人留

#include

#include

void sum(char *sum, char *a, char *b)

else

for(; i_short >= 0; i_short --, i_long --, i_result --)

for(; i_long >= 0; i_long --, i_result --)

if(sum[0]) sum[0] += '0';

else

}int main(int argc, char **argv), b[1001] = , r[1002] = ;

int i, j = 0;

scanf("%d", &i);

while(j ++< i)

return 0;}

9樓:匿名使用者

#include

int main(void)

else

else}}

else

return 0;}

10樓:

#include "stdio.h"

int main(int argc,char *argv)printf("uppercase:\t%d\nlowercase:\t%d\n  numbers:

\t%d\n    other:\t%d\n",uc,lc,di,oh);

return 0;

}執行樣例:

11樓:好名字都被取了

#include

#include

main()

else

printf("input error!\n");

system("pause");

}如果輸入了非法字元,scanf不會讀取,y會保持原來的數值。

12樓:馮老師(必果學院

按照題目的邏輯,先輸出上半邊再輸出下半邊

每一行先輸出空格,再輸出遞增,最後輸出遞減序列**如下:

void printline(int n)for (int i=1;i<=n;i++)//上半邊三角形printf("\n");

}for (int i=n-1;i>0;i--)//列印下半邊for (int j=1;j<=i;j++)//遞增for (int j=i-1;j>0;j--)//遞減printf("\n");}}

int main(int argc, char* argv)

13樓:颯颯江南

#include "windows.h"

#include "stdio.h"

#define count_num16

void fun1()// 對二維陣列求和

;for(int i = 0; i < count_num; i++)

printf("\n");

}printf("二維陣列和:%d\n", nsum);

}void bubblesort(int arrdata, int n)// 冒泡

printf("\n");

for(int i = 0; i < n; i++)}}

printf("氣泡排序後:");

for(int i = 0; i < n; i++)

printf("\n");

}void selectionsort(int arrdata, int n)// 選擇排序

printf("\n");

for(int i = 0; i < n - 1; i++)}}

printf("選擇排序後:");

for(int i = 0; i < n; i++)

printf("\n");

}void main()

;bubblesort(arrdata1, count_num);

int arrdata2[count_num] = ;

selectionsort(arrdata2, count_num);

system("pause");}

C語言的題目問題,C語言題目簡單的題目?

在下姓周 結果是 4 是c語言中的右移運算子,它將運算元按位右移,即把低位去掉然後在高位補0或者補1 當運算元是無符號數或者正數時,高位補0 是負數時高位補1如 無符號數 11100000 右移3位的結果為 00011100有符號數 11100000 右移3位的結果為 11111100所以 8 也就...

求c語言題目,求C語言題目

c語言經典100題 程式1 題目 有1,2,3,4個數字,能組成多少個互不相同且無重複數字的三位數 都是多少 1.程式分析 可填在百位,十位,個位的數字都是1,2,3,4.組成所有的排列後再去 掉不滿足條件的排列.2.程式源 main 程式2 題目 企業發放的獎金根據利潤提成.利潤 i 低於或等於1...

簡單的C語言題,C語言題目簡單的題目?

c getchar n 的含義是什麼?從鍵盤接收一個字元賦給變數c,若c不是回車,while進入下一輪迴圈,若是回車則退出迴圈。如果輸入kas2i9e則程式的最後輸出結果是什麼 輸出是29。因為if c 0 c 9 限制只處理0 9這10個字元,n的初值是0,遇到2時n 10 0 2 0 0 2 2...