『壹』 (2017教師goc編程能力測試)第3題:六邊形(six)不會寫。
我去考過,都是選擇題,題目很多,大約140道題,但考試只有時間2小時,體形和公務員考試很像,教育學心理學知識並不多,還有一些挑選病句這一類的題目
『貳』 編程題c++:從鍵盤輸入10個學生的成績,計算平均成績,統計及格人數,計算高於平均分的學生的分數
#include <stdio.h>
int main()
{
int i;
float a[10],min,max,avg; //max表示最高分,min表示最低分,avg表示平均分
printf("請輸入10位學生的分數 ");
printf("******************************** ");
for(i=0;i<=9;i++)
{
printf("請輸入一位學生的分數:");
scanf("%f",&a[i]);
}
max=min=avg=a[0];
int jige=0;
for(i=1;i<=9;i++)
{
if(min>a[i])
{min=a[i];}
if(a[i]>=60)
jige=jige+1;
if(max<a[i])
{max=a[i];}
avg=avg+a[i];
}
avg=avg/10;
printf("max=%f ",max);
printf("min=%f ",min);
printf("avg=%f ",avg);
printf("及格人數:%d ",jige);
printf("******************************** ");
}
(2)網易編程題2017擴展閱讀:
C++是C語言的繼承,它是一種使用非常廣泛的計算機編程語言,C++作為一種靜態數據類型檢查的、支持多范型的通用程序設計語言,能夠支持過程化程序設計、數據抽象化、面向對象程序設計、泛型程序設計、基於原則設計等多種程序設計風格。
C++的編程領域眾廣,常用於系統開發,引擎開發等應用領域,深受廣大程序員的喜愛。
C++不僅擁有計算機高效運行的實用性特徵,同時還致力於提高大規模程序的編程質量與程序設計語言的問題描述能力。
網路-C++
『叄』 網易編程題:瘋狂隊列(序列相鄰元素之差的絕對值和最大)
#include <bits/stdc++.h>
#include <unistd.h>
using namespace std;
int func(vector<int> &height){
int n = height.size();
sort(height.begin(),height.end(),less<int>());
int lastMax = height[n-1];
int lastMin = height[0];
int sum = lastMax - lastMin;
int curMinIndex = 1,curMaxIndex = n - 2;
/*每次從數組中選取最大最小元素和新序列中最大最小元素交錯做差*/
while(curMinIndex < curMaxIndex){
sum += lastMax - height[curMinIndex];
sum += height[curMaxIndex] - lastMin;
lastMin = height[curMinIndex];
lastMax = height[curMaxIndex];
++curMinIndex;
--curMaxIndex;
}
/*如果有奇數個元素,最後curMinIndex = curMaxIndex*/
if(curMinIndex == curMaxIndex){
sum = max(sum + abs(height[curMinIndex] - lastMin),sum + abs(height[curMaxIndex] - lastMax));
}
return sum;
}
int main(){
int n;
while(cin >> n){
vector<int> height(n);
for(auto i = 0;i < n;++i)
cin>>height[i];
cout<<func(height)<<endl;
}
return 0;
}
『肆』 C語言編程題:從鍵盤輸入10個學生的成績,計算平均成績,統計及格人數,計算高於平均分的學生的分數
#include"stdio.h"
#defineN10
voidmain()
{
inta[N],ave,sum=0,pass=0,better=0;
for(inti=0;i<N;i++)
{
scanf("%d",&a[i]);
sum+=a[i];
}
ave=sum/N;
for(inti=0;i<N;i++)
{
if(a[i]>=60)
pass++;
if(a[i]>ave)
better++;
}
printf("平均分:%d 及格人數%d 高於平均分人數%d ",ave,pass,better);
有問題可以hi我,謝謝採納,我的餓網易編程博客如下圖
}
『伍』 網易筆試編程題按最高分記什麼意思
MN平行於A1B,MN不屬於平面A1C1B,所以MN平行於平面A1C1B。同理可證MP平行於平面A1C1B。如果一個平面內的兩條相交直線都平行於另一個平面,則這兩個平面平行
『陸』 設元祖a=(3,4,2,1,5,6,8,7,9,10),編寫程序求出其中最小值以及相應的位置並將
字元串的創建
1.創建:單引號,雙引號,三引號,(轉譯符:\',\",\n,\t)
2.特性:索引,切片:s[start:stop:step]start默認值為0stop默認為字元串長度
step歩長,每一部走多長
s[1:4:2] s[::-1]取反 s[:4]
連續操作:
重復操作:
成員操作符:in ,not in
#3.字元串是可迭代對象通過for實現循環
"""
"""
練習題
1.用戶輸入字元串,列印該字元串的反轉字元串
2.變數名是否合法判斷程序;
變數名命名規則:由字母,下劃線或者數字組成但不能以數字開頭
s = "hello"
請輸入變數名:
1).判斷第一個字元是否由字母或者下劃線組成:
2).如果第一個字元和法,判斷剩餘字元是否由字母數字下劃線組成
"""
while 1:
s = raw_input("變數名:")
if not (s[0].isalpha() or s[0] == "_"):
print "不合法"
else:
for i in s[1:]:
if not (i.isalnum() or i=="_"):
print "不合法"
break
else:
print "合法"
if和elif後邊都要跟表達式,else不用
#4.字元串的常用方法
>> 1)判斷字元串已什麼開有的
>> 2)判斷是否以什麼開頭以什麼結尾
s.startswith("http://")
s.endswith(".png")
>> 3)去除字元串的左右的空格:(主要應用在有用戶輸入數據的地方)
s.strip(),s.lstrip(),s.rstrip()
重點:s.replace('l',"") 替換
>> 4)字元串對齊格式化:左對齊,右對齊,中間對齊
s.center(40,"*")
s.ljust(40,"*")
s.rjust(40,"*")
>> 5)按照指定分隔符分離字元串:
ip = "172.25.254.250"
ip.split(".")
>> 6)連接指定的信息
a = info.split()
"+".join(a)
s.count('l')l出現的次數
s.index('l')找到字元的索引
s.find('l')找到字元的索引
#5.內置方法(BIF-build in founction)
cmp()比較大小
len()字元長度
min()
max()
枚舉enumerate(s)
for index,value in enumerate(s):
print index,value
zip()
元祖(帶了緊箍咒的列表)
#元祖的創建
>>通過賦值方法創建元祖
>>通過工廠方法創建元祖
#tuple
#可以把元祖看作一個容器,任何數據類型都可以放在這個容器裡面:
t = (1,1.0,2j,ture,(1,2,3))
#定義單個元祖的時候,一定要在這個元素後面加逗號
t = (1,)
#工廠方法
t = tuple()
#元祖的操作
>>索引
正向索引0123print t[0]
反向索引-1-2-3print t[-1]
元祖嵌套
>>切片
print t [:2]
逆轉元祖元素
print[::-1]
>>連接
print t + t1
>>重復
t*3
>>成員操作符
allow_ips = ('172.25.254.1','172.25.254.2','172.25.254.3')
if "172.25.254.1" in allow_ips:
print "有訪問許可權"
else:
print "無訪問許可權"
#元祖的循環
元祖目前接觸的第三個可迭代對象
埠掃描器的雛形
ips = ('172.25.254.1','172.25.254.2','172.25.254.3')
ports = (80,8080,21,22)
for ip in ips:
for port in ports:
print "[+] Scaning %s:%d" %(ip,port)
In [28]: for ip in allow_ips:
....: for port in ports:
....: print "[+] Scaning %s:%d" %(ip,port)
....:
[+] Scaning 172.25.254.1:80
[+] Scaning 172.25.254.1:8080
[+] Scaning 172.25.254.1:21
[+] Scaning 172.25.254.1:22
[+] Scaning 172.25.254.2:80
[+] Scaning 172.25.254.2:8080
[+] Scaning 172.25.254.2:21
[+] Scaning 172.25.254.2:22
[+] Scaning 172.25.254.3:80
[+] Scaning 172.25.254.3:8080
[+] Scaning 172.25.254.3:21
[+] Scaning 172.25.254.3:22
##元祖的常用方法
t.count()
t.index()可以指定在那個范圍里找索引
#元祖的內置方法
cmp()
max((12,34,56,))
枚舉 enumerate
for i,j in enumerate(ips)
print i,j
自動販賣
goods = (
("Apple",2),
("Ipad",4000),
("Iwatch",3500)
)
print "商品編號\t商品名稱\t商品價格"
for index,value in enumerate(goods):
print "%3d\t%s%.2f" %(index,value[0],value[1])
zip()
username = ("user1""user2""user3")
password = ("123""456""789")
zip(username,password)
1. 企業發放的獎金根據利潤提成。利潤(I)低於或等於10萬元時,獎金可提10%;利潤高
於10萬元,低於20萬元時,低於10萬元的部分按10%提成,高於10萬元的部分,可可提
成7.5%;20萬到40萬之間時,高於20萬元的部分,可提成5%;40萬到60萬之間時高於
40萬元的部分,可提成3%;60萬到100萬之間時,高於60萬元的部分,可提成1.5%,高於
100萬元時,超過100萬元的部分按1%提成,從鍵盤輸入當月利潤I,求應發放獎金總數?
2. 一個整數,它加上100後是一個完全平方數,再加上168又是一個完全平方數,請問該數是多少?
3. # (2017-小米-句子反轉)
- 題目描述:
> 給定一個句子(只包含字母和空格), 將句子中的單詞位置反轉,單詞用空格分割, 單詞之間只有一個空格,前後沒有空格。 比如: (1) 「hello xiao mi」-> 「mi xiao hello」
- 輸入描述:
> 輸入數據有多組,每組佔一行,包含一個句子(句子長度小於1000個字元)
- 輸出描述:
> 對於每個測試示例,要求輸出句子中單詞反轉後形成的句子
- 示例1:
```
- 輸入
hello xiao mi
- 輸出
mi xiao hello
4. # (2017-好未來-筆試編程題)--練習
- 題目描述:
輸入兩個字元串,從第一字元串中刪除第二個字元串中所有的字元。例如,輸入」They are students.」和」aeiou」,則刪除之後的第一個字元串變成」Thy r stdnts.」
- 輸入描述:
每個測試輸入包含2個字元串
- 輸出描述:
輸出刪除後的字元串
- 示例1:
```
輸入
They are students.
aeiou
輸出
Thy r stdnts.
```
5. # (2017-網易-筆試編程題)-字元串練習
小易喜歡的單詞具有以下特性:
1.單詞每個字母都是大寫字母
2.單詞沒有連續相等的字母
列可能不連續。
例如:
小易不喜歡"ABBA",因為這里有兩個連續的'B'
小易不喜歡"THETXH",因為這里包含子序列"THTH"
小易喜歡"A","ABA"和"ABCBA"這些單詞
給你一個單詞,你要回答小易是否會喜歡這個單詞。
- 輸入描述:
輸入為一個字元串,都由大寫字母組成,長度小於100
- 輸出描述:
如果小易喜歡輸出"Likes",不喜歡輸出"Dislikes"
『柒』 javasprict編程題
<!DOCTYPEhtml>
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=UTF-8">
<title></title>
<script>
varimgs=["xinlang.jpg","wangyi.jpg","souhu.jpg"];
varck=function(se){
dd.style.background="url("+imgs[se.selectedIndex]+")"
}
</script>
</head>
<body>
<divid="dd">
</div>
<selectonchange="ck(this)">
<option>請選擇</option>
<option>新浪</option>
<option>網易</option>
<option>搜狐</option>
</select>
</body>
</html>
『捌』 今晚網易編程題只有編程題嗎
不好意思,好像是沒有分吧,好像只能是運行出了結果才有分,就像給定了多少組數據,讓你運行一樣,是電腦運行並進行測試的。
『玖』 java編程題 希望大家能夠幫助我一下,謝謝
package book;
/**
* @Author: Cool_Wu
* @Date: 2020-12-07 20:18
*/
public class Book {
private String name;
private String num;
private String author;
private double price;
private String publishing_House;
private String publication_Date;
public Book() {}
public Book(String name, String num, String author, double price, String publishing_House, String publication_Date) {
this.name = name;
this.num = num;
this.author = author;
this.price = price;
this.publishing_House = publishing_House;
this.publication_Date = publication_Date;
}
@Override
public String toString() {
return "圖書信息: ----------------------" +
" 書名:" + name +
" 書號:" + num +
" 作者:" + author +
" 單價:" + price +
" 出版社:" + publishing_House +
" 出版日期:" + publication_Date +
" ---------------------- ";
}
}
package book;
public class Test {
public static void main(String[] args) {
Book book1 = new Book("百年孤獨","10000","加西亞·馬爾克斯",40.00,"南海出版公司","2017年08月");
System.out.println(book1);
Book book2 = new Book("時間簡史","10086","史蒂芬·霍金",22.50,"湖南科技出版社","2014年06月");
System.out.println(book2);
}
}
運行結果
『拾』 需c語言編程實例100例 發到 [email protected]
題目:有1、2、3、4個數字,能組成多少個互不相同且無重復數字的三位數?都是多少?
1.程序分析:可填在百位、十位、個位的數字都是1、2、3、4。組成所有的排列後再去
掉不滿足條件的排列。
【程序1】程序源代碼:
main()
{
int i,j,k;
printf("\n");
for(i=1;i<5;i++) /*以下為三重循環*/
for(j=1;j<5;j++)
for (k=1;k<5;k++)
{
if (i!=k&&i!=j&&j!=k) /*確保i、j、k三位互不相同*/
printf("%d,%d,%d\n",i,j,k);
}
}
程序2】
題目:企業發放的獎金根據利潤提成。利潤(I)低於或等於10萬元時,獎金可提10%;利潤高
於10萬元,低於20萬元時,低於10萬元的部分按10%提成,高於10萬元的部分,可可提
成7.5%;20萬到40萬之間時,高於20萬元的部分,可提成5%;40萬到60萬之間時高於
40萬元的部分,可提成3%;60萬到100萬之間時,高於60萬元的部分,可提成1.5%,高於
100萬元時,超過100萬元的部分按1%提成,從鍵盤輸入當月利潤I,求應發放獎金總數?
1.程序分析:請利用數軸來分界,定位。注意定義時需把獎金定義成長整型。
第1個程序代碼不要復制到工具中編譯,有可能網頁上的空格也算數
下面的應該沒問題了,我會盡力調試好的.
程序2代碼:
#include "stdio.h"
void main()
{ long int i;
double bonus1,bonus2,bonus4,bonus6,bonus10,bonus;
scanf("%ld",&i);
bonus1=100000*0.1;
bonus2=bonus1+100000*0.075;
bonus4=bonus2+200000*0.05;
bonus6=bonus4+200000*0.03;
bonus10=bonus6+400000*0.015;
if (i<=100000)
bonus=i*0.1;
else if (i<=200000)
bonus=bonus1+(i-100000)*0.075;
else if (i<=400000)
bonus=bonus2+(i-200000)*0.05;
else if (i<=600000)
bonus=bonus4+(i-400000)*0.03;
else if (i<=1000000)
bonus=bonus6+(i-600000)*0.015;
else
bonus=bonus10+(i-1000000)*0.01;
printf("bonus=%d",bonus);
}
程序3:
題目:一個整數,它加上100後是一個完全平方數,再加上168又是一個完全平方數,請問該數是多少?
#include "stdio.h"
#include "math.h"
void main()
{
long int x,y,i;
for (i=0;i<=100000;i++)
{x=sqrt(i+100); /*x為加上100後開方的結果*/
y=sqrt(i+268); /*y為x加上168後開方的結果*/
if (x*x==i+100&&y*y==i+268)
printf ("%ld",i);
}
}
【程序4】
題目:輸入某年某月某日,判斷這一天是這一年的第幾天?
1.程序分析:以3月5日為例,應該先把前兩個月的加起來,然後再加上5天即本年的第幾天,特殊
情況,閏年且輸入月份大於3時需考慮多加一天。
#include "stdio.h"
void main()
{
int day,mouth,year,sum,leap;
printf("\nplease input year,mouth,day\n");
scanf("%d,%d,%d",&year,&mouth,&day);
switch (mouth) /*先計算某月以前月份的總天數*/
{
case 1:sum=0;break;
case 2:sum=31;break;
case 3:sum=59;break;
case 4:sum=90;break;
case 5:sum=120;break;
case 6:sum=151;break;
case 7:sum=181;break;
case 8:sum=212;break;
case 9:sum=243;break;
case 10:sum=273;break;
case 11:sum=304;break;
case 12:sum=334;break;
defaultrintf("data error");break;
}
sum=sum+day; /* 再加上某天的天數*/
if (year%400==0||(year%4==0&&year%100!=0))/*判斷是不是閏年*/
leap=1;
else
leap=0;
if (leap==1&&mouth>2)/*如果是閏年且月份大於2,總數天數應該加1*/
sum++;
printf ("It is the %dth day.",sum);
}
【程序5】
題目:輸入三個整數x,y,z,請把這三個數由小到大輸出。
1.程序分析:我們想辦法把最小的數放到x上,先將x與y進行比較,如果x>y則將x與y的值進行交換,然後再用x與z進行比較,如果x>z則將x與z的值進行交換,這樣能使x最小。
#include "stdio.h"
void main()
{
int x,y,z,t;
printf("請輸入3個整數:\n");
scanf("%d,%d,%d",&x,&y,&z);
if (x>y)
{t=x;x=y;y=x;}
if (x>z)
{t=x;x=z;z=t;}
if (y>z)
{t=y;y=z;z=t;}
printf("你輸入3個數從小到大的順序為:%d,%d,%d\n",x,y,z);
}
程序6】
題目:用*號輸出字母C的圖案。
1.程序分析:可先用'*'號在紙上寫出字母C,再分行輸出。
不要說簡單哦,慢慢來,熟能生巧嘛~~~~~~~~
#include "stdio.h"
void main ()
{
printf ("Hello C---world!\n");
printf (" *****\n");
printf (" *\n");
printf (" *\n");
printf (" *****\n");
}
下面這一題我運行的時候處出現幾個漢字外,並沒有像題目說的那樣Very Beautiful!.同志們看看你們的結果是什麼.
程序7】
題目:輸出特殊圖案,請在c環境中運行,看一看,Very Beautiful!
1.程序分析:字元共有256個。不同字元,圖形不一樣。
#include "stdio.h"
void main ()
{
char a=176,b=219;
printf("%c%c%c%c%c\n",b,a,a,a,b);
printf("%c%c%c%c%c\n",a,b,a,b,a);
printf("%c%c%c%c%c\n",a,a,b,a,a);
printf("%c%c%c%c%c\n",a,b,a,b,a);
printf("%c%c%c%c%c\n",b,a,a,a,b);
}
【程序8】
題目:輸出9*9口訣。
1.程序分析:分行與列考慮,共9行9列,i控制行,j控制列。
#include "stdio.h"
void main ()
{
int i,j,result;
printf ("\n");
for (i=1;i<10;i++)
{for(j=1;j<10;j++)
{
result=i*j;
printf("%d*%d=%-3d",i,j,result); /*-3d表示左對齊,佔3位*/
} printf("\n");/*每一行後換行*/
}
}
程序9】
題目:要求輸出國際象棋棋盤。
1.程序分析:用i控制行,j來控制列,根據i+j的和的變化來控制輸出黑方格,還是白方格。
#include "stdio.h"
void main ()
{
int i,j;
for (i=0;i<8;i++)
{
for (j=0;j<8;j++)
if((i+j)%2==0)
printf ("%c%c",219,219);
else
printf (" ");
printf("\n");
}
}
【程序10】
題目:列印樓梯,同時在樓梯上方列印兩個笑臉。
1.程序分析:用i控制行,j來控制列,j根據i的變化來控制輸出黑方格的個數。
include "stdio.h"
void main()
{
int i,j;
printf("\1 \1\n"); /*輸出兩個笑臉*/
for(i=1;i<11;i++)
{
for (j=1;j<=i;j++)
printf("%c%c",219,219);
printf("\n");
}
}
經典c程序100例==11--20
【程序11】
題目:古典問題:有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月
後每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?
1.程序分析: 兔子的規律為數列1,1,2,3,5,8,13,21....
呵呵~~多謝支持,以後多來阿~~~~~~~~~~~~
好的現在讓我們來討論第11題吧~
這個題目是求Fibonacci數列40個數.其實我們分析一下這個數有如下特點:第1,2個數為1,1.從第3個數開始,該數是其前面倆個數之和.即:
F1=1 (n=1)
F2=1 (n=2)
Fn=Fn-1+Fn-2 (n>=3)
分析到這我們做題目就不會有多大的難度了 :
11題程序為:
main()
{
long int f1,f2;
int i;
f1=1;f2=1;
for (i=1;i<=20;i++)
{printf("%12ld%12ld",f1,f2);
if(i%2==0)printf("\n");
f1=f1+f2;
f2=f1+f2;}
}
【程序12】
題目:判斷101-200之間有多少個素數,並輸出所有素數。
1.程序分析:判斷素數的方法:用一個數分別去除2到sqrt(這個數),如果能被整除,
則表明此數不是素數,反之是素數。
#include "stdio.h"
#include "math.h"
void main ()
{
int m,i,k,h=0,leap=1;
printf("\n");
for (m=101;m<=200;m++)
{k=sqrt(m+1);
for(i=2;i<=k;i++)
if(m%i==0)
{leap=0;break;}
if(leap)
{printf("%-4d",m);
h++;
if(h%10==0)
printf("\n");
}leap=1;
}
printf("\nThe total is %d",h);
}
【程序13】
題目:列印出所有的"水仙花數",所謂"水仙花數"是指一個三位數,其各位數字立方和等於該數
本身。例如:153是一個"水仙花數",因為153=1的三次方+5的三次方+3的三次方。
1.程序分析:利用for循環控制100-999個數,每個數分解出個位,十位,百位。
include "stdio.h"
void main ()
{
int i,j,k,n;
printf("'water flower 'number is :");
for(n=100;n<1000;n++)
{
i=n/100;
j=n/10-i*10;
k=n%10;
if(n==i*i*i+j*j*j+k*k*k)
printf("%4d",n);
}
printf("\n");
}
【程序14】
題目:將一個正整數分解質因數。例如:輸入90,列印出90=2*3*3*5。
程序分析:對n進行分解質因數,應先找到一個最小的質數k,然後按下述步驟完成:
(1)如果這個質數恰等於n,則說明分解質因數的過程已經結束,列印出即可。
(2)如果n<>k,但n能被k整除,則應列印出k的值,並用n除以k的商,作為新的正整數你n,
重復執行第一步。
(3)如果n不能被k整除,則用k+1作為k的值,重復執行第一步。
#include "stdio.h"
void main()
{int n,i;
printf("\nplease input a number :\n");
scanf("%d",&n);
printf("%d=",n);
for(i=2;i<=n;i++)
{
while(n!=i)
{
if(n%i==0)
{printf("%d*",i);
n=n/i;
}
else
break;
}
}
printf("%d",n);
}
【程序15】
題目:利用條件運算符的嵌套來完成此題:學習成績>=90分的同學用A表示,60-89分之間的用B表示,
60分以下的用C表示。
1.程序分析:(a>b)?a:b這是條件運算符的基本例子。
#include "stdio.h"
void main()
{int chji;
char biaosi;
printf("Please input a chji:\n");
scanf("%d",&chji);
biaosi=chji>=90?'A'chji>=60?'B':'C');
printf("%d belongs to %c\n",chji,biaosi);
}
【程序16】
題目:輸入兩個正整數m和n,求其最大公約數和最小公倍數
第16題
#include
#include
#include
#include "math.h"
main()
{
int a,b,c=1,i,temp;
printf("輸入2個正整數:");
scanf("%d%d",&a,&b);
if(a>b)
{
temp=a;
a=b;
b=temp;
}
for(i=2;i<=a;i++)
{
if(a%i==0&&b%i==0)
c=i;
}
if(c==1)
printf("沒有公約數\n");
else
printf("最大公約數為:%d\n",c);
printf("最小公倍數為:%d\n",a*b/c);
【程序17】
題目:輸入一行字元,分別統計出其中英文字母、空格、數字和其它字元的個數。
1.程序分析:利用while語句,條件為輸入的字元不為'\n'.
有什麼好的建議可以提啊,
#include "stdio.h"
void main()
{char c;
int letters=0,space=0,digit=0,others=0;
printf("please input some characters\n");
while ((c=getchar())!='\n')
{
if(c>='a'&&c<='z'||c>='A'&&c<'Z')
letters++;
else if(c==' ')
space++;
else if (c>='0'&&c<'9')
digit++;
else
others++;
}
printf("all in all:char=%d space=%d digit=%d others=%d\n",letters,space,digit,others);
}
【程序18】
題目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一個數字。例如2+22+222+2222+22222(此時
共有5個數相加),幾個數相加有鍵盤控制。
1.程序分析:關鍵是計算出每一項的值。
18題
#include
void main()
{
int a,n,conut=1;
long int sn=0,tn=0;
printf("please input a and n\n");
scanf("%d,%d",&a,&n);
printf("a=%d,n=%d\n",a,n);
while (conut<=n)
{
tn=tn+a;
sn=sn+tn;
a=a*10;
++conut;
}
printf("%ld\n",sn);
}
【程序19】
題目:一個數如果恰好等於它的因子之和,這個數就稱為"完數"。例如6=1+2+3.編程
找出1000以內的所有完數。
19
#include "stdio.h"
void main()
{
int i,j,n;
for(i=1;i<=1000;i++)
{
n=0;
for(j=1;j<I;J++)
if(i%j==0)
n+=j;
if(n==i)
{
for(j=1;j<I;J++)
{
if(i%j==0)
printf("%d+",j);
}
printf("\b=%d\n",i);
}
}
}
【程序20】
題目:一球從100米高度自由落下,每次落地後反跳回原高度的一半;再落下,求它在
第10次落地時,共經過多少米?第10次反彈多高?
#include "stdio.h"
void main()
{
float sn=100.0,hn=sn/2;
int n;
for(n=2;n<=10;n++)
{
sn=sn+2*hn;
hn=hn/2;
}
printf("the total of road is %f\n",sn);
printf("the high is %f meter\n",hn);
}
程序21】
題目:猴子吃桃問題:猴子第一天摘下若干個桃子,當即吃了一半,還不癮,又多吃了一個
第二天早上又將剩下的桃子吃掉一半,又多吃了一個。以後每天早上都吃了前一天剩下
的一半零一個。到第10天早上想再吃時,見只剩下一個桃子了。求第一天共摘了多少。
1.程序分析:採取逆向思維的方法,從後往前推斷。
記得上次說到21題:
#include
void main ()
{
int day,i,j;
day=9;
j=1;
while (day>0)
{
i=(j+1)*2;
j=i;
day--;
}
printf("the total is %d\n",i);
}
【程序22】
題目:兩個乒乓球隊進行比賽,各出三人。甲隊為a,b,c三人,乙隊為x,y,z三人。已抽簽決定
比賽名單。有人向隊員打聽比賽的名單。a說他不和x比,c說他不和x,z比,請編程序找出
三隊賽手的名單。
1.程序分析:判斷素數的方法:用一個數分別去除2到sqrt(這個數),如果能被整除,
則表明此數不是素數,反之是素數。
#include
void main ()
{
char i,j,k;/*i是a的對手,j是b的,k是c的*/
for (i='x';i<='z';i++)
for (j='x';j<='z';j++)
{if (i!=j)
for (k='x';k<='z';k++)
{if (i!=k&&j!=k)
{if (i!='x'&&k!='x'&&k!='z')
printf("order is a--%c\tb--%c\tc--%c\n",i,j,k);
}
}
}
}
【程序23】
題目:列印出如下圖案(菱形)
*
***
******
********
******
***
*
1.程序分析:先把圖形分成兩部分來看待,前四行一個規律,後三行一個規律,利用雙重
for循環,第一層控制行,第二層控制列。
這個題用數組:
#include
void main ()
{
char lingxing[][7]={{' ',' ',' ','*'},{' ',' ','*','*','*'},{' ','*','*','*','*','*'},
{'*','*','*','*','*','*','*'},{' ','*','*','*','*','*'},{' ',' ','*','*','*'},{' ',' ',' ','*'}};
int i,j;
for (i=0;i<7;i++)
{ for (j=0;j<7;j++)
printf("%c",lingxing[i][j]);
printf("\n");
}
}
還可以這樣:#include
void main ()
{
int i,j,k;
for (i=0;i<=3;i++)
{
for (j=0;j=2-i;j++)
printf(" ");
for (k=0;k<=2*i;k++)
printf("*");
printf("\n");
}
for (i=0;i<=2;i++)
{
for (j=0;j<=i;j++)
printf(" ");
for (k=0;k<=4-2*i;k++)
printf("*");
printf("\n");
}
}
用函數調用也可以,自己試試.
【程序24】
題目:有一分數序列:2/1,3/2,5/3,8/5,13/8,21/13...求出這個數列的前20項之和。
1.程序分析:請抓住分子與分母的變化規律。
#include
void main ()
{int n,t,number=20;
float a=2,b=1,s=0;
for (n=1;n<=number;n++)
{
s+=a/b;
t=a;a+=b;b=t;//這一步是關鍵
}
printf("sum is %9.6f\n",s);
}
【程序25】
題目:求1+2!+3!+...+20!的和
1.程序分析:此程序只是把累加變成了累乘。
#include
void main ()
{
float n,s=0,t=1;
for (n=1;n<=20;n++)
{
t*=n;
s+=t;
}
printf("1+2!...+20!=%e\n",s);
}
還要注意溢出,大家說一下怎樣判斷.
還有下面的這個題<
程序26】
題目:利用遞歸方法求5!。
1.程序分析:遞歸公式:fn=fn_1*4!
#include
void main ()
{
int i;
printf("請輸入求遞歸的數:\n");
scanf("%d",&i);
int fact (int );
printf("%d!=%d\n",i,fact(i));
}
int fact(int j)
{
int sum;
if (j==0)
sum=1;
else
sum=j*fact(j-1);
return sum;
}
考慮一下怎樣判斷溢出呢?
【程序27】
題目:利用遞歸函數調用方式,將所輸入的5個字元,以相反順序列印出來。
#include
char a[5];
void f(int n)
{
if (n<5)
{
f(n+1);//注意這里是重點。好好理解哦!
printf("%c",a[n]);
}
}
void main ()
{
printf("Input the string(lenth is 5):");
scanf("%s",a);
printf("After is :");
f(0);
}
【程序28】
題目:有5個人坐在一起,問第五個人多少歲?他說比第4個人大2歲。問第4個人歲數,他說比第
3個人大2歲。問第三個人,又說比第2人大兩歲。問第2個人,說比第一個人大兩歲。最後
問第一個人,他說是10歲。請問第五個人多大?
28 題~
#include
age (int n)
{
int c;
if (n==1)
c=10;
else
c=age(n-1)+2;
return (c);
}
void main ()
{
printf("%d",age(5));
}
程序29】
題目:給一個不多於5位的正整數,要求:一、求它是幾位數,二、逆序列印出各位數字。
#include
main( )
{
long a,b,c,d,e,x;
scanf("%ld",&x);
a=x/10000;/*分解出萬位*/
b=x%10000/1000;/*分解出千位*/
c=x%1000/100;/*分解出百位*/
d=x%100/10;/*分解出十位*/
e=x%10;/*分解出個位*/
if (a!=0) printf("there are 5, %ld %ld %ld %ld %ld\n",e,d,c,b,a);
else if (b!=0) printf("there are 4, %ld %ld %ld %ld\n",e,d,c,b);
else if (c!=0) printf(" there are 3,%ld %ld %ld\n",e,d,c);
else if (d!=0) printf("there are 2, %ld %ld\n",e,d);
else if (e!=0) printf(" there are 1,%ld\n",e);
}
【程序30】
題目:一個5位數,判斷它是不是迴文數。即12321是迴文數,個位與萬位相同,十位與千位相同。
#include
main( )
{
long a,b,c,d,e,x;
scanf("%ld",&x);
a=x/10000;/*分解出萬位*/
b=x%10000/1000;/*分解出千位*/
c=x%1000/100;/*分解出百位*/
d=x%100/10;/*分解出十位*/
e=x%10;/*分解出個位*/
if (a!=0) printf("there are 5, %ld %ld %ld %ld %ld\n",e,d,c,b,a);
else if (b!=0) printf("there are 4, %ld %ld %ld %ld\n",e,d,c,b);
else if (c!=0) printf(" there are 3,%ld %ld %ld\n",e,d,c);
else if (d!=0) printf("there are 2, %ld %ld\n",e,d);
else if (e!=0) printf(" there are 1,%ld\n",e);
}
【程序30】
題目:一個5位數,判斷它是不是迴文數。即12321是迴文數,個位與萬位相同,十位與千位相同。
#include
main( )
{
long ge,shi,qian,wan,x;
scanf("%ld",&x);
wan=x/10000;
qian=x%10000/1000;
shi=x%100/10;
ge=x%10;
if (ge==wan&&shi==qian)/*個位等於萬位並且十位等於千位*/
printf("this number is a huiwen\n");
else
printf("this number is not a huiwen\n");
}
程序31】
題目:請輸入星期幾的第一個字母來判斷一下是星期幾,如果第一個字母一樣,則繼續
判斷第二個字母。
#include
#include "conio.h" //getch 的頭文件。
void main ()
{
char letter;
printf("Please input the first letter of someday\n");
while ((letter=getch())!='Y')
{switch (letter)
{
case 'S'rintf("please input second letter\n");
if ((letter=getch())='a')
printf("saturday\n");
else
if((letter=getch())='u')
printf("sunday\n");
else printf("data error\n");
break;
case 'F'rintf("friday\n");
break;
case 'M'rintf("monday\n");
break;
case 'T'rintf("please input second letter\n");
if((letter=getch())='h')
printf("thursday\n");
else
if ((letter=getch())='u')
printf("tuesday\n");
else printf("data error\n");
break;
case 'W'rintf("wednesday\n");
break;
defaultrintf("data error\n");
}
}
}
【程序32】
題目:Press any key to change color, do you want to try it. Please hurry up!
這個題目在TC中可以運行,在VC中運行不行,誰知道可以告訴我.謝謝!
2.程序源代碼:
#include
void main(void)
{
int color;
for (color = 0; color < 8; color++)
{
textbackground(color);/*設置文本的背景顏色*/
cprintf("This is color %d\r\n", color);
cprintf("Press any key to continue\r\n");
getch();/*輸入字元看不見*/
}
}
33題目:求100之內的素數
#include
#include "math.h"
void main ()
{
int m,i,k,h=0,leap=1;
printf("\n");
for (m=1;m<=100;m++)
{
k=sqrt(m+1);
for(i=2;i<=k;i++)
if (m%i==0)
{leap=0;break;}
if(leap)
{printf("%-4d",m);
h++;
if(h%10==0)
printf("\n");
}
leap=1;
}
printf("the total is %d",h);
}