新手求解答一道c語言題目,不用指標,用陣列和函式來寫

2021-03-04 05:37:09 字數 2911 閱讀 6599

1樓:手機使用者

//排序

public void sort(float a)for (int j = 0; j < len; j++)}}printf("\n大到小排序輸出:\n");

for (int i = 0; i < 5; i++)}//求最大值,最小值,平均值

public void getvalue(float a)if (min > a[i])

sum += a[i];

}avg = sum / len;

printf("最大值:%d,最小值:%d,平均分:%d\n", max, min, avg);

}以上回答你滿意麼?

一道c語言題,求大神解答!解答時把思路也分享一下,謝謝!(要求用指標,二維陣列,不用子函式,直接

2樓:匿名使用者

//有個問題是,空格應該也算字元吧,所以沒考慮空格。就像你那個例子,最長公共字串應該是//「 student」,包含空格.還有,就是我這個應該不是很好的方法,效率比較低,我是先讓串//1不動,串2先從第1個字元開始與串1比較,然後串2從第2個字元開始於串1比較,都比較完了,///串1向右挪動一個位置

#include

int main()

,str2[100]=;

printf("please input two strings:\n");

gets(str1);//讀入字串

gets(str2);

char * p1=str1;//分別用來存str1和str2的當下比較位置

char * p2=str2;

int max=0,num=0;//max存放比較後最長字串長度,num是這一輪比較公共字串長度

char * start;//存放最大串起始位置

while(*p1!='\0')//先是串1大迴圈

else break;

}if(num>max) //若新比較出的字串更長,則替換max值和start內容

p2++; //串2右移1位

}p1++; //串1右移1位

}while(max--) //輸出串

printf("%c",*start++);

printf("\n");}

新手菜鳥求一道簡單c語言題目解答。。 10

3樓:匿名使用者

#include //標準輸入輸出函式,如後面的printf scanf等

#include //這個標頭檔案包括一些產生隨機數等函式,後面的system函式是這裡面的

int main(int argc,char *argv)sytem("pause");//暫停,用以檢視結果.

return 0;

}另,解說下for迴圈

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

等同於i = 1;

while(i<=100)

解釋:到i=1,判斷是否<=100,ok就執行大括號內語句,i自增,繼續判斷i,直到i>100時跳出迴圈;

4樓:

stdlib.h裡面定義了五種型別、一些巨集和通用工具函式。 型別例如size_t、wchar_t、div_t、ldiv_t和lldiv_t; 巨集例如exit_failure、exit_success、rand_max和mb_cur_max等等; 常用的函式如malloc()、calloc()、realloc()、free()、system()、atoi()、atol()、rand()、srand()、exit()等等。

stdlib 標頭檔案裡包含了c、c++語言的最常用的系統函式,你用到了sytem("pause");

所以要包含它。

int main(int argc,char *argv)是c的入口函式,只要是c程式,必須包含這個。其中argc是命令列總的引數個數,argv是argc個引數,這兩個可以不管它。你也可以用int main()。

後面的內容都是main函式的內容

int i,j,m,n,a[100][100];是對變數進行定義,int a[100][100];表示一個整型二維陣列,一個100行100列的陣列。

scanf("%d %d",&n,&m);是讓你輸入n和m的值

for(i=1;i<=n;i++)你理解得沒錯,大於n直接跳過下面那個for迴圈,執行 for(i=1;i<=m;i++),這句也寫錯了,應該是for(i=1;i<=n;i++)

scanf("%d",&a[i)[j];這句寫錯了,應該是scanf("%d",&a[i][j]);讓你輸入二維陣列的值

printf("%d",a[i][j]);輸出二維陣列的值

printf("\n");換行‍‍

sytem("pause");表示暫停

return 0;返回0

5樓:

所有的for迴圈都有錯。c中的陣列是從0開始索引的,比如一個100長度的陣列,其有效索引是0~99。儘管也許mn小的時候語法上沒錯,但是從1開始的習慣證明你對c的這個語法不瞭解。

本來mn取100是可以的,但你這裡最大隻能到99.好好的一個100×100的陣列就被用成了99×99.

6樓:41碼_路那麼寬

其實函式功能就是:輸入一個小於100*100的二維陣列,然後原樣輸出;stdio.h和stdlib.

h均為系統標頭檔案,stdio.h為標準輸入輸出標頭檔案,stdlib 標頭檔案裡包含了c、c++語言的最常用的系統函式。第三行是vc++6.

0 ide裡預設的,你也可以該位int main(void)無返回值,不過最後的return 0應該同時刪去;a[100][100]是一個二維陣列,大小為100*100,這裡用來限定範圍,是因為陣列變數初始化時必須要有一個初始值系統才能分配空間;第一個for迴圈是輸出n行資料,即你剛剛輸入的n行資料

c語言題目求解答,一道c語言題目,求解答!!!!!!!

include stdio.h void dfs int k int main int argc,char argv dfs n printf n return 0 執行樣例 一道c語言題目,求解答!scanf 函式中沒有精度控制。如 scanf 5.2f a 是非法的。不能企圖用此語句輸入小數為2...

一道c語言程式題目,求解答,一道C語言程式題目,求解答

上面的 中,沒有對s進行輸入,所以如果輸出s的話,指定會是亂碼的啊把指標調回p 0 的話,可以p 回去 或者在p改變之前,用tmp p儲存起始位置。struct stu tmp p p p tmp p 此外,我猜,這個程式中的s是為了儲存平均值?struct stu int main int i,l...

一道c語言程式題,求解答過程,一道C語言程式題,求解答過程

小孚天天推 第一次convleft 1234 1000 1234 1000 10 1 234 10 2341 可以看出向左移動看一位 第二次convright 2341 10 1000 2341 10 1 1000 234 1234 可以看出向右移動了一位 第三次convright 當然就是把123...