知识屋:更实用的电脑技术知识网站
所在位置:首页 > 教育

c语言编程例题基础

发表时间:2022-03-25来源:网络

C语言例题

第一章 程序设计例1.1: 要求在屏幕上输出信息例1.2: 求两个整数之和例1.3: 比较两个数的大小,输出最大值第二章 算法——程序的灵魂例2.1 计算5!例2.2 求多项式(1-1/2+1/3-1/4+…+1/99-1/100)的值第三章 最简单的C程序设计——顺序程序设计例3.1:将华氏温度转换为摄氏温度和绝对温度例3.2:计算存款利息例3.3:给定一个大写字母,要求用小写字母输出例3.4:给出三角形的三边长,求三角形面积例3.5:求ax2+bx+c=0方程的根,设b2-4ac>0例3.6:用%f输出实数,只能得到6位小数例3.7:float型数据的有效位数例3.8:先后输出BOY三个字符例3.9:从键盘输入BOY三个字符,然后把他们输出至屏幕例3.10:从键盘输入一个大写字母,在显示器上显示对应的小写字母第四章 选择结构程序设计例4.1:输入一个字符,判断它如果是小写字母输出其对应大写字母;如果是大写字母输出其对应小写字母;如果是数字输出数字本身;如果是空格,输出“space”;如果不是上述情况,输出“other”例4.7:运输公司对用户计算运输费用。路程越远,运费越低。标准如下:例4.8:求ax^2++bx+c=0方程的解例4.9:用switch语句处理菜单命令第五章 循环结构程序设计例5.1:求2+4+6+8+…+98+100例5.2:用do…while语句求1+2+3+…+100例5.3:while和do…while循环的比较例5.4:在全系1000名学生中矩形慈善募捐,当总数达到10万元时就结束,统计此时捐款的人数以及平均每人捐款的数目例5.5:要求输出100~200的不能被3整除的数例5.6:输出以下4*5矩阵例5.7:用公式求π的近似值直到发现某一项的绝对值小于10的-6次方为止例5.8:求Fibonacci(斐波那契)数列的前40个数例5.9:输入一个大于3的整数n,判定它是否为素数例5.10:求100~200的全部素数例5.11:译密码第六章 利用数组处理批量数据例6.1:对10个数组元素依次赋值为1,2,3,4,5,6,7,8,9,10,要求按顺序输出例6.2:用数组来处理求Fibonacci数列问题例6.3:有10个地区的面积,要求对他们按由小到大的顺序排列(冒泡排序)例6.4:将一个二维数组行和列互换,存到另一个二维数组中(矩阵重置)例6.5:有一个3*4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号例6.6:输出一个已知的字符串例6.7:输出一个菱形图例6.8:输入一行字符,统计其中有多少个单词,单词之间用空格分割开例6.9:有3个字符串,要求找出其中“最大”者第七章 用函数实现模块化程序设计例7.1:输出以下结果,用函数调用实现例7.2:输入两个函数。要求输出其中值较大者。要求用函数找到大数例7.3:将7.2中的max函数定义的变量z改为float型例7.4:输入两个实数,用一个函数求出他们之和

第一章 程序设计

例1.1: 要求在屏幕上输出信息

#include //这是编译预处理指 int main() //定义函数 { //函数开始的标志 printf("Hellow World.\n"); //输出所指定的一行信息 return 0; //函数执行完毕时返回函数值 } //函数结束的标志

运行结果:

例1.2: 求两个整数之和

#include int main() { int a,b,sum; a=1; b=2; sum=a+b; printf("sum is %d\n",sum); return 0; }

运行结果:

例1.3: 比较两个数的大小,输出最大值

