當前位置:首頁 » 編程語言 » c語言入門編程題目
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言入門編程題目

發布時間: 2022-08-12 15:49:24

㈠ C語言入門編程題,題目如圖所示。給點思路方法

  1. 可以確定的5個變數:3個系數 a,b,c, 2個根 x1, x2,都是double類型

  2. 輸入a,b,c

  3. a=0的情況 (b=0,無解, b!=0, x1 = -c/b)

  4. 計算delta = b*b - 4ac

  5. if delta >0

    x1 = ..., x2 = ... ;

  6. else if delta == 0

    x1 = x2 = -b/(2a)

  7. else 無實數解。

  8. 各種情況下的輸出。

㈡ C語言入門題

首先說明一下,這道題目的答案卻是是 3。

我在編譯器運行了一下你的代碼:

接下來分析一下這個題目的流程:

1、在if(x < y)這個判斷條件中,x==1, y==-1,條件是不成立的,所以走else分支。

2、在else分支中,z==2,現在 z+=1之後, z==3。

3、在最後一步printf中列印最終結果z == 3。

如果以上回答對你有幫助,請採納下,謝謝。

㈢ C語言初學編程題目

直角三角形楊輝三角:
#include<stdio.h>
#define M 10
void main()
{
int a[M][M], i , j ;
for(i=0;i<M;i++)
for(j=0;j<=i;j++)
{
if(i==j||j==0)
a[i][j]=1;
else
a[i][j]=a[i-1][j]+a[i-1][j-1];
printf("%5d",a[i][j]);
if(i==j)printf("\n");
}
}
金字塔型楊輝三角:
#include<stdio.h>
void main()
{
int a[10][10],i,j;
for(i=0;i<10;i++)
{
for(j=10;j>=i;j--)
printf("%2c",' ');/*兩個空格*/
for(j=0;j<=i;j++)
{
if(i==j||j==0)
a[i][j]=1;
else
a[i][j]=a[i-1][j]+a[i-1][j-1];
printf("%3d ",a[i][j]); /*%3d後一個空格*/
if(i==j)
printf("\n");
}
}
}
不用數組輸出金字塔形楊輝三角:
#include<stdio.h>
#define N 10
void main()
{
unsigned int i,j,k;
unsigned int b,c;
for(i=0;i<N;i++)
{
for(j=N;j>i;j--)
printf(" ");
for(j=0;j<=i;j++)
{
b=c=1;
if(j>=1)
{
for(k=i-j+1;k<=i;k++)
b*=k;
for(k=1;k<=j;k++)
c*=k;
}
printf("%4d",b/c);
}
printf("\n");
}
}
註解:
在列印楊輝三角時通常用到楊輝三角的兩個性質。
第一個就是楊輝三角中除了最外層(不包括楊輝三角底邊)的數為1外,其餘的數都是它肩上兩個數之和。用數組輸出楊輝三角就用這個性質。
第二個性質是楊輝三角的第n行恰好是C(n,0)~C(n,n)。這里的C表示組合。不用數組輸出楊輝三角就用這個性質。
把楊輝三角的前15行保存在文本文件中:
#include<stdio.h>
#include<stdlib.h>
#define M 15
void main()
{
FILE *out;
if((out=fopen("D:\\text_1.txt","w"))==NULL)
{
printf("Error!\n");
exit(0);
}
int a[M][M],i,j;
for(i=0;i<M;i++)
for(j=0;j<=i;j++)
{
if(i==j||j==0)
a[i][j]=1;
else
a[i][j]=a[i-1][j]+a[i-1][j-1];
fprintf(out,"%5d",a[i][j]);
if(i==j)
fputc('\n',out);
}
fclose(out);
}

㈣ 求解一道C語言基礎編程題。

