分享
分销 收藏 举报 申诉 / 21
播放页_导航下方通栏广告

类型C语言程序简单例子.doc

  • 上传人:精****
  • 文档编号:4138242
  • 上传时间:2024-07-31
  • 格式:DOC
  • 页数:21
  • 大小:159KB
  • 下载积分:10 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    语言 程序 简单 例子
    资源描述:
    实验二参考答案 1.输入两个整型数字,输出他们的和。 #include<stdio.h> main() { int a, b, sum; scanf(“%d%d”, &a, &b); sum=a+b; printf(“a+b=%d”, sum); } 2.输入两个实型数,输出他们的和与乘积。 #include<stdio.h> main() { float a, b, sum, product; scanf(“%f%f”, &a, &b); sum=a+b; product=a*b; printf(“a+b=%5.2f, a*b =%5.2f”, sum, product); } 3.求方程的根(设)(其中a,b,c的值由键盘输入)。 #include<stdio.h> #include<math.h> main() { float a, b, c, dt, x1, x2; scanf(“%f%f%f”, &a, &b, &c); dt=sqrt(b*b-4*a*c); x1=(-b+dt)/(2*a); x2=(-b-dt)/(2*a); printf(“x1=%5.2f, x2 =%5.2f”, x1, x2); } 4.鸡兔同笼,已知鸡兔总头数为h,总脚数为f,求鸡兔各多少只?(h和f的值由键盘输入,输出鸡和兔的头数) #include<stdio.h> main() { int h, f, x,y; scanf(“%d%d”, &h, &f); x=2*h-f/2; y=f/2-h; printf(“x=%d, y =%d”, x, y); } 实验三参考答案 1.输入三个数a、b、c,要求按由小到大的顺序输出。 #include<stdio.h> main() { float a,b,c,t; scanf(“%f,%f,%f”,&a,&b,&c); if(a>b) { t=a; a=b; b=t; } if(a>c) { t=a; a=c; c=t; } if(b>c) { t=b; b=c; c=t; } printf(“%f,%f,%f”,a,b,c); } 2.编写程序,输入三角形三边 a、b、c,判断a、b、c能否构成三角形,若不 能则输出相应的信息,若能则判断组成的是等腰、等边、直角还是一般三角形。 (1) #include<stdio.h> main() { float a,b,c,t; scanf(“%f,%f,%f”,&a,&b,&c); if(a>b) {t=a; a=b; b=t;} if(a>c) {t=a; a=c; c=t;} if(b>c) {t=b; b=c; c=t;} if(a+b>c) { if(a==b||b==c) { if(a==c) printf(“等边三角型”); else if(c*c==a*a+b*b) printf(“等腰直角三角形”); else printf(“一般等腰三角形”); } else if(c*c==a*a+b*b) printf(“一般直角三角形”); else printf(“一般三角形”); } else printf(“不构成三角形”); } (2) #include<stdio.h> main() { float a,b,c,t; scanf(“%f,%f,%f”,&a,&b,&c); if(a>b) {t=a; a=b; b=t;} if(a>c) {t=a; a=c; c=t;} if(b>c) {t=b; b=c; c=t;} if(a+b<=c) printf(“不构成三角形”); else if(a==b && b==c && a==c) printf(“等边三角型”); else if(a==b && c*c==a*a+b*b) printf(“等腰直角三角形”); else if (a==b) printf(“一般等腰三角形”); else if(c*c==a*a+b*b) printf(“一般直角三角形”); else printf(“一般三角形”); } 3.编程实现下列函数 x (x<1) y= 2x-1 () |3x-11| () #include<stdio.h> #include<math.h> main() { int x,y; printf("input x=:"); scanf("%d",&x); if(x<1) y=x; else if(x<10) y=2*x-1; else y=abs(3*x-11); printf("x=%d y=%d\n",x,y); } 4.编写程序,输入一百分制成绩,对应输出等级A、B、C、D、E,90分以上为A,80分—89分为B,70分—79分为C,60分—69分为D,60分以下为E。 方法一:用if语句 #include<stdio.h> main() { float score; char grade; scanf("%f", &score); if(score>100||score<0) printf("\ninput error!"); else { if(score>=90) grade='A'; else if(score>=80) grade='B'; else if(score>=70) grade='C'; else if(score>=60) grade='D'; else grade='E'; } printf("the student grade=%c \n", grade); } 方法二:用switch语句。 注意,case后的表达式必须是一个常量表达式,所以在以用switch语句之前,必须把0~100之间的成绩分别化成相关的常量。所有A(除100以外),B,C,D类的成绩的共同特点是十位数相同,此外都是E类。则由此可得把score除十取整,化为相应的常数。 #include<stdio.h> main() { float score, int s; char grade; scanf("%f", &score); s=score/10; if(s<0||s>10) printf("\ninput error!"); else { switch (s) { case 10: case 9: grade ='A'; break; case 8: grade ='B'; break; case 7: grade ='C'; break; case 6: grade ='D'; break; default: grade ='E'; } printf("the student grade =%c \n ", ch); } } 实验四参考答案 1.编写程序,计算以下级数前n项之和。 #include<stdio.h> void main() { int i, n; float s=1.0, sum=1.0, x; scanf(“%d, %f”, &n, &x); for(i=1; i<=n; i++) { s=s*x/i; sum=sum+s; } printf(“sum=%5.2f”, sum); } 2.编程打印如下图案(书后习题第3题): ** **** ****** ******** ********** ************ ************** #include <stdio.h> main( ) { int i, j, n; for(i=1; i<=7; i++) { for(j=0; j<14-2*i; j++) printf(" "); for(j=0; j<2*i; j++) printf("*"); printf("\n"); } } 3.编写程序实现输入整数n,输出如下所示由数字组成的菱形。(图中n=5) 1 1 2 1 1 2 3 2 1 1 2 3 4 3 2 1 1 2 3 4 5 4 3 2 1 1 2 3 4 3 2 1 1 2 3 2 1 1 2 1 1 #include <stdio.h> main( ) { int i, j,n; scanf("%d", &n); for(i=1; i<n; i++) { for(j=1; j<i; j++) printf(" %d", j); for(j=i; j>0; j--) printf(" %d", j); printf("\n"); } for(i=n; i>0; i--) { for(j=1; j<i; j++) printf(" %d", j); for(j=i; j>0; j--) printf(" %d", j); printf("\n"); } } 4.输出Fibonacci数列第n项。其数列通项公式为Fn=Fn-1+Fn-2,F1=1,F2=1。 方法一: #include<stdio.h> main() { float f, f1=1, f2=1; int i, n; scanf("%d", &n); for(i=3; i<=n; i++) { f=f1+f2; f1=f2; f2=f; } printf("%10.0f \n", f ); } 方法二: #include <stdio.h> #define NUM 20 void main() { int i; float f[NUM]={1,1}; for(i = 2; i < NUM; i++) f[i] = f[i-2]+f[i-1]; for(i = 0; i < NUM; i++) printf("%10.0f \n", f[i]); } 实验五参考答案 1.编写程序,将1,2,3这三个数赋给数组a,将5,6,7赋给数组b,将两数组对应元素相加的和赋给数组c,输出数组c #include <stdio.h> void main() { int a[3]={1,2,3}, b[3]={4,5,6}, c[3]; int i; for(i=0;i<3;i++) { c[i]=a[i]+b[i]; printf("%d",c[i]); } } 2.输入任意10个数,按从大到小或从小到大的顺序输出(“冒泡”排序) #include <stdio.h> #define NUM 10 void main () { int a[NUM], i, j, temp, flag; printf ("input %d numbers: \n", NUM); for (i=0; i<NUM; i++) scanf ("%d", &a[i]); for (i=1; i<NUM; i++) for (j=0; j<NUM-i; j++) { flag = 0; if (a[j]>a[j+1]) { temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; flag = 1; } if (flag == 0) break; } printf ("the sorted numbers:\n"); for (i=0; i<NUM; i++) printf ("%d ", a[i]); } 3.输入10个整数并存放在一维数组中,找出其中最大值和此元素的下标 #include <stdio.h> #define NUM 10 void main() { int a[NUM]; int i,max, index; for(i=0; i<NUM;i++) scanf("%d",&a[i]); max=a[0]; for(i=0; i<NUM;i++) { if(max<a[i]) { max=a[i]; index=i; } } printf("max=%d, index=%d", max, index); } 4.将从键盘输入的字符串进行逆序输出,逆序后的字符串仍然保留在原来字符数组中。(不得调用任何字符串处理函数包括strlen) #include <stdio.h> #define NUM 80 void main() { char a[NUM], temp; int i, j, index; for(i=0; i<NUM;i++) { scanf("%c",&a[i]); if(a[i]=='\n') break; } a[i]='\0'; index=i; for(i=0, j=index-1; i<=index/2; i++, j--) { temp=a[i]; a[i]=a[j]; a[j]=temp; } for(i=0; i<NUM; i++) { if(a[i]=='\0') break; printf("%c", a[i]); } printf("\n"); } 实验五参考答案 1.编写函数,求表达式的值,x有由主函数输入。(请同学们用有返回值和无返回值两种方式去做,练习简单的函定义、声明、及调用方法) 有返回值 #include <stdio.h> float fun(float x) { float m ; m=x*x-5*x+4; return m ; } void main() { float a, f; scanf("%f", &a); f=fun(a); printf("%f \n", f); } 无返回值 #include <stdio.h> void fun(float x) { float m ; m=x*x-5*x+4; printf("%f \n", m); } void main() { float a; scanf("%f", &a); fun(a); } 2.编写函数,按如下递归公式求函数值。 1 (n=0) fun(n)= (n>0) #include <stdio.h> int fun(int n) { int m; if(n==0) m=1; else m=2*fun(n-1)+1; return m; } void main() { int a, f; scanf("%d", &a); f=fun(a); printf("%d \n", m); } 3. 编写函数求数n所有质因子(所有为素数的因子)并输出,n由主函数输入。 #include <stdio.h> #include <math.h> int prime(int m) { int j; if (m == 1) return 0; else if (m == 2) return 1; else if (m%2==0) return 0; else for(j=3; j<=sqrt(m); j+=2) if(m%j==0) return 0; return 1; } void main() { int i,n,flag; scanf("%d",&n); for (i=1;i<=n; i++) { if(n%i==0) flag=prime(i); else flag=0; if(flag==1) printf("%d \n",i); } } 4.哥德巴赫猜想之一是,任何一个大于5的偶数都可以表示为两个素数之和。编写程序验证这一论断。 #include <stdio.h> int prime(int m) { int j; if (m == 1) return 0; else if (m == 2) return 1; else if (m%2==0) return 0; else for(j=3; j<=sqrt(m); j+=2) if(m%j==0) return 0; return 1; } main( ) { int a,b,c,n; scanf("%d", &n); for (a=6; a<=n; a+=2) for (b=3; b<=a/2; b+=2) if (prime(b)==1) { c=a-b; if (prime(c)==1) { printf("%d=%d+%d\n",a,b,c); break; } } } 5. 二维数组score中存放5个学生的3门课成绩,由主函数输入一个数,将所有总成绩大于该数的学生输出。 #include <stdio.h> void max(float a[5][3], float score) { int i,j; float s; for(i=0;i<5;i++) { s=0; for(j=0; j<3; j++) s=s+a[i][j]; if(s>score) printf("stu%d: %.2f\n", i+1, s); } } void main() { int i,j; float a[5][3]; float score; printf("please input number:\n"); for(i=0; i<5; i++) { printf("stu%d:", i+1); for(j=0; j<3; j++) scanf("%f",&a[i][j]); printf("\n"); } printf("please input score:"); scanf("%f", &score); max(a,score); } 实验七参考答案 1.用指针变量输出任意4*4矩阵各元素的值 (1) #include "stdio.h" void main() { int i,a[4][4]={{1,1,1,1},{1,1,1,1},{1,1,1,1},{1,1,1,1}}; int *p=a; for(i=0;i<4*4;i++) { printf("%3d",*(p+i)); if((i+1)%4==0) printf("\n"); } } (2) #include "stdio.h" void main() { int a[4][4]={{1,1,1,1},{2,2,2,2},{3,3,3,3},{4,4,4,4}}; int (*p)[4]=a; int i,j; for(i=0;i<4;i++) { for(j=0;j<4;j++) printf("%3d",*(*(p+i)+j)); printf("\n"); } printf("\n"); } 2.有一个整型二维数组a[m][n],找出最大值所在的行和列,以及该最大值 #include "stdio.h" void main() { int a[4][4]={{1,34,35,26},{7,12,92,24},{55,33,53,6},{7,41,34,64}}; int (*p)[4]=a; int i,j,x,y,max; max=a[0][0]; for(i=0;i<4;i++) { for(j=0;j<4;j++) { printf("%3d",*(*(p+i)+j)); if(max<*(*(p+i)+j)) { max=*(*(p+i)+j); x=i; y=j; } } printf("\n"); } printf("\nmax=%d\nx=%d\ny=%d\n",max,x,y); } 3.从键盘输入一字符串,求此字符串的长度并输出 #include<stdio.h> int str_len(char *p) { int n=0; while(*p!='\0') { n++; p++; } return n; } int main() { char a[100]; int n; printf("Input a string:\n"); gets(a); n=str_len(a); printf("The lenth:%d\n",n); } 4.将字符串str中的小写字母全部改为大写字母,并输出该字符串 #include "stdio.h" void fun(char *p) { int i; for(i=0;*(p+i)!='\0';i++) if(*(p+i)>='a'&&*(p+i)<='z') *(p+i)=*(p+i)-32; } void main() { char str[50]; char *p=NULL; printf("Please input string:\n"); gets(str); p=str; fun(p); puts(str); } 实验八参考答案 1. 编写程序:定义一个职工结构体类型,定义职工结构体变量,从键盘输入一名职工信息,然后输出。(假设职工信息包括:姓名、身份证号、工龄、工资) #include<stdio.h> struct employee { char name[20]; char id[20]; int gl; int salary; }; int main() { struct employee em; printf("Name:\n"); scanf("%s",em.name); printf("HM:\n"); scanf("%s",em.id); printf("GL:\n"); scanf("%d",&em.gl); printf("GZ:\n"); scanf("%d",&em.salary); printf("Name:%s HM:%s GL:%d GZ:%d\n",em.name,em.id,em.gl,em.salary); return 0; } 2. 设计一个保存学生情况的结构体,学生情况包括姓名、学号、年龄。输入5个学生的情况,输出学生的平均年龄和年龄最小的学生的情况 #include <stdio.h> struct Student { char name[100]; // 姓名 char stdNo[10]; // 学号 int age; // 年龄 }; // 输入学生信息 void input (Student *stu, int n) { printf("输入%d个学生信息:", n); for (int i = 0; i < n; i++) { printf("\n第%d个学生:\n", i + 1); printf("姓名:"); gets(stu[i].name); printf("学号:"); gets(stu[i].stdNo); printf("年龄:"); scanf("%d", &stu[i].age); fflush(stdin); } } 3. 使用结构体数组输入10本书的名称和单价,调用函数按照书名的字母顺序序进行排序,在主函数输出排序结果 #include <stdio.h> #include <string.h> struct Book { char name[100]; // 书名 float price; // 价格 }; // 按书名排序 void sort (Book **pBook, int n) { for (int i = 0; i < n; i++) { for (int j = 0; j < n - 1 - i; j ++) { if (strcmp((*pBook[j]).name, (*pBook[j + 1]).name) == 1) { Book *temp = pBook[j]; pBook[j] = pBook[j + 1]; pBook[j + 1] = temp; } } } } main () { Book book[10]; Book *prtBook[10]; printf("输入10本书的信息:\n"); for (int i = 0; i < 10; i++) { printf("\n第%d本书:\n", i + 1); printf("书名:"); gets(book[i].name); printf("价格:"); scanf("%f", &book[i].price); prtBook[i] = &book[i]; fflush(stdin); } sort(prtBook, 10); for (int n = 0; n < 10; n++) { printf("%s\t\t%0.2f\n", (*prtBook[n]).name, (*prtBook[n]).price); } }
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:C语言程序简单例子.doc
    链接地址:https://www.zixin.com.cn/doc/4138242.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork