當前位置:首頁 » 編程語言 » c語言案例設計學習通答案
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言案例設計學習通答案

發布時間: 2023-07-11 23:03:38

A. c語言類型問題

int和float在內睜散存滲早或中存儲結構是叢伍不一樣的

http://blog.csdn.net/chlaws/archive/2007/12/13/1933274.aspx

B. c語言水仙花數

#include <stdio.h>

int main()

{

int start, end, i = 0, a, b, c, size = 0;

while (scanf("%d %d", &start, &end) == 2)

{

for (i = start; i <= end; i++)

{

a = i / 100;

b = i / 10 % 10;

c = i % 10;

//total = pow(c, 3) + pow(a, 3) + pow(b, 3);

if ((a*a*a + b*b*b + c*c*c) == i) //滿足水仙花條件

{

if (size == 0) //size=0輸出第一個水仙花數

{

printf("%d", i);

}

else //size++輸出第二。。第n個水仙花數

{

printf(" %d", i);

}

size++; //個數++;

}

}

if (size == 0) //范圍內個數為0,則說明沒有滿足條件的

{

printf("no");

}

printf(" ");

}

return 0;

}

(2)c語言案例設計學習通答案擴展閱讀:

需要注意的地方:

1.將n整除以100,得出n在百位上的數字hun。

2.將(n-i*100)整除以10(或將n先整除以10再對10求模n/10%10),得出n在十位上的數字ten。

3.將n對10取余,得出n在個位上的數字ind。

4.求得這三個數字的立方和是否與其本身相等,若相等,則該數為水仙花數。

網路-水仙花數

C. C語言考試

三、寫出下列各問題運行結果

(1)因為c是static,靜態變數,因此會保留,運行結果是
9 10 11

(2)這題由於switch的每個case執行完沒有break,所以先執行case 10 後面的i+=1,接著繼續執行後面的兩個i+=1了,所以結果i=13

五,程序設計

(1)計算輸入的一個四位正整數中每一位數字相加,例如,輸入1234,則由1+2+3+4得10,於是輸出10.
#include<stdio.h>
int main()
{
int num;
int i;
int sum;
scanf("%d",&num);
sum=0;
for (i=0; i<4; i++)
{
sum+=(num%10);
num=num/10;
}
printf("%d\n",sum);
return 0;
}

(2)編寫一個程序,輸入年、月,列印出該年份該月得天數.
#include<stdio.h>
int runnian(int year)
{
if (year%100==0)
{
if (year%400==0) return 0;
else return -1;
}
else
{
if (year%4==0) return 0;
else return -1;
}
}
int main()
{
int year,month;
scanf("%d%d",&year,&month);
if (month==1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12) printf("31 days in this month\n");
else if (month==4 || month==6 || month==9 || month==11) printf("30 days in this month\n");
else if (runnian(year)==0) printf("29 days in this month\n");
else printf("28 days in this month\n");
return 0;
}

(3)輸入十個整數,計算出平均值(aver),找出其中最大者(max)和最小者(min)並將三者輸入.
#include<stdio.h>
int main()
{
int aver;
int max,min;
int i;
int num;
scanf("%d",&num);
aver=num;
max=num;
min=num;
for (i=0; i<9; i++)
{
scanf("%d",&num);
aver+=num;
if (num<min) min=num;
if (num>max) max=num;
}
printf("aver is %lf\nmax is %d\nmin is %d\n",(aver/10.0),max,min);
return 0;
}