`#include int main() { int max,a,b; printf("请输入两个数:"); scanf("%d%d",&a,&b); max=a>b?a:b; printf("最大值为:%d\n",max); return 0; }

运行结果:

第二章 算法——程序的灵魂

例2.1 计算5!

#include int main() { int i,t; t=1; i=2; while(i int sign=1; double deno=2.0,sum=1.0,term; while(deno float f,c; f=64.0; c=(5.0/9)*(f-32); printf("f=%f\nc=%f\n",f,c); return 0; }

运行结果:

例3.2:计算存款利息

#include int main() { float p0=1000,r1=0.0036,r2=0.0225,r3=0.0198,p1,p2,p3; p1=p0*(1+r1); p2=p0*(1+r2); p3=p0*(1+r3/2)*(1+r3/2); printf("p1=%f\np2=%f\np3=%f\n",p1,p2,p3); return 0; }

运行结果:

例3.3:给定一个大写字母,要求用小写字母输出

#include int main() { char c1,c2; c1='A'; c2=c1+32; printf("%c\n",c2); printf("%d\n",c2); return 0; }

运行结果:

例3.4:给出三角形的三边长,求三角形面积

#include #include int main() { double a,b,c,s,area; a=3.67; b=5.43; c=5.21; s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c)); printf("a=%f\tb=%f\t%f\n",a,b,c); printf("area=%f\n",area); return 0; }

运行结果:

例3.5:求ax2+bx+c=0方程的根,设b2-4ac>0

#include #include int main() { double a,b,c,disc,x1,x2,p,q; scanf("%lf%lf%lf",&a,&b,&c); disc=b*b-4*a*c; p=-b/(2.0*a); q=sqrt(disc)/(2.0*a); x1=p+q;x2=p-q; printf("x1=%7.2f\nx2=%7.2f\n",x1,x2); return 0; }

运行结果:

例3.6:用%f输出实数,只能得到6位小数

#include int main() { double a=1.0; printf("%f\n",a/3); return 0; }

运行结果:

例3.7:float型数据的有效位数

#include int main() { float a; a=10000/3.0; printf("%f\n",a); return 0; }

运行结果:

例3.8:先后输出BOY三个字符

#include int main() { char a='B',b='O',c='Y'; putchar(a); putchar(b); putchar(c); putchar('\n'); return 0; }

运行结果:

例3.9:从键盘输入BOY三个字符,然后把他们输出至屏幕

#include int main() { char a,b,c; a=getchar(); b=getchar(); c=getchar(); putchar(a); putchar(b); putchar(c); putchar('\n'); return 0; }

运行结果:

例3.10:从键盘输入一个大写字母,在显示器上显示对应的小写字母

#include int main() { char c1,c2; c1=getchar(); c2=c1+32; putchar(c2); putchar('\n'); return 0; }

运行结果;

第四章 选择结构程序设计

例4.1:输入一个字符,判断它如果是小写字母输出其对应大写字母;如果是大写字母输出其对应小写字母;如果是数字输出数字本身;如果是空格,输出“space”;如果不是上述情况,输出“other”

#include int main() { char word; scanf("%c",&word); if(word>=65&&word printf("大写为:%c\n",word-32); } else if(word==32) //判断如果所输入的字符所对应的ASCII值等于32,输出space { printf("space\n"); } else //判断如果所输入的字符所对应的ASCII值不满足上述条件,输出other { printf("other\n"); } return 0; }

运行结果:


例4.7:运输公司对用户计算运输费用。路程越远,运费越低。标准如下:

s case 0:d=0;break; case 1:d=2;break; case 2: case 3:d=5;break; case 4: case 5: case 6: case 7:d=8;break; case 8: case 9: case 10: case 11:d=10;break; case 12:d=15;break; } f=p*w*s*(1-d/100); printf("freight=%10.2f\n",f); return 0; }

运行结果:

例4.8:求ax^2++bx+c=0方程的解

#include #include int main() { double a,b,c,disc,x1,x2,realpart,imagpart; scanf("%lf,%lf,%lf",&a,&b,&c); printf("The e"); if(fabs(a) x1=(-b+sqrt(disc))/(2*a); x2=(-b-sqrt(disc))/(2*a); printf("has distinct real roots:%8.4fand%8.4f\n",x1,x2); } else { realpart=-b/(2*a); //realpart是复根的实部 imagpart=sqrt(-disc)/(2*a); //imagpart是复根的虚部 printf("has complex roots:\n"); printf("%8.4f+%8.4fi\n",realpart,imagpart); //输出一个复数 printf("%8.4f-%8.4fi\n",realpart,imagpart); //输出另一个复数 } } return 0; }

运行结果:


例4.9:用switch语句处理菜单命令

#include int main() { void action1(int,int),action2(int,int); char ch; int a=15,b=23; ch=getchar(); switch(ch) { case 'a': case'A':action1(a,b);break; case'b': case'B':action2(a,b);break; default:putchar('\a'); } return 0; } void action1(int x,int y) { printf("x+y=%d\n",x+y); } void action2(int x,int y) { printf("x*y=%d\n",x*y); }

运行结果:

第五章 循环结构程序设计

例5.1:求2+4+6+8+…+98+100

#include int main() { int i,s=0; for(i=2;i int i=1,sum=0; while(i int i,sum=0; printf("plesae enter i,i=?"); scanf("%d",&i); while(i float amount,aver,total; int i; for(i=1,total=0;i int n; for(n=100;n int i,j,n=0; for(i=1;i int sign=1; double pi=0.0,n=1.0,term=1.0; while(fabs(term)>=1e-6) { pi=pi+term; n=n+2; sign=-sign; term=sign/n; } pi=pi*4; printf("pi=%10.8f\n",pi); return 0; }

运行结果:

例5.8:求Fibonacci(斐波那契)数列的前40个数

#include int main() { int f1=1,f2=1; int i; for(i=1;i int i,n; printf("please enter a integer number,n=?"); scanf("%d",&n); for(i=2;ik=sqrt(n); for(i=2;i=k+1) {printf("%d ",n); m=m+1; } if(m%10==0) printf("\n"); } printf("\n"); return 0; }

运行结果;

例5.11:译密码

#include int main() { char c; c=getchar(); while(c!='\n') { if((c>='a'&&c='A'&&c='W'&&c='w'&&c a[i]=i; } for(i=1;i int a[20]={1,1}; //定义一个数组a并为前两项赋值为1,1 int i; for(i=2;i if(i%5==0) printf("\n"); printf("%12d",a[i]); } printf("\n"); return 0; }

运行结果;

例6.3:有10个地区的面积,要求对他们按由小到大的顺序排列(冒泡排序)

#include int main() { int a[10]; //定义一个数组a用来储存数组 int i,j,t; //定义三个变量,i,j用来循环,t用来交换 printf("input 10 numbers :"); for(i=0;i for(i=0;i t=a[i]; a[i]=a[i+1]; a[i+1]=t; } //此循环为了把最大的数值移动到最后一位并减少一次循环,下次循环最大的那个数不在参与 } } printf("the sorted numbers :"); for(i=0;i int a[2][3]={{1,2,3},{4,5,6}}; int b[3][2],i,j; printf("array a:\n"); for(i=0;i printf("%5d",a[i][j]); b[j][i]=a[i][j]; } printf("\n"); } printf("array b:\n"); for(i=0;i printf("%5d",b[i][j]); } printf("\n"); } return 0; }

运行结果;

例6.5:有一个3*4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号

#include int main() { int i, j; int max, row, colum; int a[3][4] = { { 1, 2, 3, 4 }, { 9, 8, 7, 6 }, { -10, 10, -5, 2 } }; max = a[0][0]; for (i = 0; i char c[15]={'I',' ','a','m',' ','a',' ','s','t','u','d','e','n','t','.'}; int i; for(i=0;i{' ',' ','*'},{' ','*',' ','*'},{'*',' ',' ',' ','*'},{' ','*',' ','*'},{' ',' ','*'}}; int i,j; for(i=0;i char string[81]; int i,count=0,word=0; char c; gets(string);//输入一个字符串给字符数组string for (i = 0;(c=string[i])!='\0'; i++) { if (c == ' ')//如果是空格字符,使word置0 { word = 0; } else if (word == 0)//如果不是空格字符,且word原来的值为0,使word置1 { word = 1; count++; } } printf("There are %d words in this line.\n",count); return 0; }

运行结果:

例6.9:有3个字符串,要求找出其中“最大”者

#include #include int main() { char str[3][20]; char string[20]; int i; for(i=0;i0) strcpy(string,str[0]); else strcpy(string,str[1]); if(strcmp(str[2],string)>0) strcpy(string,str[2]); printf("\nthe largest string is:\n%s\n",string); return 0; }

运行结果:

第七章 用函数实现模块化程序设计

例7.1:输出以下结果,用函数调用实现

#include int main() { void print_star(); //声明 print_star 函数 void print_message(); //声明 print_message 函数 void print_star(); //声明 print_star 函数 print_star(); //调用 print_star 函数 print_message(); //调用 print_message 函数 print_star(); //调用 print_star 函数 return 0; } void print_star() //定义 print_star 函数 { printf("******************\n"); //输出一行 * 号 } void print_message() //定义 print_message 函数 { printf(" How do you do!\n"); //输出一行文字信息 }

运行结果:

例7.2:输入两个函数。要求输出其中值较大者。要求用函数找到大数

int max(int x,int y) { int z; z=x>y?x:y; return(z); } #include int main() { int max(int x,int y); int a,b,c; printf("please enter two interger numbers:"); scanf("%d,%d",&a,&b); c=max(a,b); printf("max is %d\n",c); return 0; }

运行结果:

例7.3:将7.2中的max函数定义的变量z改为float型

int main() { int max(float x,float y); float a,b; int c; scanf("%f,%f",&a,&b); c=max(a,b); printf("max is %d\n",c); return 0; } int max(float x,float y) { float z; z=x>y?x:y; return(z); }

运行结果:

例7.4:输入两个实数,用一个函数求出他们之和

#include int main() { float add(float x,float y); float a,b,c; printf("Please enter a and b:"); scanf("%f,%f",&a,&b); c=add(a,b); printf("sum is %f\n",c); return 0; } float add(float x,float y) { float z; z=x+y; return(z); }

运行结果:

收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