C语言例题整理
40个C语言的基础编程题
{ sn=sn+2*hn;/*第 n 次落地时共经过的米数*/ hn=hn/2; /*第 n 次反跳高度*/ printf("the total of road is %f\n",sn); printf("the tenth is %f meter\n",hn);} }
再加上 168 又是一个完全平方数, 请问该数是多少? 1.程序分析:在 10 万以内判断,先将该数加上 100 后再开方,再将该数加上 268 后再开方,如果开方后 的结果满足如下条件,即是结果。请看具体分析: 2.程序源代码: #include "math.h" main() { long int i,x,y,z; for (i=1;i<100000;i++) { x=sqrt(i+100); 果*/ y=sqrt(i+268); 结果*/ if(x*x==i+100&&y*y==i+268)/*如果一个数的 平方根的平方等于该数,这说明此数是完全平方数*/ printf("\n%ld\n",i); }} ======================================== 【程序 12】 题目:输入三个整数 x,y,z,请把这三个数由小到大 输出。 1.程序分析:我们想办法把最小的数放到 x 上,先将 x 与 y 进行比较, 如果 x>y 则将 x 与 y 的值进行交换, 然后再用 x 与 z 进行比较, 如果 x>z 则将 x 与 z 的值 进行交换,这样能使 x 最小。 2.程序源代码: main() {int x,y,z,t; /*以下为三重循环*/ scanf("%d%d%d",&x,&y,&z); if (x>y) {t=x;x=y;y=t;} /*交换 x,y 的值*/ /*确保 i、j、 if(x>z) {t=z;z=x;x=t;}/*交换 x,z 的值*/ if(y>z) {t=y;y=z;z=t;}/*交换 z,y 的值*/ printf("small to big: %d %d %d\n",x,y,z);} ======================================== 【程序 13】 题目:用*号输出字母 C 的图案。 /*y 为再加上 168 后开方后的 /*x 为加上 100 后开方后的结
c语言20题
1.计算球体积Problem Description根据输入的半径值,计算球的体积。
Input输入数据有多组,每组占一行,每行包括一个实数,表示球的半径。
Output输出对应的球的体积,对于每组输入数据,输出一行,计算结果保留三位小数。
Sample Input1 1.5Sample Output4.189 14.1372.成绩转换Problem Description输入一个百分制的成绩t,将其转换成对应的等级,具体转换规则如下:90~100为A;80~89为B;70~79为C;60~69为D;0~59为E;Input输入数据有多组,每组占一行,由一个整数组成。
Output对于每组输入数据,输出一行。
如果输入数据不在0~100范围内,请输出一行:“Score is error!”。
Sample Input56 67 100 123Sample OutputE D A Score is error!3.第几天?Problem Description给定一个日期,输出这个日期是该年的第几天。
Input输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。
Output对于每组输入数据,输出一行,表示该日期是该年的第几天。
Sample Input1985/1/20 2006/3/12Sample Output20 714.求奇数的乘积Problem Description给你n个整数,求他们中所有奇数的乘积。
Input输入数据包含多个测试实例,每个测试实例占一行,每行的第一个数为n,表示本组数据一共有n个,接着是n个整数,你可以假设每组数据必定至少存在一个奇数。
Output输出每组数中的所有奇数的乘积,对于测试实例,输出一行。
Sample Input3 1 2 34 2 3 4 5Sample Output3 155.平方和与立方和Problem Description给定一段连续的整数,求出他们中所有偶数的平方和以及所有奇数的立方和。
40个C语言的基础编程题
C语言基础编程题【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....2.程序源代码:main(){long f1,f2;int i;f1=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; /*前两个月加起来赋值给第三个月*/ }}================================= =======【程序2】题目:判断101-200之间有多少个素数,并输出所有素数。
1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。
2.程序源代码:#include "math.h"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);} ========================================【程序3】题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。
c语言经典题
以下是一些经典的C语言题目:
1. 计算斐波那契数列的第n项
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. 实现字符串匹配算法(KMP算法)
27. 实现回文判断算法(Manacher算法)
28. 实现字符串分割算法(Strtok算法)
29. 实现字符串转换算法(Base64算法)
30. 实现字符串加密算法(Caesar算法)。
C语言经典例题及答案
一、求一个任意边长的矩形面积。
#include <stdio.h>void main(){int w,h,sum;scanf("%d%d",&w,&h);sum=w*h;printf("area=%d\n",sum);}二、求一个任意半径的圆的面积及周长。
#define PI 3.14159#include <stdio.h>void main(){float r,area,c;scanf("%f",&r);area=PI*r*r;c=2*PI*r;printf("area=%f\ncircle=%f\n",area,c);}三、已知:w=5, y=4, z=2, 求表达式:w*y/z的值,并输出。
##include <stdio.h>void main(){ int w,y,z,r;w=5;y=4;z=2;r=w*y/z;printf("%5d",r);}一、从键盘上输入三个数,求出其中的最大值,并输出。
#include <stdio.h>void main(){int a,b,c,max;scanf("%d%d%d",&a,&b,&c);max=a;if(max<b) max=b;if(max<c) max=c;printf("max=%d\n",max);}二、求sin300。
+sin600+cos300+cos600之和。
(注意:30*3.14159/180)#include <stdio.h>#define PI 3.14159#include <math.h>void main(){float a,b,sum;a=30*PI/180;b=60*PI/180;sum=sin(a)+sin(b)+cos(a)+cos(60);printf("total=%f\n",sum);}三、比较两个数的大小。
c语言经典题目100题
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.链表创建39.链表插入40.链表删除41.链表搜索42.链表反转43.链表排序44.链表合并45.链表复制46.链表释放47.树创建48.树插入49.树删除50.树搜索51.树反转52.树排序53.树合并54.树复制55.树释放56.堆创建57.堆插入58.堆删除59.堆搜索60.堆反转61.堆排序62.堆合并63.堆复制64.堆释放65.图创建66.图插入67.图删除68.图搜索69.图反转70.图排序71.图合并72.图复制73.图释放74.队列创建75.队列插入76.队列删除77.队列搜索78.队列反转79.队列排序80.队列合并81.队列复制82.队列释放83.栈创建84.栈插入85.栈删除86.栈搜索87.栈反转88.栈排序89.栈合并90.栈复制91.栈释放92.哈希表创建93.哈希表插入94.哈希表删除95.哈希表搜索96.哈希表反转97.哈希表排序98.哈希表合并99.哈希表复制100.哈希表释放。
C语言编程实例100题(带解析适合新手超经典)
C语言程序实例100个(一)【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。
组成所有的排列后再去掉不满足条件的排列。
2.程序源代码: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.程序分析:请利用数轴来分界,定位。
注意定义时需把奖金定义成长整型。
2.程序源代码:main(){long int i;int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;scanf("%ld",&i);bonus1=100000*0.1;bonus2=bonus1+100000*0.75;bonus4=bonus2+200000*0.5;bonus6=bonus4+200000*0.3;bonus10=bonus6+400000*0.15;if(i<=100000)bonus=i*0.1;else if(i<=200000)bonus=bonus1+(i-100000)*0.075;bonus=bonus4+(i-400000)*0.03;else if(i<=1000000)bonus=bonus6+(i-600000)*0.015;elsebonus=bonus10+(i-1000000)*0.01;printf("bonus=%d",bonus);}==============================================================【程序3】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。
c语言编程题经典100例
c语言编程题经典100例在计算机编程中,C语言是一种非常流行和常用的编程语言。
掌握C语言的编程技巧对于计算机科学和软件开发的学习者来说至关重要。
本文将介绍C语言编程中的100个经典例题,帮助读者提高他们的编程技巧和解决问题的能力。
1. 计算并输出1到100之间所有偶数的和。
```c#include<stdio.h>int main() {int sum = 0;for(int i = 0; i <= 100; i+=2) {sum += i;}printf("1到100之间所有偶数的和为:%d\n", sum);return 0;}```2. 输入一个整数,判断是否是质数。
```c#include<stdio.h>#include<stdbool.h>bool is_prime(int num) {if(num <= 1) {return false;}for(int i = 2; i <= num / 2; ++i) { if(num % i == 0) {return false;}}return true;}int main() {int num;printf("请输入一个整数: ");scanf("%d", &num);if(is_prime(num)) {printf("%d是质数\n", num);printf("%d不是质数\n", num);}return 0;}```3. 编写一个函数,接受3个整数参数,返回其中最大的一个数。
```c#include<stdio.h>int max_of_three(int a, int b, int c) {int max = a;if(b > max) {max = b;}if(c > max) {max = c;}return max;}int a, b, c;printf("请输入三个整数: ");scanf("%d%d%d", &a, &b, &c);int max = max_of_three(a, b, c);printf("最大的数是: %d\n", max); return 0;}```4. 使用递归函数计算斐波那契数列。
c语言经典编程试题12例(带答案)
int i,num=0;
float a[10],sum=0.0;
printf("请输入10个数\n");
for(i=0;i<10;i++)
scanf("%f",&a[i]);
for(i=0;i<10;i++)
if(i>=0)
{
num++;
sum+=a[i];
}
printf("10个数中非负数的个数为:%d\n",num);
void main()
{
char a[50];
char *p,*q;
printf("请输入一个字符串:");
gets(a);
for(p=a;*p!=0;)
if(*p=='a')
{
q=p;
while(*p)
{
*p=*(p+1);
p++;
}
p=q;
}
else
p++;
printf("%s\n",a);
}
12、一个皮球从100米的高度自由落下,每次落地后反弹回原来高度的一半,再落下,在反弹。求当它第10次落地时,共经过了多少米,第十次反弹多高?
printf("100之内偶数的和位: %d\n",sum);
}
7、求1*2*3+3*4*5+…99*100*101的值。
解题思路:
定义一个变量从1到101,再有标志变量j确定乘够3个数之后便重新开始下一次乘积。跳出循环后加上最后一次乘积。
c语言题库(60道题)
第一题:编写一个售货机(POS)计算程序,用于水果店售货员算账。
苹果每千克 3.2元,梨每千克1.96元,香蕉每千克3元,樱桃每千克24元。
某顾客购买1.5斤苹果,2斤梨,3斤香蕉,1.5斤樱桃,付给售货员100元。
要求规范输出这位顾客购买各类水果的名称,对应的重量和应付价钱,显示顾客所付款项,输出应找回的款项。
#include<stdio.h>main(){float apple=1.5,pear=2.0,banana=3.0,cherry=1.5;float cost,pay=100.0,retern;cost=3.2*apple+1.96*pear+3.0*banana+24.0*cherry;retern=pay-cost;printf("LIST\t重量:\t价钱:\n");printf("apple\t1.5\t%.2f\n",3.2*apple);printf("pear\t2.0\t%.2f\n",1.96*pear);printf("banana\t3.0\t%.2f\n",3.0*banana);printf("cherry\t1.5\t%.2f\n",24.0*cherry);printf("pay=%.2fRMB\ncost=%.2fRMB\nretern=%.2fRMB\n",pay,cost,retern);}第二题:编写一个程序,对输入的一组整数,分别统计其中正整数和负整数的个数(0作为结束标志)。
#include<stdio.h>main(){int a[]={12,1648,500,-322,41,-15,126,-45,0,45,-356},i=0,m=0,n=0;for(i=0;a[i]!=0;i++){if(a[i]<0)m++;else if(a[i]>0)n++;}printf("%d\n%d\n",m,n);}第三题:统计100-500之间各个数字之和为9的三位数,输出这些三位数。
100个经典c语言例题(带答案)
100个经典c语言例题(带答案)经典C源程序100例- -1 经典C源程序100例【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。
组成所有的排列后再去掉不满足条件的排列。
2.程序源代码:m...C语言经典程序100例2009-02-26 19:44 | (分类:默认分类)经典C源程序100例- -1 经典C源程序100例【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。
组成所有的排列后再去掉不满足条件的排列。
2.程序源代码: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.程序分析:请利用数轴来分界,定位。
C语言程序金典例题20题
# include <stdio.h> int main() {
int i; for(i=100;i<200;i++) {
if(i%5 != 0) printf("i=%d\n",i);}
}
16.试编程判断输入的正整数是否既是 5 又是 7 的整倍数.若是则输出 YES;否则 输出 NO.
while(day>0) { x1=(x2+1)*2; /* x2 为剩下的 */
x2=x1; day- -; } printf(“Total=%d\n”,x1); }
22. 给一个不多于 5 位的正整数,要求: ① 求它是几位数;② 分别打印 出每一位数字;③按逆序打印出各位数字。如:321,输出:123。
scanf("%d",&score);
x=score/10;
switch (x)
{
case 10: case 9: printf("成绩为 A");break;
case 8: printf("成绩为 B");break; case 7: printf("成绩为 C");break; case 6: printf("成绩为 D");break; default:printf("成绩为 E"); } }
21. 猴子第一天摘下若干桃子,当即吃了一半,还不过瘾,又多吃了一个。 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前
一天剩下的一半零一个。到第 10 天早上想再吃时,就只剩下一个桃子了。求 第一天共摘多少桃子?
C语言经典例题100例
==============================================================
【程序3】
题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
j=n/10%10;/*分解出十位*/
k=n%10;/*分解出个位*/
if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)
{
printf("%-5d",n);
}
}
printf("\n");
}
==============================================================
k[n]=i;
}
}
if(s==0)
{
printf("%d is a wanshu",j);
}
}}
==============================================================
【程序10】
题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
{
if(c>='a'&&c<='z'||c>='A'&&c<='Z')
letters++;
C语言经典例题100例
Tubro C programming for HNCRE 20051题:100个学生一起买小吃,共花钱100元,其中每个大学生花5元,每个中学生花3元,每3个小学生花1元,问大、中、小学生的人数分配共有多少种不同的解(去掉某类学生为0的解)?程序:main( ){ int a,b,c;for(a=1;a<=20;a++)for(b=1;b<=33;b++){ c=100—a—b;if((20*a+33*b+c/3)= =100)printf(“%d,%d,%d\n”,a,b,c);}getch( );}答案:6种:3,20,77;4,18,78;8,11,81;11,6,83;12,4,84.2题:50个小学生按1至50序号顺时针围成一圈,做出局游戏,老师站在圈外逆时针从最后一个人数起,每数到5时,这人从圈里出来,继续数1,2,3,4,5,数到第5个学生时,他就出局,已出局的位置不再参加记数,直至所有的学生出局为止,问最后一个出局的学生序号是多少号?程序:main(){int i,k,sum,l,t=0;int a[50];clrscr();for(i=1;i<=50;i++)a[i]=1;for(k=1,sum=0,l=0;k<=50;k++){for(i=50;i>0;i--){sum+=a[i];if(sum==5) {sum=0;l++;a[i]=0;}if(l==49) {t=1;break;}}if(t==1)break;}for(i=1;i<=50;i++){if(a[i]==1) printf("%d",i);}getch();}答案:32号3题:50元兑换成5元,2元和1元的计算方法有多少种?程序:main( ){ int x,f,t,n;x=0;f=0;while(f<=10){t=0;while (t<=25){n=50—f*5—T*2;if(n>=o) x++;t++:}f++;}printf(“%d”,x);}答案:1464.A、B、C三个正整数,当满足1/A*A+1/B*B=1/C*C关系时,称为倒勾股数。
c语言入门100题目
c语言入门100题目
学习C语言对于初学者来说是一个很好的选择。
下面我将列举一些入门级别的C语言练习题目,希望对你有所帮助。
1. 编写一个程序,输出"Hello, World!"。
2. 编写一个程序,接受用户输入的两个整数,然后输出它们的和。
3. 编写一个程序,计算并输出1到100的和。
4. 编写一个程序,判断一个输入的整数是奇数还是偶数。
5. 编写一个程序,接受用户输入的年份,判断该年份是否为闰年。
6. 编写一个程序,找出一个数组中的最大值和最小值。
7. 编写一个程序,将一个字符串反转。
8. 编写一个程序,接受用户输入的数字n,计算并输出1到n
的阶乘。
9. 编写一个程序,接受用户输入的字符,判断该字符是字母、
数字还是其他字符。
10. 编写一个程序,实现一个简单的计算器,能够进行加、减、乘、除运算。
以上是一些入门级别的C语言练习题目,希望能够帮助你开始
学习C语言编程。
如果你对这些题目有任何疑问,欢迎随时向我提问。
祝你学习顺利!。
C语言例题及课后练习题汇总
1.在屏幕上显示一句话“欢迎学习C语言”。
2.求一个数的平方。
3.输入两个数,输出其中最大数。
4.编写一个C程序,输入三个整数,输出其中最大数。
5.编写一个C程序,从键盘上输入矩形的长和宽,屏幕上显示对应的矩形周长和面积。
6. 编写一个C程序,输出9的阶乘的结果。
7.从键盘输入一个大写字母,输出其对应的小写字母。
8.用条件运算符实现:输入一个英文字母,如输入小写字母,输出其对应的大写形式,如输入大写字母,则原样输出。
9. 编程题:从键盘输入三个数a、b、c,输出平均值aver。
10. 计算工资税额。
有一种工资纳税制度的规定为:如果工资超过50000元,缴纳的税额为工资总额的50%;如果工资超过10000元,纳税比例为工资总额的30%;如果工资超过7000元,纳税比例为工资总额的20%;如果工资超过5000元,纳税比例为工资总额的10%;如果工资少于等于5000元,不需纳税。
设计一个程序,按照工资数额算出需要缴纳的税额。
11.由键盘输入一个字符,判断是数字、英文字母还是其他字符。
用if语句实现。
12. 由键盘输入一个成绩,然后输出相应的等级“优”、“良”、“中”、“及格”、“不及格”。
13. 从键盘输入1~7之间的数字,输出表示一个星期中对应的某一天的英文单词。
14. 计算器程序。
用户输入运算数和四则运算符,输出计算结果。
15.输入两个数,判断两个数的关系是“大于”、“等于”或者“小于”,并输出结果。
16.从键盘任意输入三个数,按照从小到大顺序输出。
17.编写程序判断输入的一个正整数是否既是5又是7的倍数。
若是,则输出yes;若否,则输出no。
18. 用while循环输出1+2+…+100的结果。
19. 从键盘输入整数n,求1+2+…+n的结果并输出。
20. 求水仙花数。
如果一个三位数的百位数、十位数和个位数的立方和等于这个数,那么这个数就被称为水仙花数。
21. 求2+4+…+100的结果并输出。
100个经典c语言例题(带答案)
100个经典c语言例题(带答案)经典C源程序100例- -1 经典C源程序100例【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。
组成所有的排列后再去掉不满足条件的排列。
2.程序源代码:m...C语言经典程序100例2009-02-26 19:44 | (分类:默认分类)经典C源程序100例- -1 经典C源程序100例【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。
组成所有的排列后再去掉不满足条件的排列。
2.程序源代码: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、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
顺序结构程序设计已知三角形的底边为20,高为10,求其面积。
#include<stdio.h>void main(){float a,h,s;a=20;h=10;s=1.0/2*a*h;/*1.0/2不能写作1/2*/printf("s=%f\n",s);}从键盘输入三角形的底边及高的长度,求其面积。
#include<stdio.h>void main(){float a,h,s;scanf("%f%f",&a,&h);s=1.0/2*a*h; /*1.0/2不能写作1/2*/printf("s=%f\n",s);}变量作用域# include <stdio.h>int count; /* count是全局变量*/void func1( ); /* 函数声明*/void func2( );void main( ){count = 100;func1();}void func1() /* 函数定义*/{int temp; /* temp是局部变量*/ temp = count;func2();printf(" count is %d\n",count); /* 打印100 */func2();}void func2(){int count; /* 定义局部变量count */for(count = 1; count <20; count++)printf("."); /*打印出"." */printf("\n");}多文件f1.c#include<stdio.h>extern a;void main(){intx=7,y=8,result1,result2;result1=(x+y)*a+max(x,y*a);a-=3;result2=min(a,max(x,y));printf("result1=%d,result2=%d\n",result1,result2);}f2.cextern int a=10;int max(int x,int y){return x>y?x:y;}int min(int x,int y){return x<y?x:y;}分段函数#include<stdio.h>void main(){double x,y;scanf ("%lf",&x);if(x>=1)if(x>=10)y=3*x-14;elsey=2*x-1;elsey=x;printf("%lf\n",y);}冒泡1#include<stdio.h>#define N 5void main(){int i,j,t,a[N];for(i=0;i<N;i++)scanf("%d",&a[i]);for(i=0;i<N-1;i++)for(j=0;j<N-1-i;j++)if(a[j]<a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}for(i=0;i<N;i++)printf("%d\t",a[i]);printf("\n");}冒泡2#include<stdio.h>#define N 5void sort(int a[N]){int i,j,t;for(i=0;i<N-1;i++)for(j=0;j<N-1-i;j++)if(a[j]<a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}}void main(){int i,a[N];for(i=0;i<N;i++)scanf("%d",&a[i]);sort(a);for(i=0;i<N;i++)printf("%d\t",a[i]);printf("\n");}逆序三位数#include<stdio.h>void main(){int x,y=0,m;printf("请输入一个三位数:");scanf("%d",&x);while(x){m=x%10;y=10*y+m;x=x/10;}printf("y=%d\n",y);}闰年#include<stdio.h>int isleap(int year){if(year%400==0||year% 4==0&&year%100!=0)return 1;elsereturn 0;}void main(){int year,n=0;for(year=1900;year<=2010;year++){if(isleap(year)){printf("%d\t",year);n++;if(n%5==0)printf("\n");}}printf("\n");}数组参数1/*编写一函数,该函数的功能是*/#include<stdio.h>#define M 3#define N 4void conert(int a[][N],intb[][N]);void main(){int i,j;intb[M][N],a[M][N]={1,2,-4,6,-9,11,32,-45,-22,-7,67,91};conert(a,b);for(i=0;i<M;i++){for(j=0;j<N;j++)printf("%d\t",b[i][j]);printf("\n");}}void conert(int a[][N],intb[][N]){int i,j;for(i=0;i<M;i++){for(j=0;j<N;j++){if(a[i][j]<0)b[i][j]=-1;elseif(a[i][j]>0)b[i][j]=1;elseb[i][j]=0;}}}2#include<stdio.h>#define N 12double add(double a[],intn,int m);void main(){doublea[N]={1,2,-4,6,-9,11,32,-45,-22,-7,67,91},sum;sum=add(a,3,4);printf("%lf\n",sum);}double add(double a[],intn,int m){int i;double s=0;for(i=n;i<n+m;i++){s+=a[i];}return s;}素数/*编写判断素数的函数,再调用该函数判断1937是否是素数。
*/#include<stdio.h>int isprime(int n){int i;for(i=2;i<n;i++)if(n%i==0)return 0;elsecontinue;return 1;}void main(){if(isprime(1937))printf("prime\n");elseprintf("noprime\n");}统计单词#include<stdio.h>void main(){char string[1024];int i,num=0,word=0;char c;gets(string);for(i=0;(c=string[i])!='\ 0';i++)if(c==' ')word=0;else{if(word==0){num++;word=1;}}printf("%d\n",num);}选择排序#include<stdio.h>#include<string.h>void nsort(int*p,int n){int i,j,min;for(i=0;i<n-1;i++){min=i;for(j=i+1;j<n;j++){if(p[min]>p[j]){min=j;}}if(min!=i){int t;t=p[min];p[min]=p[i];p[i]=t;}}}void ssort(char**p,int n){int i,j,min;for(i=0;i<n-1;i++){min=i;for(j=i+1;j<n;j++){if(strcmp(p[min],p[j])>0)min=j;}if(min!=i){char*q;q=p[min];p[min]=p[i];p[i]=q;}}}void main(){inti,a[]={23,6,78,15,88,123};char*name[]={"FORTRAN","BASIC","C++","Java","VB","C"};nsort(a,6);for(i=0;i<6;i++)printf("%d\t",a[i]);printf("\n");ssort(name,6);for(i=0;i<6;i++)puts(name[i]);}/*输入一个字符串,将其中连续的数字作为一个整数,依次存放在一个数组中,统计共有多少个整数,并输出这些整数*/#include<stdio.h>void main(){char str[80];intnumber[20],i=0,j=0,n=0,flag=0;gets(str);while(str[i]!='\0'){if(str[i]>='0'&&str[i]<='9'){n=10*n+(str[i]-'0');if(flag==0)flag=1;}else{if(flag){number[j]=n;j++;n=0;flag=0;}}i++;}if(flag)number[j]=n;for(i=0;i<=j;i++)printf("%d\t",number[i] );printf("\n");}最大公约数#include<stdio.h>void main(){int m,n,r,p;scanf("%d%d",&m,&n) ;p=m*n;while((r=m%n)!=0){m=n;n=r;}printf("最大公约数是:%d\n",n); /*r=0时的除数是最大公约数*/printf("最小公倍数是:%d\n",p/n); /*两数的积除以最大公约数等于最小公倍数*/}插入#include<stdio.h>void main(){inta[8]={2,32,45,67,88,91,94};int i,j,x;for(i=0;i<7;i++){printf("%d ",a[i]);}printf("\n");scanf("%d",&x);for(i=0;i<7;i++){if(x<a[i])break;}for(j=7;j>i;j--){a[j]=a[j-1];}a[i]=x;for(i=0;i<8;i++){printf("%d ",a[i]);}printf("\n");}查找#include<stdio.h>void main(){inta[]={3,6,8,10,12,33,38,56,60};intx,top=0,bottom=8,mid;scanf("%d",&x);while(bottom>=top){mid=(top+bottom)/2;if(x>a[mid])top=mid+1;elseif(x<a[mid])bottom=mid-1;else{printf("%d在数组中找到,下标为%d\n",x,mid);return;}}printf("%d在数组中没找到!\n");}带参数的main#include <stdio.h>void main(intargc,char*argv[]){int i;printf("argc=%d\n",argc);for(i=0;i<argc;i++){printf("argv[%d]=%s\n",i,argv[i]);}}共用体的意义#include <stdio.h>void main(){int i;union data{int a;char b;char c[20];}x;scanf("%d",&x.a);printf("%d\n",x.a);scanf("%c",&x.b);printf("%c\n",x.b);scanf("%s",x.c);printf("%s\n",x.c);}删除#include<stdio.h>void main(){inta[7]={2,32,45,67,88,91,94};int j,x;for(j=0;j<7;j++){printf("%d ",a[j]);}printf("\n");scanf("%d",&x);for(j=x;j<6;j++){a[j]=a[j+1];}for(j=0;j<6;j++){printf("%d ",a[j]);}printf("\n");}文件块操作#include<stdio.h>struct student{int num;char name[20];char sex;int age;float score;};struct students1,stu[4]={ {11301,"ZhangPing",'F',19,496.5},{11302,"WangLi",'F',20,483},{11303,"LiuHong",'M',19,503},{11304,"SongRui",'M',19,471.5}};void main(){FILE*fp;if((fp=fopen("c:\\abc.txt","w"))==NULL){printf("file openerror!\n");exit(1);}fwrite(stu,sizeof(structstudent),4,fp);fclose(fp);if((fp=fopen("c:\\abc.txt","r"))==NULL){printf("file openerror!\n");exit(1);}fseek(fp,sizeof(structstudent),0);fread(&s1,sizeof(structstudent),1,fp);printf("%d\n",s1.num);}杨辉三角形#include<stdio.h>#define N 10void main(){int i,j,k;int a[N][N];printf("\n");for(i=0;i<N;i++)/* 生成杨辉三角形每行的首、尾元素值*/{a[i][0]=1;a[i][i]=1;}for(i=2;i<N;i++)/* 生成杨辉三角形其他元素值*/for(j=1;j<i;j++)a[i][j]=a[i-1][j-1]+a[i-1][j];for(i=0;i<N;i++)/* 输出杨辉三角形*/{for(k=2;k<N-i;k++)printf(" ");for(j=0;j<=i;j++)printf("%6d",a[i][j]);printf("\n");}}设计一个函数voidchange(char*s),将字符串s中下标为偶数的字符移到左边,下标为奇数的字符移到右边。