妹子問我一個c語言問題,C語言的問號

本文目錄一覽:

幾道C語言題,跪求高手詳細幫助

//我寫了幾個,都經過dev-c調試通過。

//第一題:

#includestdio.h

#includestdlib.h

int fib(int n){

if(n==1||n==2)

return 1;

else

return(fib(n-1)+fib(n-2));

}

int main(){

int a[40],i;

printf(“前40個數為:\n”);

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

{

a[i]=fib(i+1);

printf(“%-10d”,a[i]);

if((i+1)%5==0)

printf(“\n”);

}

system(“PAUSE”);

return 0;

}

//第二題:

includestdio.h

#includestdlib.h

int main(){

int a[10],i,j,temp;

printf(“請輸入10個數:\n”);

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

scanf(“%d”,a[i]);

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

for(j=0;j10-i;j++)

if(a[j]a[j+1])

{

temp=a[j];

a[j]=a[j+1];

a[j+1]=temp;

}

printf(“排序後:\n”);

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

printf(“%4d”,a[i]);

system(“PAUSE”);

return 0;

}

//第三題:

#includestdio.h

#includestdlib.h

int change(int *a,int *b){

int temp;

temp=*a;

*a=*b;

*b=temp;

}

int main(){

int a[10],i,j,k=0,m=0;

printf(“請輸入10個數:\n”);

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

scanf(“%d”,a[i]);

for(j=1;j10;j++)

{

if(a[k]a[j]) k=j;

if(a[m]a[j]) m=j;

}

change(a[0],a[k]);

change(a[9],a[m]);

printf(“排序後:\n”);

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

printf(“%4d”,a[i]);

system(“PAUSE”);

return 0;

}

//第四題:

#includestdio.h

#includestdlib.h

int main(){

int m=0,i,j;

while(m2||m9){

printf(“請輸入一個2到9的數:\n”);

scanf(“%d”,m);

}

int a[m][m];

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

for(j=0;jm;j++)

a[i][j]=(i+1)*(j+1);

printf(“output:\n”);

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

for(j=0;jm;j++)

{

printf(“%4d”,a[i][j]);

if(j==m-1)

printf(“\n”);}

system(“PAUSE”);

return 0;

}

//第五題:

#includestdio.h

#includestdlib.h

#includestring.h

int main(){

char a[4][10],b[10];

int i,j ;

printf (“input:\n”);

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

scanf(“%s”,a[i]);

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

for(j=0;j3-i;j++)

if(strcmp(a[j],a[j+1])0)

{

strcpy(b,a[j]);

strcpy(a[j],a[j+1]);

strcpy(a[j+1],b);

}

j=0;

printf(“排序後:\n”);

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

{

while(a[i][j])

{

printf(“%c”,a[i][j]);

j++;

}

printf(“\n”);

j=0;

}

system(“PAUSE”);

return 0;

}

//第七題:

#includestdio.h

#includestdlib.h

int main(){

char a[20];

int i=0;

printf(“請輸入:\n”);

gets(a);

while(a[i]){

if(i%2==0)

if(a[i]’a’a[i]’z’)

a[i]-=32;

i++;

}

puts(a);

system(“PAUSE”);

return 0;

}

//餘下的下次再發給你吧!

另外,站長團上有產品團購,便宜有保證

妹子學C語言傷不起啊,求看這段拉普拉斯代碼怎麼運行

你直接用這個式子就可以了,輸出的圖像已經經過處理了

outimage[i][j]=-(inimage[i-1][j]+inimage[i][j+1]+inimage[i+1][j]+inimage[i][j-1])+5*inimage[i][j];

其實matlab裏面有現成的函數可用,數字圖像處理用它最方便了

C語言問題。定義一個二維數組

#includestdio.h

int main()

{

    int arr[5][6];

    int i,j,max,min,sum,a,b,c,d,e;

    float ave;

    printf(“Input 30 numbers:\n”);

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

for(j=0;j6;j++)

scanf(“%d”,arr[i][j]);//此處為srr[i][j],你寫成srr[5][6]就成了為crr第6行第七列賦值了,不但錯誤,更是越界了!

    printf(“\n”);

    min=max=arr[0][0];//將最大值與最小值都初始化為第一個元素

a=b=c=d=0;//下標也要初始化!

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

        for(j=0;j6;j++)

{

if(maxarr[i][j])

{

max=arr[i][j];

a=i;

b=j;

}

if(minarr[i][j])

{

min=arr[i][j];

c=i;

d=j;

}

}

    printf(“max=arr[%d][%d]=%d\n”,a,b,max);

    printf(“min=arr[%d][%d]=%d\n”,c,d,min);

    sum=0;

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

    {

for(j=0;j6;j++)

sum+=arr[i][j];

e=i;

ave=sum/6.0;//寫成6.0使得sum提升到浮點型

printf(“ave=arr[%d]=%f\n”,e,ave);

}

    return 0;

}

