Dynamics 365 Plugin中執行AddMembersTeamRequest報Generic SQL Error
技術標籤:XD# C語言學習作業c語言
C語言練習題
目錄
- 整數簡單運算
- 四則運算
- 數位輸出
- 計算球體重量_%f的使用
- 數位輸出_三位數數位拆分
- 求整數各位之和
- 求三角形面積
- 工資發放
- 字元轉換
- 成績分級
- 分段函式1
- 利潤計算
- 和差平方與平方和差
- PM2.5
- abc組合
- 直角三角形
- 工資計算
- 整數比較1
- 整數比較3
- 成績分級_分支結構
- 階梯電價_分支結構練習
- 英文表示數字
- 數字個數統計2--迴圈條件設定練習
- 分解質因數
- 獎金計算
- 親和數
- 質數求和
整數簡單運算
題目11:整數簡單運算
問題描述:編寫程式,計算使用者輸入的兩個整數的和、差、乘積(*)和商(/)。
輸入格式:輸入兩個整數,整數之間用空格分隔。
輸出格式:輸出四個整數結果,分別表示和、差、積和商,每輸出一個結果換行。
3 4
輸出樣例:
7
-1
12
0
#include<stdio.h>
int main(){
int a,b;
scanf("%d%d",&a,&b);
printf("%d\n%d\n%d\n%d\n",a+b,a-b,a*b,a/b);
return 0;
}
四則運算
四則運算
問題描述:
輸入兩個整數和一個四則運算子,根據運算子計算並輸出其運算結果(和、差、積、商、餘之一)。注意做整除及求餘運算時,除數不能為零。
輸入說明:
使用scanf()函式輸入兩個整數和一個運算子,格式見輸入樣例。
輸出說明:
輸入樣例:
5%2
輸出樣例:
5%2=1
#include<stdio.h>
int main(){
int a,b;
char c;
scanf("%d%c%d",&a,&c,&b);
if(c=='+')
printf("%d%c%d=%d\n",a,c,b,a+b);
else if(c=='-')
printf("%d%c%d=%d\n",a,c,b,a-b);
else if(c=='*')
printf("%d%c%d=%d\n" ,a,c,b,a*b);
else if(c=='/')
printf("%d%c%d=%d\n",a,c,b,a/b);
else if(c=='%')
printf("%d%c%d=%d\n",a,c,b,a%b);
return 0;
}
//switch語句同理
數位輸出
數位輸出
問題描述:
輸入一個5位整數,求出其各數位數值,並按照從高位到低位的順序輸出,如:輸入12345,輸出為1 2 3 4 5。
輸入說明:
輸入一個五位正整數。
輸出說明:
按數位從高到低依次輸出,各數位之間以一個空格相分隔。
輸入樣例:
96237
輸出樣例:
9 6 2 3 7
#include<stdio.h>
int main(){
int a;
int num[20];
int i,j,k;
scanf("%d",&a);
i=0;
j=0;
while(a>0){
num[i]=a%10;
a=a/10;
i++;
j++;
}
for(k=i-1;k>=0;k--)
printf("%d ",num[k]);
return 0;
}
計算球體重量_%f的使用
標題
計算球體重量
描述
已知鐵的比重是7.86(克/立方厘米),金的比重是19.3(克/立方厘米)。寫一個程式,分別計算出給定直徑的鐵球與金球的質量,假定PI=3.1415926
時間限制
1
記憶體限制
10000
類別
1
輸入說明
輸入兩個整數,分別表示鐵球與金球的直徑(單位為毫米)
輸出說明
輸出兩個浮點數,分別表示鐵球與金球的質量(單位為克),小數點後保留3位小數,兩個浮點數之間用空格分隔
輸入樣例
100 100
輸出樣例
4115.486 10105.456
提示
用scanf輸入,用printf輸出,保留3位小數的格式控制字元為%.3f
#include<stdio.h>
#include<math.h>
#define pi 3.1415926
int main(){
int a,b;
double xa,xb;
scanf("%d%d",&a,&b);
xa=7.86*4/3*pi*pow(a/20.0,3);
xb=19.3*4/3*pi*pow(b/20.0,3);
printf("%.3f %.3f",xa,xb);
return 0;
}
數位輸出_三位數數位拆分
標題
數位輸出
描述
輸入一個3位整數,求出其各數位數值,並按照從高到低的順序輸出,如:輸入123,輸出1 2 3
時間限制
1
記憶體限制
10000
類別
1
輸入說明
輸入一個三位正整數
輸出說明
按數位從高到低依次輸出,各數位之間以一個空格相分離。
輸入樣例
985
輸出樣例
9 8 5
提示
輸入三位數,各數位格式輸出,從高到低,一個空格分隔,如9 8 5
#include<stdio.h>
int main(){
int a;
int num[20];
int i,j,k;
scanf("%d",&a);
i=0;
j=0;
while(a>0){
num[i]=a%10;
a=a/10;
i++;
j++;
}
for(k=i-1;k>=0;k--)
printf("%d ",num[k]);
return 0;
}
求整數各位之和
題目描述:輸入一個三位數整數,求其百位、十位和個位數字之和。
輸入格式:共一行,輸入一個三位整數。
輸出格式:共一行,輸出一個整數。
示例:
輸入:128
輸出:11
#include<stdio.h>
int main(){
int a;
int num[20],sum;
int i,j,k;
scanf("%d",&a);
i=0;
j=0;
while(a>0){
num[i]=a%10;
a=a/10;
i++;
j++;
}
sum=0;
for(k=i-1;k>=0;k--)
sum=sum+num[k];
printf("%d",sum);
return 0;
}
求三角形面積
題目描述:輸入三角形的三邊長,計算三角形的面積,結果保留兩位小數。
邊長分別為a,b,c,三角形的面積公式為s=sqrt(p(p-a)(p-b)(p-c)),其中p=(a+b+c)/2。
輸入格式:共一行,輸入三個數,保留兩位小數,用空格隔開各個資料。
輸出格式:共一行,輸出面積,結果保留兩位小數。
示例:
輸入:3.00 4.00 5.00
輸出:6.00
#include<stdio.h>
#include<math.h>
int main()
{
double a,b,c;
double p,s;
scanf("%lf%lf%lf",&a,&b,&c);
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
printf("%.2f",s);
return 0;
}
工資發放
題目描述:公司財務要發工資現金,需要提前換取100元、50元、20元、10元、5元和1元的人民幣,
請輸入工資數,計算張數最少情況下,各自需要多少張。
輸入格式:共一行,輸入一個正整數。
輸出格式:共一行,分別是100、50、20、10、5、1元面額的張數,用空格隔開各個資料。
示例:
輸入:1258
輸出:12 1 0 0 1 3
#include<stdio.h>
int main()
{
int num;
scanf("%d",&num);
printf("%d %d %d %d %d %d",num/100,(num%100)/50,((num%100)%50)/20,\
(((num%100)%50)%20)/10, ((((num%100)%50)%20)%10)/5,\
((((num%100)%50)%20)%10)%5);
return 0;
}
字元轉換
題目:字元編碼
時間限制:1S
記憶體限制:10000Kb
問題描述:
請程式設計序將“China”譯成密碼,密碼規律是:用原來字母后面第四個字母代替原來的字母。例如“A”後面的第四個字母是“E”,用“E”代替“A”,因此,“China”應譯為“Glmre”。
輸入說明:
用賦初值的方法使c1,c2,c3,c4,c5這五個變數的值分別為‘C’,‘h’,‘i’‘n’,‘a’,字元之間以空格分隔。
輸出說明:
經過運算,使c1,c2,c3,c4,c5分別變成‘G’,‘l’,‘m’,‘r’,‘e’。用printf函式輸出這五個字元
輸入樣例:
C h I n a
輸出樣例:
Glmre
int main()
{
char word[5]={'C','h','i','n','a'};
for(int i=0;i<5;i++)
word[i]=word[i]+4;
for(int i=0;i<5;i++)
printf("%c",word[i]);
return 0;
}
成績分級
題目:成績分級
時間限制:1S
記憶體限制:10000Kb
問題描述
給出以百分制成績,要求輸出成績等級為’A’,’B’,’C’,’D’,’E’。90分以上為’A’,80-89分為’B’,70-79分為’C’,60-69分為’D’,60分以下為’E’。
輸入說明:
輸入0-100內的成績
輸出說明:
輸出成績相對應的等級
輸入樣例:
95
輸出樣例:
A
#include<stdio.h>
int main()
{
int num;
scanf("%d",&num);
if(num<60)
printf("E");
else if(num>=60&&num<70)
printf("D");
else if(num>=70&&num<80)
printf("C");
else if(num>=80&&num<90)
printf("B");
else if(num>=90)
printf("A");
return 0;
}
分段函式1
題目:分段函式
時間限制:1S
記憶體限制:10000Kb
問題描述:
有一個函式:
程式設計輸出其函式值。
輸入說明:
輸入自變數x(輸入必須為整數)
輸出對應的函式值。
輸入樣例:
3
輸出樣例:
5
#include<stdio.h>
int main()
{
int x;
scanf("%d",&x);
if(x<1)
printf("%d",x);
else if(x<10&&x>=1)
printf("%d",2*x-1);
else
printf("%d",3*x-11);
return 0;
}
利潤計算
題目:利潤計算
時間限制:1S
記憶體限制:10000Kb
問題描述:
企業發放的獎金根據利潤提成。利潤I低於或者等於100000元的,獎金可提10%潤高於100000元低於200000元 時,低於100000元的部分按照10%提成,高於100000元的部分,可提成7.5%; 時,低於200000元的部分仍按上述辦法提成(下同)。高於200000元的部分按5%提成; 元時,高於400000元的部分按3%提成; 時,高於600000元的部分按照1.5%提成;I>1000000時,超過1000000元的部分按1%提成。從鍵盤輸入當月利潤I,求應發獎金總數。
輸入說明:
從鍵盤輸入當月利潤I。
輸出說明:
輸出當月應發的獎金總數,結果保留兩位小數。
輸入樣例:
150000
輸出樣例:
13750.00
#include<stdio.h>
int main()
{
int x;
scanf("%d",&x);
if(x<=100000)
printf("%.2f",0.1*x);
else if(x<200000&&x>=100000)
printf("%.2f",10000+(x-100000)*0.075);
else if(x<400000&&x>=200000)
printf("%.2f",17500+(x-200000)*0.05);
else if(x<600000&&x>=400000)
printf("%.2f",27500+(x-400000)*0.03);
else if(x<1000000&&x>=600000)
printf("%.2f",33500+(x-600000)*0.015);
else
printf("%.2f",39500+(x-1000000)*0.01);
return 0;
}
和差平方與平方和差
試題名稱
problem1-6和差平方與平方和差
時間限制:1秒
問題描述
輸入兩個大於4的正整數a和b,分別計算(a+b)2、(a-b)2、a2+b2、a2-b2,並找出其最大值和最小值。
輸入說明
輸入為2個正整數a和b,4<= a, b <1000,整數之間由空格分開
輸出說明
輸出兩個整數,分別表示(a+b)2、(a-b)2、a2+b2、a2-b2中的最大值和最小值,整數之間用空格分隔。
測試樣例:
輸入樣例1
8 10
輸出樣例1
324 -36
輸入樣例2
36 5
輸出樣例2
1681 961
#include<stdio.h>
#include<math.h>
int main()
{
int a,b;
int xpow[4];
scanf("%d%d",&a,&b);
xpow[0]=(int)pow(a+b,2);
xpow[1]=(int)pow(a-b,2);
xpow[2]=(int)pow(a,2)+(int)pow(b,2);
xpow[3]=(int)pow(a,2)-(int)pow(b,2);
for(int i=0;i<3;i++)
for(int j=i;j<4;j++)
if(xpow[i]<xpow[j]){
a=xpow[i];
xpow[i]=xpow[j];
xpow[j]=a;
}
printf("%d %d",xpow[0],xpow[3]);
return 0;
}
PM2.5
標題
PM2.5
類別
流程控制
時間限制
1S
記憶體限制
256Kb
問題描述
給出一組PM2.5資料,按以下分級標準統計各級天氣的天數,並計算出PM2.5平均值。
PM2.5分級標準為:
一級優(0<=PM2.5<=50)
二級良(51<=PM2.5<=100為)
三級輕度汙染(101<=PM2.5<=150)
四級中度汙染(151<=PM2.5<=200)
五級重度汙染(201<=PM2.5<=300)
六級嚴重汙染(PM2.5>300)
輸入說明
輸入分為兩行,
第一行是一個整數n表示天數(1<n<=100);
第二行為n個非負整數Pi(0<=Pi<=1000),表示每天的PM2.5值,整數之間用空格分隔。
輸出說明
輸出兩行資料,
第一行為PM2.5平均值,結果保留2位小數;
第二行依次輸出一級優,二級良,三級輕度汙染,四級中度汙染,五級重度汙染,六級嚴重汙染的天數。
輸入樣例
10
50 100 120 80 200 350 400 220 180 165
輸出樣例
186.50
1 2 1 3 1 2
#include<stdio.h>
int main()
{
int num;
int count[100],quality[6];
double ave=0;
int i,j;
scanf("%d",&num);
for(i=0;i<num;i++){
scanf("%d",&count[i]);
ave=ave+count[i]*1.0/num;
}
for(i=0;i<6;i++)
quality[i]=0;
for(i=0;i<num;i++){
if(count[i]<=50)
quality[0]++;
else if(count[i]<=100&&count[i]>=51)
quality[1]++;
else if(count[i]>=101&&count[i]<=150)
quality[2]++;
else if(count[i]>=151&&count[i]<=200)
quality[3]++;
else if(count[i]>=201&&count[i]<=300)
quality[4]++;
else if(count[i]>300)
quality[5]++;
}
printf("%.2f\n",ave);
for(i=0;i<6;i++)
printf("%d ",quality[i]);
}
abc組合
標題
abc組合
類別
時間限制
1S
記憶體限制
1000Kb
問題描述
已知abc+cba=n,其中a,b,c均為一位數,1000<n<2000,程式設計求出滿足條件的a,b,c所有組合。
輸入說明
一個整數n
輸出說明
按照整數abc從小到大的順序,輸出a, b, c, 用空格分隔,每輸出一組a,b,c後換行.
輸入樣例
1352
輸出樣例
3 7 9
4 7 8
5 7 7
6 7 6
7 7 5
8 7 4
9 7 3
#include<stdio.h>
int main()
{
int a,b,c,abc,cba;
int num;
scanf("%d",&num);
for(a=1;a<10;a++)
for(b=0;b<10;b++)
for(c=1;c<10;c++){
abc=a*100+b*10+c;
cba=c*100+b*10+a;
if(num==abc+cba)
printf("%d %d %d\n",a,b,c);
}
return 0;
}
直角三角形
標題
直角三角形
類別
流程控制
時間限制
1S
記憶體限制
1000Kb
問題描述
設直角三角形兩條直角邊長度為a和b,斜邊長度為c,則a,b,c滿足a2+b2=c^2,
輸入三個整數a,b,c,判斷對應的三角形是不是直角三角形,不是則輸出“no”,是則輸出其面積的2倍。
輸入說明
資料由同一行的三個整數a,b,c構成,整數之間以空格分隔
輸出說明
如果輸入的三個整數可以構成一個直角三角形,則輸出一個整數表示該三角形面積的2倍;否則輸出“no”
輸入樣例
樣例1輸入
1 1 2
樣例2輸入
3 4 5
輸出樣例
樣例1輸出
no
樣例2輸出
12
#include<stdio.h>
int main()
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
if((a*a+b*b)==c*c)
printf("%d",a*b);
else
printf("no");
return 0;
}
工資計算
題目1:工資計算
問題描述
小明的公司每個月給小明發工資,而小明拿到的工資為交完個人所得稅之後的工資。假設他一個月的稅前工資為S元,則他應交的個人所得稅按如下公式計算:
1) 個人所得稅起徵點為3500元,若S不超過3500,則不交稅,3500元以上的部分才計算個人所得稅,令A=S-3500元;
2) A中不超過1500元的部分,稅率3%;
3) A中超過1500元未超過4500元的部分,稅率10%;
4) A中超過4500元未超過9000元的部分,稅率20%;
5) A中超過9000元未超過35000元的部分,稅率25%;
6) A中超過35000元的部分,稅率30%;
例如,如果小明的稅前工資為10000元,則A=10000-3500=6500元,其中不超過1500元部分應繳稅1500×3%=45元,超過1500元不超過4500元部分應繳稅(4500-1500)×10%=300元,超過4500元部分應繳稅(6500-4500)×20%=400元。總共繳稅745元,稅後所得為9255元。
已知小明這個月稅前所得為S元,請問他的稅後工資T是多少元。
輸入格式
輸入為一個整數S,表示小明的稅前工資。所有評測資料保證小明的稅前工資為一個整百的數。
輸出格式
輸出一個整數T,表示小明的稅後工資。
樣例輸入
10000
樣例輸出
9255
評測用例規模與約定
對於所有評測用例,1 ≤ T ≤ 100000。
#include<stdio.h>
int main()
{
int s,A,T;
scanf("%d",&s);
A=s-3500;
if(s<=3500)
printf("%d",s);
else if(A<=1500&&A>0)
{
T=3500+(1-0.03)*A;
printf("%d",T);
}
else if(A>1500&&A<=4500)
{
T=3500+1455+(1-0.1)*(A-1500);
printf("%d",T);
}
else if(A>4500&&A<=9000)
{
T=3500+1455+2700+(1-0.2)*(A-4500);
printf("%d",T);
}
else if(A>9000&&A<=35000)
{
T=3500+1455+2700+3600+(A-9000)*(1-0.25);
printf("%d",T);
}
else if(A>35000)
{
T=3500+1455+2700+3600+19500+(A-35000)*0.7;
printf("%d",T);
}
return 0;
}
整數比較1
Problem 1 整數比較1
描述:
編寫程式,對於從鍵盤輸入的2個整數,先輸出較大者的個位數字,然後輸出較小者的平方值。
輸入說明:
輸入的兩個整數之間以一個空格分隔。
輸出說明:
在一行上輸出兩個整數,整數之間以一個空格分隔,最後換行。
輸入樣例
樣例1輸入
29989 372
輸出樣例
樣例1輸出
9 138384
#include<stdio.h>
int main()
{
int a,b,c;
scanf("%d%d",&a,&b);
if(a<b){
c=a;
a=b;
b=c;
}
printf("%d %d",a%10,b*b);
return 0;
}
整數比較3
Problem 3整數比較3
描述:
從鍵盤輸入四個整數,要求按由小到大的順序輸出。
輸入說明:
輸入四個整數,以空格間隔。
輸出說明:
輸出排序後的整數,以空格間隔。
輸入樣例
樣例1輸入
-99 9 99 -9
輸出樣例
樣例1輸出
-99 -9 9 99
#include<stdio.h>
int main()
{
int num[4];
int i,j,k;
for(i=0;i<4;i++)
scanf("%d",&num[i]);
for(i=0;i<3;i++)
for(j=i;j<4;j++)
if(num[i]>num[j]){
k=num[i];
num[i]=num[j];
num[j]=k;
}
for(i=0;i<4;i++)
printf("%d ",num[i]);
return 0;
}
成績分級_分支結構
標題
成績分級
描述
給出一個百分制的成績,要求輸出成績等級’A’,‘B’,‘C’,‘D’,‘E’。90分以上為’A’,8089分為’B’,7079分為’C’,60~69分為’D’,60分以下為’E’。
時間限制
1
記憶體限制
10000
類別
1
輸入說明
輸入一個百分制成績,浮點型,如78.5。
輸出說明
輸出成績和等級,成績保留兩位小數,如78.50 C
輸入樣例
78.5
輸出樣例
78.50 C
提示
格式輸出%.2f %c
#include<stdio.h>
int main()
{
double num;
scanf("%lf",&num);
if(num<60)
printf("%.2f %c",num,69);
else if(num<70&&num>=60)
printf("%.2f %c",num,68);
else if(num<80&&num>=70)
printf("%.2f %c",num,67);
else if(num<90&&num>=80)
printf("%.2f %c",num,66);
else if(num>=90)
printf("%.2f %c",num,65);
return 0;
}
階梯電價_分支結構練習
標題
階梯電價計算
描述
電價分三個檔次,一檔:0110(含110)度電,每度電0.5元;二擋:110210(含210)度電,超出110部分每度電0.55元;三擋:超過210度電,超出210部分每度電0.70元,給出一個家庭一月用電量,請計算出應繳的電費。
時間限制
1
記憶體限制
10000
類別
1
輸入說明
輸入一月用電量,正實數,如70.5。
輸出說明
輸出應繳電費、檔次和該檔超額使用的電量資料,檔次使用字母A、B和C表示,分別對應一、二和三檔,電量和電費使用浮點型,結果四捨五入,保留小數點後兩位小數
輸入樣例
70.5
輸出樣例
35.25 A 0.00
提示
格式輸出%.2f %c %.2f
#include<stdio.h>
int main()
{
double num,money;
int i,j,k;
scanf("%lf",&num);
if(num<=110)
printf("%.2f %c %.2f",num*0.5,65,0);
else if(num>110&&num<=210)
printf("%.2f %c %.2f",55+(num-110)*0.55,66,num-110);
else if(num>210)
printf("%.2f %c %.2f",55+100*0.55+(num-210)*0.7,67,num-210);
return 0;
}
英文表示數字
題目描述:輸入一個0~9的一位整數,輸出其對應的英文單詞。要求用switch結構完成。
示例:
輸入:0
輸出:zero
輸入:8
輸出:eight
#include<stdio.h>
int main()
{
int num;
scanf("%d",&num);
switch(num){
case 0:printf("zero");break;
case 1:printf("one");break;
case 2:printf("two");break;
case 3:printf("three");break;
case 4:printf("four");break;
case 5:printf("five");break;
case 6:printf("six");break;
case 7:printf("seven");break;
case 8:printf("eight");break;
case 9:printf("nine");break;
default:break;
}
}
數字個數統計2–迴圈條件設定練習
標題
數字個數統計2
描述
輸入一個正整數N(300≤N≤500),統計N(1~N)以內奇數、偶數和能分別被3、5、7整除的數字個數。
時間限制
1
記憶體限制
10000
類別
1
輸入說明
輸入正整數N(300≤N≤500),如452
輸出說明
輸出N以內奇數、偶數和能分別被3、5、7整除的數字個數
輸入樣例
452
輸出樣例
226 226 150 90 64
提示
編制子函式雙數Even()、單數Odd()、Sum_3()、Sum_5()和Sum_7()分別實現數字統計和輸出,無返回值,各輸出之間空一個空格;
主函式呼叫
#include<stdio.h>
void Even(int x);//雙數
void Odd(int x);//單數
void Sum_3(int x);
void Sum_5(int x);
void Sum_7(int x);
int main()
{
int num;
scanf("%d",&num);
if(num<=500&&num>=300){
Odd(num);//單數
Even(num);//雙數
Sum_3(num);
Sum_5(num);
Sum_7(num);
}
return 0;
}
void Even(int x){
printf("%d ",x/2);
}
void Odd(int x){
if(x%2==0)
printf("%d ",x/2);
else
printf("%d ",x/2+1);
}
void Sum_3(int x){
printf("%d ",x/3);
}
void Sum_5(int x){
printf("%d ",x/5);
}
void Sum_7(int x){
printf("%d",x/7);
}
分解質因數
分解質因數
題目描述:
每個非素數(合數)都可以寫成幾個素數(也可稱為質數)相乘的形式,
這幾個素數就都叫做這個合數的質因數。編寫程式將一個正整數分解質因數
輸入描述:
輸入一個正整數n(2<n<1000)
輸出描述:
形如abb*c,質因數按照從小到大的順序排列
輸入樣例:
90
輸出樣例:
233*5
#include<stdio.h>
int prine(int i);
int main()
{
int number;
int c,d;
scanf("%d", &number);
int i = 2;
do
{
if (!prine(i))
{
while (number%i == 0)
{
if (number%i == 0 && number / i != 1) printf("%d*", i);
else if (number%i == 0 && number / i == 1) printf("%d", i);
number /= i;
}
}
i++;
} while (number != 1);
return 0;
}
int prine(int i)
{
int c,d;
c=0;
for (int b = 2; b < i; b++)
{
d = i%b;
if (!d)
{
c = 1;
break;
}
}
return c;
}
獎金計算
2-6 獎金計算
時間限制:1 S
問題描述:
企業發放的獎金根據利潤提成。利潤低於或等於100000元的,獎金可提10%;
利潤高於100000元,低於等於200000元(100000<I≤200000)時,低於等於100000元的部分按10%提成,高於100000元的部分,可提成 7.5%;
200000<I≤400000時,低於等於200000元部分仍按上述辦法提成,(下同),高於200000元的部分按5%提成;
400000<I≤600000元時,高於400000元的部分按3%提成;
600000<I≤1000000時,高於600000元的部分按1.5%提成;
I>1000000時,超過1000000元的部分按1%提成。從鍵盤輸入當月利潤I,求應發獎金總數。
輸入為一個整數(≤1200000),當月利潤。
輸出一個整數,獎金。
輸入示例
900
輸出示例
90
#include<stdio.h>
int main()
{
int x;
double a,b,c,d,e,f;
scanf("%d",&x);
a=0.1*x;
b=10000+(x-100000)*0.075;
c=17500+(x-200000)*0.05;
d=27500+(x-400000)*0.03;
e=33500+(x-600000)*0.015;
f=39500+(x-1000000)*0.01;
if(x<=100000)
printf("%d",(int)a);
else if(x<200000&&x>=100000)
printf("%d",(int)b);
else if(x<400000&&x>=200000)
printf("%d",(int)c);
else if(x<600000&&x>=400000)
printf("%d",(int)d);
else if(x<1000000&&x>=600000)
printf("%d",(int)e);
else
printf("%d",(int)f);
return 0;
}
親和數
problem 4-6 親和數
時間限制:1S
題目描述:
古希臘數學家畢達哥拉斯在自然數研究中發現,220 的所有真約數(即不是自身的約數)之和為:
1+2+4+5+10+11+20+22+44+55+110=284
而 284 的所有真約數為 11、22、44、7171、142142,加起來恰好為 220。人們對這樣的數感到很驚奇,並稱之為親和數。
一般地講,如果兩個數中任何一個數都是另一個數的真約數之和,則這兩個數就是親和數。
你的任務就編寫一個程式,判斷給出的兩個整數m和n是不是親和數(m和n可以相同)。
輸入說明
輸入為兩個整數n和m,(1<n,m≤10000),n和m之間用空格分隔
輸出說明
在同一行上輸出為三項,用空格分隔。
第一項表示判斷結果,如果兩個數是親和數輸出yes,否則輸出no;
第二項是一個整數,表示n的真約數個數;
第三項是一個整數,表示m的真約數個數。
測試樣例
輸入樣例1:
220 284
輸出樣例1:
yes 11 5
輸入樣例2:
4 3
輸出樣例2:
no 2 1
#include<stdio.h>
int main()
{
int a,b,i,sum1=0,sum2=0,n=0,m=0;
scanf("%d %d",&a,&b);//輸入a,b
for(i=1;i<a;i++)
{
if(a%i==0)
{
sum1=sum1+i;
n=n+1;
}
}
for(i=1;i<b;i++)
{
if(b%i==0)
{
sum2=sum2+i;
m=m+1;
}
}//算a,b各自公約數之和
if(sum1==b&&sum2==a)
{
printf("yes ");
printf("%d %d",n,m);
}
else
{
printf("no ");
printf("%d %d",n,m);
}
return 0;
}
質數求和
problem 4-6 質數求和
時間限制:1S
問題描述
輸入一個大於20的正整數p,求出正整數範圍內第p個質數(或素數,大於1且只能被1和自己整除的正整數,)到第p+10個質數之和。其中,第1個質數為2,第2個質數為3,第3個質數為5,第4個質數為7,依次類推。
輸入說明
一行輸入1個整數p,20< p <150。
輸出說明
第p個質數到第p+10個質數之和。
輸入樣例:
21
輸出樣例:
1081
#include<stdio.h>
int prine(int i);
int main()
{
int p;
int i,j,k,flag;
int sum=0;
scanf("%d",&p);
j=1;
flag=0;
for(i=3;i<65000;i++){
if(!prine(i)){
if(flag==1){
sum=sum+i;
}
j++;
if(j==p+10)
break;
}
if(j==p-1){
flag=1;
}
}
printf("%d",sum);
return 0;
}
int prine(int i)
{
int c,d;
c=0;
for (int b = 2; b < i; b++)
{
d = i%b;
if (!d)
{
c = 1;
break;
}
}
return c;
}
歡迎打賞三連