首先看一下程序的邏輯(雖然貌似題主應該不是在這一塊有問題:

首先得知道每個字元和數值的對應關系(圖不清晰可看戳這里:ascii編碼對應表

好了,現在看程序中的第一個if語句,在用大於、小於這些運算比較符比較char的時候,會自動轉換為整數比較,也就是說『0』會轉換成48,『1』轉換成49……以此類推,最後是『9』轉換成57,你會發現把這些char減去48就會得到它們各自相對應的整數數值,這就是第一個if裡面減去48的目的。同理,接下來的else-if語句,『A』到『F』也會轉換成整數數值,具體對應的數值可以參看ascii表,一樣的道理減去『A』然後加10的目的也是轉換成數值,因為在大於10的進制下,A代表10,B代表11……以此類推,因為這個程序最高就16進制了,所以判斷到F就可以了。

然後我們來看進制的解釋:

所謂進制,其實就是組合數字的方式,理解了這一點就很好說了。比如說10進制,為什麼198等於198(好像很傻一問題)?其實是因為在十進制下,198 (10) = 1 * 10^2 + 9 * 10^1 + 8 * 10^0 = 198(好像是這么回事,(。ì _ í。)),同一個數字,放在不同的位置,它所代表的分量也不一樣,即組合數字的方式會影響數字的值,1後面還有2個數字,所以這個1實際上是1 * 10^2 = 100,而不是1,其它位置的數字同理,然後把這些值加起來,就得到了整個數字所代表的最終的值,因此我們才有了 198 = 198(好像很有道理)。

但是,198也可能不等於198,什麼時候不等於呢?在不同的進制下。比如說假如我們的這個198是在16進制下的198,那麼 198 (16) = 1 * 16^2 + 9 * 16^1 + 8 * 16^0 = 408 (10) = 408。

為什麼會產生這種差別呢?因為16進制下的那個1代表的分量是1 * 16^2了,而不是1 * 10^2了,同理,在其它進制下只需要把乘的數字換成對應的進制的數就好了,比如在9進制下那個1就是1 * 9^2等等。

這樣一來上面程序裡面的for語句就好理解了,之所以用for是因為要算出次方(這個應該不用解釋),一個數要乘的次方是它後面跟著的數字的個數,所以是「j = 0; j < len - 1」。

然後把這些值加起來,就得到這個數字對應的十進制下的數值,也就完成了最終的轉換。

題主可以隨便寫些不同進制下的數字,然後自己算出十進制下對應的數值,和網站上得出的結果比較比較,這樣也可以加深對進制的理解,同時提高計算能力。

戳這里:在線進制轉換

這里給出了一個鏈接,這種網頁到處都是,隨便搜一下就可以找到。

㈤ 基礎C語言編程題

2.status IsPrime(int num) { int i; for(i=2;i<num;i++) { if(!num%i) return TRUE; } return FALSE; } 3.int gcd(int a,int b) { int i,num; for(i=1;i<=a;i++) { if(a%i) continue; if(!b%i) num=i; } return num; } 第一題第四題不會……不好意思

㈥ 求解C語言基礎編程題

#include <stdio.h>

int main()

{ int i,j,x,a[11]= {0};

char c='n';


do

{ scanf("%d%c",&x,&c);

a[x]++;

}

while(c!=' ');

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

{ printf("%d %d ",i,a[i]);

for(j=0; j<a[i]; j++)

printf("*");

printf(" ");

}

return 0;

}

㈦ 求道C語言基礎編程題

//第一題:
#include<stdio.h>
main()
{
int
a,b,c,t;
scanf("%d%d%d",&a,&b,&c);
//輸入三個數a,b,c
if(a<b)
{
t=a;a=b;b=t;
}
if(a<c)
{
t=a;a=c;c=t;
}
if(b<c)
{
t=b;b=c;c=t;
}
printf("%d>%d>%d\n",a,b,c);
}
//第二題:
#include<stdio.h>
#include<math.h>
void
main()
{
float
a,b,c,s,k;
printf("請輸入三邊的值:");
scanf("%f%f%f",&a,&b,&c);
k=(a+b+c)/2.0;
s=sqrt(k*(k-a)*(k-b)*(k-c));
printf("面積為:%.3f\n",s);
}
這兩個題目很簡單啊!
不知道是否合你要求??
呵呵,給我分吧!