樓主基本沒有大錯誤,只是不夠仔細,用來保存特定值的變量使用前一定要初始化,如本例中的最大值,最小值,下標,都是必須初始化的!

整型與整型運算會得到整型,1/2=0,5/4=1;系統會捨去小數部分。只要將其中一個提升至浮點型即可,如1.0/2,5/4.0,如果是兩個整型變量,可以寫成(float)a/b,即可使得得到浮點型結果!

2013 5 25 7:05

1L

耗時 4min

C語言調試出現問題「內存不能為written」,妹紙急需大神求解,謝謝謝謝!

scanf(“%s”,s[M].kind);、scanf(“%s”,s[M].price);……這幾個得一致起來吧,為什麼前者沒有而後者有?估計統一一下就好了……

C語言 求解答

【第一行】:

x=1,y=1,z=1;

if((x=2)(y=2)(z=2))

首先,x=2是賦值,執行後x==2,並且此等式的值為2,所以if (x=2)的結果是true。

其次,按照if的判斷規則,遇到abc這樣的判斷,當a為true後,會進行b的判斷,如果b也為true,就繼續進行c的判斷。所以這一行會依次進行x=2,y=2,z=2的賦值並且總的判斷結果是true (truetruetrue),結果打印出222。

【第二行】:

一樣的,先進行x=0的賦值和判斷。賦值後x的值為零。但是由於x=0這個等式的值為0即false,所以此處(x=0)(y=2)(z=2)總的結果也為false,並且後面的y=2和z=2的賦值並不進行,因為第一項為false了,後兩項就不進行判斷了(效率上的優化),無論後兩項是true還是false,總的結果都是false。所以此時x==0,y==1,z==1,但是不會打印。

【第三行】:

一樣的,先進行x=2的賦值和判斷,結果為true,此時x==2。

但是注意此時是if(a||b||c)這樣形式的判斷,如果a是true了,無論後兩項結果是什麼,總的結果都是true,後兩項就 不進行賦值和判斷了(效率上的優化)。所以此時x==2,y==1,z==1。

打印出211。

【第四行】:

先進行x=0的賦值和判斷,此時x==0,(x=0)的結果是false,所以需要繼續進行y=2的賦值和判斷。此時y==2,並且(y=2)的值為true。

此時總的結果是false||true||?,為true,第三項不需要進行賦值和判斷了(效率上的優化)。

打印出此時xyz的值021

【第五行】:

先進行x=0的賦值和判斷,此時x==0,(x=0)的結果是false,所以(x=0)(y=2)的結果就是false了,y=2這一步不進行賦值和判斷了(效率上的優化),y的值仍舊為1。

因為(x=0)(y=2)的結果是false,所以需要進行和它相或的z=2的賦值和判斷,此時z==2,並且(z=2)的值為true,總的結果是(false?||true),為true。

打印出此時xyz的值012

【總的原則】:

abc…的時候,只要遇到false的,總的結果就是false了,後面的就不必進行了。

a||b||c…的時候,只要遇到true的,總的結果就是true了,後面的就不必進行了。

這題考的就是這種提高效率的機制。

以上,未理解的話可以繼續追問。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/308589.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2025-01-03 14:49
下一篇 2025-01-03 14:49

相關推薦

  • AES加密解密算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演着非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28
  • Python語言實現人名最多數統計

    本文將從幾個方面詳細介紹Python語言實現人名最多數統計的方法和應用。 一、Python實現人名最多數統計的基礎 1、首先,我們需要了解Python語言的一些基礎知識,如列表、字…

    編程 2025-04-28
  • Python作為中心語言,在編程中取代C語言的優勢和挑戰

    Python一直以其簡單易懂的語法和高效的編碼環境而著名。然而,它最近的發展趨勢表明Python的使用範圍已經從腳本語言擴展到了從Web應用到機器學習等廣泛的開發領域。與此同時,C…

    編程 2025-04-28
  • Python基礎語言

    Python作為一種高級編程語言擁有簡潔優雅的語法。在本文中,我們將從多個方面探究Python基礎語言的特點以及使用技巧。 一、數據類型 Python基礎數據類型包括整數、浮點數、…

    編程 2025-04-28

發表回復

登錄後才能評論