计算A-B的值 输入描述:
输入两个整数 a,b 输出描述描述:
输出a-b的结果
样式输入:7 4 样式输出:3
源代码:
1 2 3 4 5 6 7 8 #include <stdio.h> int main () { int a,b; scanf ("%d%d" ,&a,&b); printf ("%d" ,a-b); return 0 ; }
找出最重的苹果 题目描述:
小明有n个苹果(n<20),每一个苹果都有一定的重量,请找出最重的苹果,并输出该苹果的重量
输入描述:
第一个整数是n,表示苹果的个数,接下来的n个整数是苹果的重量,每个整数之间用空格隔开
输出描述描述:
最重的苹果的重量
样式输入: 2 45 93样式输出: 93源代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 #include <stdio.h> int main () { int n,i,max,a[20 ]; scanf ("%d" ,&n); for (i=0 ;i<n;i++) scanf ("%d" ,&a[i]); max=a[0 ]; for (i=1 ;i<n;i++) if (a[i]>max) max=a[i]; printf ("%d" ,max); return 0 ; }
汽水瓶 题目描述:
有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶, 方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?
输入描述:
输入为一个正整数n(1<=n<=100),表示空汽水瓶个数。
输出描述描述:
输出为一个正整数,表示可换汽水的瓶数。
样式输入: 10样式输出: 5源代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #include <stdio.h> int main () { int n,sum=0 ; scanf ("%d" ,&n); while (n) { sum+=n/3 ; n=n%3 +n/3 ; if (n==2 ) { sum++; break ; } if (n==1 ) break ; } printf ("%d" ,sum); return 0 ; }
密码破译 题目描述: 某组织欲破获一个外星人的密码,密码由一定长度的字串组成。此组织拥有一些破译此密码的长度不同的钥匙,若两个钥匙的长度之和恰好为此密码的长度,则此密码被成功破译。现在就请你编程找出能破译此密码的两个钥匙。输入描述: 输入第一行为钥匙的个数N(1≤N≤5000) 输入第二行为密码的长度 以下N行为每个钥匙的长度 输出描述描述: 若无法找到破译此密码的钥匙,则输出仅1行0 。若找到两把破译的钥匙,则输出有两行,分别为两把钥匙的编号。若有多种破译方案,则只输出一种即可。样式输入:
10 80 27 9 4 73 23 68 12 64 92 24
样式输出:
6 7
源代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #include <stdio.h> int main () { int n,len,s[100 ],a=0 ,b=0 ,i,j; scanf ("%d" ,&n); scanf ("%d" ,&len); for (i=0 ;i<n;i++) scanf ("%d" ,&s[i]); for (i=0 ;i<n-1 ;i++) for (j=i+1 ;j<n;j++) if (s[i]+s[j]==len) { a=i+1 ; b=j+1 ; break ; } if (a!=0 &&b!=0 ) printf ("%d\n%d" ,a,b); else printf ("0" ); return 0 ; }
最大公约数 题目描述: 输入两个整数a,b(1≤a,b≤100000),请编写程序求出他们的最大公约数。输入描述: 输入两个整数a b,用空格隔开输出描述描述: 输出对应a,b的最大公约数样式输入:
25 10
样式输出:
5
源代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 #include <stdio.h> int main () { int min,a,b,i; scanf ("%d%d" ,&a,&b); min=(a>b)?b:a; for (i=min;i>=1 ;i--) if (a%i==0 &&b%i==0 ) { printf ("%d" ,i); break ; } return 0 ; }
字符串比对 题目描述: 有字符串a(长度<=100),b(长度<=10),计算b串在a串中出现的次数。解题思路: 1、用gets语句从键盘输入两个字符串赋予a,b字符数组; 2、建立两层嵌套循环,外循环至a串结束标志为止,内循环至b串结束标志为止; 3、内循环中比对b串与a串的数据,满足条件时计数,否则break; 4、所有循环结束后输出计数值。输入描述: 输入为两个字符串,第一个字符串长度小于100,第二个字符串长度小于10;输出描述描述: 输出为一个正整数;样式输入:
abcdefghijklmnababcdeabc abc
样式输出:
3
源代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 #include <stdio.h> #include <string.h> int main () { char a[100 ],b[10 ]; int i,j,len1,len2,s,sum=0 ,k; gets(a); gets(b); len1=strlen (a); len2=strlen (b); for (i=0 ;i<(len1-len2+1 );i++) { k=i; s=0 ; for (j=0 ;j<len2;j++) if (b[j]==a[i]) { s++; i++; } i=k; if (s==len2) sum++; } printf ("%d" ,sum); return 0 ; }
围圈报数 题目描述: 有n(n<=100)围成一圈,顺序排号(从1排到n)。 从第一个人开始报数(从1报到m(m<=9)),凡报到m的人退出圈子,问最后留下的是原来第几号的那位?解题思路: 1、定义一个长度为100数组a,初始化为0; 2、接收键盘输入值n,m,数组a的前n-1个元素赋值为1~n; 3、建立两层嵌套循环,外循环至退出人数为n-1为止, 内循环中从0循环至n,将a数组中非0的数据逢m置零,同时记录退出人数; 4、循环全部结束后输出最后留下的一个a数组的非零元素的值。输入描述: 输入为两个正整数,第一个<=100,第二个<=9;输出描述描述: 输出为一个正整数;样式输入:
100 3
样式输出:
91
源代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 #include <stdio.h> int main () { int a[100 ]; int n,m,i,sum=0 ,k=0 ; scanf ("%d%d" ,&n,&m); for (i=0 ;i<n;i++) a[i]=i+1 ; while (sum>=0 ) { for (i=0 ;i<n;i++) if (a[i]!=0 ) { k++; if (k==m) { a[i]=0 ; k=0 ; sum++; } } if (sum==n-1 ) break ; else i=0 ; } for (i=n-1 ;i>=0 ;i--) if (a[i]!=0 ) printf ("%d" ,a[i]); return 0 ; }
星期几? 题目描述: 编一个程序,已知今天是星期几,计算出n天后是星期几。要求使用枚举变量。 提示:枚举变量的赋值只能用枚举常量来表示,但是枚举常量均有一个整形数代表,可将改整形数存入枚举变量地址以实现外部赋值的目的。 如:enum day{Sun,Mon,Tue,Wed,Thu,Fri,Sat} d1; scanf("%d",&d1);
当键盘输入1时,相当于将d1赋值为Mon,即d1=Mon 枚举变量的输出,只能输出其代表的整形数,如需输出其对应的枚举常量,可借助字符串数组的方式处理; 如:char *p[]={“Sun”,“Mon”,“Tue”,"Wed","Thu","Fri","Sat"}; printf("%s",*(p+2));
其输出结果为:Tue输入描述: 输入为两个正整数,第一个数n(n<=6)表示今天是星期几,第二个数m(m<=1000),表示求m天后是星期几; 输出描述描述: 输出为一个长度为3的字符串,表示星期几的名称; 样式输入:
1 4
样式输出:
Fri
源代码
1 2 3 4 5 6 7 8 9 10 11 12 13 #include <stdio.h> int main () { int m; char p[][4 ]={"Sun" ,"Mon" ,"Tue" ,"Wed" ,"Thu" ,"Fri" ,"Sat" }; enum day { Sun,Mon,Tue,Wed,Thu,Fri,Sat} n; scanf ("%d%d" ,&n,&m); m%=7 ; n+=m; n%=7 ; printf ("%s" ,*(p+n)); return 0 ; }
整数各位取奇数 题目描述: 将一个整数中的每一位上为奇数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。 例如,当s中的数为:87653142时,t中的数为:7531。(知识点:控制语句、函数、指针) 输入描述: 输入数据为一个不大于100000000的整形数;输出描述描述: 输出数据为一个不大于100000000的整形数;样式输入:
987654321
样式输出:
97531
源代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 #include <stdio.h> int main () { int s,i,k=0 ; int a[100 ]; scanf ("%d" ,&s); while (s) { if ((s%10 )%2 !=0 ) a[k++]=s%10 ; s/=10 ; } for (i=k-1 ;i>=0 ;i--) printf ("%d" ,a[i]); return 0 ; }
四位反序数 题目描述: 设N是一个四位数,它的n倍恰好是其反序数(例如:123的反序数是321), 编程,输出一个满足条件的N。(知识点:控制语句)输入描述: 输入为一个整形数n(2<=n<=9)输出描述描述: 输出为一个四位数的整形数样式输入:
9
样式输出:
1089
源代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 #include <stdio.h> int main () { int n,i,k,a,b,sum; scanf ("%d" ,&n); for (i=1000 ;i<10000 ;i++) { sum=i; b=0 ; k=i*n; while (sum) { a=sum%10 ; b=b*10 +a; sum/=10 ; } if (k==b) { printf ("%d" ,i); break ; } } return 0 ; }
字母翻译 题目描述: 编程: 求解下列式中各字母代表的数字并输出 PEAR-ARA=PEA(知识点:控制语句) 输入描述: 无输出描述描述: 输出为四个数字,以空格分开,依次为代表P E A R 的数字;样式输入:
无
样式输出:
8 7 6 5
源代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 #include <stdio.h> int main () { int p,e,a,r,x,y,z; for (p=1 ;p<=9 ;p++) for (e=0 ;e<=9 ;e++) for (a=1 ;a<=9 ;a++) for (r=0 ;r<=9 ;r++) { x=p*1000 +e*100 +a*10 +r; y=a*100 +r*10 +a; z=p*100 +e*10 +a; if (x-y==z) printf ("%d %d %d %d" ,p,e,a,r); } return 0 ; }
字符串复制 题目描述: 有一个字符串,包括n个字符。写一个函数,将此字符串从第m个字符开始的全部字符复制成另一个字符串。要求在主函数输入字符串及m值并输出复制结果。(知识点:控制语句、字符串、指针) 输入描述: 输入为一个字符串(长度小于80)及一个整形数(小于字符串的实际长度)输出描述描述: 输出为一个字符串样式输入:
abcdefghijklmnopqrst 8
样式输出:
hijklmnopqrst
源代码
1 2 3 4 5 6 7 8 9 10 11 12 #include <stdio.h> int main () { char a[80 ]; char *p; int n; gets(a); scanf ("%d" ,&n); p=a+n-1 ; printf ("%s" ,p); return 0 ; }
二维字符数组转换 题目描述: 编写函数fun, 函数的功能是: 将M行N列的二维数组中的字符数据, 按列的 顺序依次放到一个字符串中。 例如, 二维数组中的数据为: W W W W S S S S H H H H 则字符串中的内容应是: WSHWSHWSH。(知识点:数组、指针) 输入描述: 输入为一个3行4列二维字符数组数据输出描述描述: 输出为一个长度为12的字符数组;样式输入:
A B C D E F G H I J K L
样式输出:
AEIBFJCGKDHL
源代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #include <stdio.h> void fun (char a[3 ][5 ]) { int i,j,k=0 ; char s[13 ]; for (i=0 ;i<4 ;i++) for (j=0 ;j<3 ;j++) printf ("%c" ,a[j][i]); } int main () { int i,j; char a[3 ][5 ],*p; for (i=0 ;i<3 ;i++) for (j=0 ;j<4 ;j++) { scanf ("%c" ,&a[i][j]); getchar(); } fun(a); return 0 ; }
年龄分组 题目描述: 统计各年龄段的人数。N(N=20)个年龄通过键盘输入,并放在age数组中; 要求函数把0至9岁年龄段的人数放在d[0]中,把10至19岁年龄段的人数放在d[1]中, 把20至29岁年龄段的人数放在d[2]中, 其余依此类推, 把100岁 (含100)以上年龄的人数都放在d[10]中。依次输出d[0]至d[10]。输入描述: 输入为20个正整数;输出描述描述: 输出为11个正整数; 样式输入:
1 2 11 12 22 23 33 34 44 45 55 56 66 67 68 88 99 100 101 102
样式输出:
2 2 2 2 2 2 3 0 1 1 3
源代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 #include <stdio.h> int main () { int a[20 ]; int d[11 ]={0 }; int i; for (i=0 ;i<20 ;i++) scanf ("%d" ,&a[i]); for (i=0 ;i<20 ;i++) { if (a[i]>=0 && a[i]<=9 ) d[0 ]++; else if (a[i]>=10 && a[i]<=19 ) d[1 ]++; else if (a[i]>=20 && a[i]<=29 ) d[2 ]++; else if (a[i]>=30 && a[i]<=39 ) d[3 ]++; else if (a[i]>=40 && a[i]<=49 ) d[4 ]++; else if (a[i]>=50 && a[i]<=59 ) d[5 ]++; else if (a[i]>=60 && a[i]<=69 ) d[6 ]++; else if (a[i]>=70 && a[i]<=79 ) d[7 ]++; else if (a[i]>=80 && a[i]<=89 ) d[8 ]++; else if (a[i]>=90 && a[i]<=99 ) d[9 ]++; else d[10 ]++; } for (i=0 ;i<10 ;i++) printf ("%d " ,d[i]); printf ("%d" ,d[10 ]); return 0 ; }
分数数列求和 题目描述: 有一个分数数列为: 2/1,3/2,4/3,5/4…… 求出这个数列的前n(n<=20)项之和,保留小数点后4位。输入描述: 输入一个整数n(n<=20); 输出描述描述: 输出为一个小数,保留小数点后4位;样式输入:
5
样式输出:
7.2833
源代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 #include <stdio.h> int main () { int i,k; double m,n,a[20 ]; scanf ("%d" ,&k); a[0 ]=2 ; for (i=1 ,m=3 ,n=2 ;i<20 ;i++) { a[i]=a[i-1 ]+m/n; m++; n++; } printf ("%.4lf" ,a[k-1 ]); return 0 ; }
杨辉三角形 题目描述: 输出n行杨辉三角形,如下: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 ……………………输入描述: 输入为一个正整数n<n<=10);输出描述描述: 输出为n行杨辉三角形;样式输入:
3
样式输出:
1 1 1 1 2 1
源代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 #include <stdio.h> int main () { int a[10 ][10 ]; int i,j,n; scanf ("%d" ,&n); if (n>1 ) { for (i=0 ;i<n-1 ;i++) { a[i][0 ]=1 ; printf ("%d" ,a[i][0 ]); for (j=1 ;j<i;j++) { a[i][j]=a[i-1 ][j-1 ]+a[i-1 ][j]; printf (" %d" ,a[i][j]); } if (i>0 ) { a[i][i]=1 ; printf (" %d" ,a[i][i]); } printf ("\n" ); } a[n-1 ][0 ]=1 ; printf ("%d " ,a[n-1 ][0 ]); for (j=1 ;j<n-1 ;j++) { a[n-1 ][j]=a[n-2 ][j-1 ]+a[n-2 ][j]; printf ("%d " ,a[n-1 ][j]); } a[n-1 ][n-1 ]=1 ; printf ("%d" ,a[n-1 ][n-1 ]); } else printf ("1" ); return 0 ; }
鞍点 题目描述: 找出一个二维数组中的鞍点,即该位置上的元素在该行上最大、在该列上最小。也可能没有鞍点。输入描述: 输入一个3行3列的二维整形数组;输出描述描述: 如果鞍点存在,输出其坐标;否则输出-1;如:鞍点位于第一行第三列,则输出1 3;样式输入:
1 2 3 4 5 6 7 8 9
样式输出:
1 3
源代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 #include <stdio.h> int main () { int a[3 ][3 ],i,j,max,min,k1,k2,k,sum=0 ; for (i=0 ;i<3 ;i++) for (j=0 ;j<3 ;j++) scanf ("%d" ,&a[i][j]); for (i=0 ;i<3 ;i++) { max=a[i][0 ]; k1=0 ; for (j=1 ;j<3 ;j++) if (max<a[i][j]) { max=a[i][j]; k1=j; } min=a[0 ][k1]; k2=0 ; for (k=1 ;k<3 ;k++) if (min>a[k][k1]) { min=a[k][k1]; k2=k; } if (k2==i) { sum++; printf ("%d %d" ,i+1 ,k1+1 ); } } if (sum==0 ) printf ("-1" ); return 0 ; }
最长单词 题目描述: 输入一个字符串,将其中最长的单词输出(不含标点符号);如果最长单词的数量有多个,输出第一个即可;注:大写字母的ascii码从65~90
,小写字母的ascii码从97~122
; 输入描述: 输入为长度小于100的字符串;输出描述描述: 输出为长度小于100的字符串;样式输入:
Helo!I am chinese,nice to meet you!
样式输出:
chinese
源代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 #include <stdio.h> #include <string.h> int main () { int i,j=1 ,len,len1,len2,k=0 ,max=0 ,s[100 ]={0 }; char a[100 ],b[100 ],c[100 ]; gets(a); len=strlen (a); for (i=0 ;i<len;i++) { if ((a[i]<='z' && a[i]>='a' ) || (a[i]>='A' && a[i]<='Z' )) { s[j]++; b[k]=a[i]; k++; } else { b[k]='\0' ; if (s[j]>max) { max=s[j]; strcpy (c,b); } k=0 ; j++; } } len2=strlen (c); for (i=0 ;i<len2;i++) printf ("%c" ,c[i]); return 0 ; }
查找不同的木棍 题目描述: 小明的收集了一些木棍,并测量了每个木棍的长度,记录下来.假设小明有奇数根木棍,只有一个木棍找不到跟它一样长的另外一根木棍.请编程找出这个没有相同长度的木棍,输出它的长度.知识点: 排序;或者用异或操作 0 异或x=x;x异或x=0;a异或b异或c=a异或(b异或c)=(a异或b)异或c=a异或c异或b 输入描述: 输入包含一个奇数n(n<30000),然后是n个整数,表示每个木棍的长度,并保证只有一根木棍找不到跟他一样长的木棍.输出描述描述: 输出符合条件的木棍的长度样式输入:
5 22 76 87 76 22
样式输出:
87
源代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 #include <stdio.h> int main () { int a[30000 ],i,n,j,k,sum=0 ; scanf ("%d" ,&n); for (i=0 ;i<n;i++) scanf ("%d" ,&a[i]); for (i=0 ;i<n;i++) if (a[i]==0 ) k=0 ; for (i=0 ;i<n-1 ;i++) for (j=i+1 ;j<n;j++) if (a[i]==a[j]) { a[i]=0 ; a[j]=0 ; } for (i=0 ;i<n;i++) if (a[i]!=0 ) { sum++; printf ("%d" ,a[i]); } if (sum==0 ) printf ("0" ); return 0 ; }
最长上升子序列数(闫博钊) 题目描述: 一个数的序列bi,当b1<b2<...<bS
的时候,我们称这个序列是上升的。对于给定的一个序列(a1,a2,…,aN),我们可以得到一些上升的子序列(ai1,ai2,…,aiK),这里1<=i1<i2<...<iK<=N
。比如,对于序列(1,7,3,5,9,4,8),有它的一些上升子序列,如(1,7),(3,4,8)等等。这些子序列中最长的长度是4,比如子序列(1,3,5,8) 你的任务,就是对于给定的序列,求出最长上升子序列的长度。输入描述: 第一行输入序列的长度N(1<=N<=1000)。第二行给出序列中的N个整数,这些整数的取值范围都在0到10000。输出描述描述: 输出最长上升子序列的长度样式输入:
7 1 7 3 5 9 4 8
样式输出:
4
源代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #include <stdio.h> int main () { int n,i,j,max=0 ; int a[1000 ],b[1000 ]; scanf ("%d" ,&n); for (i=0 ;i<n;i++) scanf ("%d" ,&a[i]); for (i=0 ;i<n;i++) b[i]=1 ; for (i=n-1 ;i>=1 ;i--) for (j=i-1 ;j>=0 ;j--) if (a[j]<a[i]&&b[j]==b[i]) b[j]++; for (i=0 ;i<n;i++) if (max<b[i]) max=b[i]; printf ("%d" ,max); return 0 ; }
求反顺序数 题目描述: 输入一个正整数,要求以相反的顺序输出该数。例如输入12345,输出位54321 输入描述: 输入一个整数n, 输出描述描述: 输出一个反顺序的数样式输入:
123456
样式输出:
654321
源代码
1 2 3 4 5 6 7 8 9 10 11 12 #include <stdio.h> #include <string.h> int main () { int len,i; char a[100 ]; scanf ("%s" ,a); len=strlen (a); for (i=len-1 ;i>=0 ;i--) printf ("%c" ,a[i]); return 0 ; }
求三个整数的最大公约数 题目描述: 对任意三个整数,求它们的最大公约数输入描述: 三个整数a,b,c输出描述描述: a,b,c的最大公约数样式输入:
4 24 32
样式输出:
4
源代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 #include <stdio.h> int main () { int a,b,c,max,i,k=0 ,m=0 ,n=0 ; int A[100 ]={1 },B[100 ],C[100 ]; scanf ("%d%d%d" ,&a,&b,&c); for (i=1 ;i<=a;i++) if (a%i==0 ) { A[k]=i; k++; } for (i=0 ;i<k;i++) if (b%A[i]==0 ) { B[m]=A[i]; m++; } for (i=0 ;i<m;i++) if (c%B[i]==0 ) { C[n]=B[i]; n++; } printf ("%d" ,C[n-1 ]); return 0 ; }
第几天 题目描述: 输入某年某月某日,判断这一天是这一年的第几天? 程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天, 特殊情况,闰年且输入月份大于3时需考虑多加一天。输入描述: 输入为三个整数,分别表示年、月、日;输出描述描述: 输出为一个整数,表示输入的年月日为当年的第几天;样式输入:
2010 1 1
样式输出:
1
源代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 #include <stdio.h> int main () { int yy,m,dd,n; scanf ("%d%d%d" ,&yy,&m,&dd); if (m==1 ) n=dd; else if (m==2 ) n=31 +dd; else if (m==3 ) n=59 +dd; else if (m==4 ) n=90 +dd; else if (m==5 ) n=120 +dd; else if (m==6 ) n=151 +dd; else if (m==7 ) n=181 +dd; else if (m==8 ) n=212 +dd; else if (m==9 ) n=243 +dd; else if (m==10 ) n=273 +dd; else if (m==11 ) n=304 +dd; else n=334 +dd; if (yy%400 ==0 || (yy%4 ==0 && yy%100 !=0 )) if (m>2 ) n++; printf ("%d" ,n); return 0 ; }
发放奖金 题目描述: 某车间按工人加工零件的数量发放奖金,奖金分为五个等级:每月加工零件数N < 100者奖金为10元;100 < = N < 110者奖金为30元;110 < = N <120 者奖金为50元;120 < = N <130 者奖金为70元;N > 130者奖金为80元。 请编程,由键盘输入加工零件数量,显示应发奖金数。输入描述: 输入10个加工零件数量,数量小于400.输出描述描述: 对每一个加工零件个数,输出应发奖金数,每个奖金数之间用空格隔开样式输入:
85 85 85 85 85 85 85 85 85 85
样式输出:
10 10 10 10 10 10 10 10 10 10
源代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 #include <stdio.h> int main () { int a[10 ],i,b[10 ]; for (i=0 ;i<10 ;i++) scanf ("%d" ,&a[i]); for (i=0 ;i<10 ;i++) { if (a[i]<100 ) b[i]=10 ; else if (a[i]>=100 &&a[i]<110 ) b[i]=30 ; else if (a[i]>=110 &&a[i]<120 ) b[i]=50 ; else if (a[i]>=120 &&a[i]<130 ) b[i]=70 ; else b[i]=80 ; } for (i=0 ;i<9 ;i++) printf ("%d " ,b[i]); printf ("%d" ,b[9 ]); return 0 ; }
更多 更多题库链接 ,