《大学c语言大作业.pdf》由会员分享,可在线阅读,更多相关《大学c语言大作业.pdf(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1.1.从键盘上输入若干字符,直到输入从键盘上输入若干字符,直到输入#”#”结束。统计英文字母、数字、空格、其他字符的个结束。统计英文字母、数字、空格、其他字符的个数并输出。数并输出。#include“stdio.h”main()int a,b,c,d;char ch;a=b=c=d=0;while(ch=getchar()!=#)*循环结构*if(ch=a&ch=A&ch=0&ch10)要求:1.筛选出 3N 之间的素数 2.输出素数,每个数占用 6 宽度,左对齐。main()int n,i,flag,k;printf(“请输入筛选素数的范围N 的值:”);scanf(“%d,&n)whil
2、e(n=10)printf(“n 要求 N 的值大于 10,请重新输入”);scanf(“%d”,&n);for(i=3;i=n;i+)flag=1;for(k=2;k1),计算该数列的前 N 项之和。#include “stdio.h”#define N 100main()int n,i;float aN,bN,sum=0;printf(“请输入所求前第 N 项的值:”);scanf(“%d”,&n);a0=2;b0=1;sum=sum+a0/b0;for(i=1;i=n;i+)ai=ai-1+bi-1;bi=ai-1;sum=sum+ai/bi;Printf(“n 数列的%d项的和值为:%
3、f n”,n,sum);4.4.请输入 33 的行列式(整数构成),找出其中的最小数值,以及它所在行标和列标。#include “stdio.h”#define N 3main()int n,i,j,aNN,min,k,l;printf(“n 输入数列的值:”);for(i=0;i3;i+)for(j=0;j3;j+)scanf(“%d”,&aij);min=a00;k=l=0;for(i=0;i3;i+)for(j=0;jaij)min=aij;k=i;l=j;printf(“n 行列式的最小值为%d在第:%d 行,第%d 列”,min,k,l);5.5.从键盘输入本班同学的程序设计课程分数
4、保存在数组中(人数不超过 45 人,分数为整数),找出最高分及其所在的下标,并输出。#include “stdio.h”#define N 45main()int n,i,aN,max,k;printf(“n 请输入学生的成绩:”);i=0;scanf(“%d”,&ai);dowhile(ai!=-1)scanf(“%d”,&ai);i+;while(ai+!=-1);scanf(“%d”,&ai);n=i-1;max=a0;k=0;for(i=1;i=max)max=ai;k=i;printf(“n 学生的最高分为成绩:%d 其下标为:%d”,max,k);6.6.从键盘输入本班同学的程序设
5、计课程分数保存在数组中(人数不超过 45 人,分数为整数),将百分制成绩转换成等级AE(A90 及以上,B80 分数段,C70 分数段,D60 分数段,E不及格),并输出成绩及其对应的等级数据。#include “stdio.h”#define N 45main()int n,i,aN;char b11=“AABCDEEEEEE”;printf(“n 请输入学生的成绩:”);i=0;doscanf(“%d”,&ai);while(ai+!=-1);n=i-1;printf(“序号百分数等级n”);for(i=0;in;i+)printf(“%5d%10d%4cn”,i,ai,b10-ai/10
6、);7.7.从键盘输入 5 组(每组 3 个)浮点数作为三条边的长度,若它们能够构成三角形,则计算出三角形的面积,否则给出“不能构成三角形”的提示。(可以用简单变化完成)#include“stdio.h”#include“math.h”#define S(k,x,y,z)sqrt(k-x)*(k-y)*(k-z)main()int i,a53,k,b5;printf(“请输入数据:n”);for(i=0;i5;i+)printf(“第%2d 组数据:”,i);scanf(“%f%f%f”,&ai0,&ai1,&ai2);for(i=0;iai2&ai1+ai2ai0&ai2+ai0ai1)k=
7、(ai0+ai1+ai2)/2;bi=S(k,ai0,ai1,ai2);else bi=-1;for(i=0;i5;i+)printf(“n 第%2d 组”,i);for(j=0,j0)printf(“%10f”,bi);else printf(“不构成三角形”);8.8.计算 1-1/2+1/3-1/4+1/99-1/100 的前 N 项的值,N 从键盘输入,N 大于 1,小于 100。#include“stdio.h”main()int i,n,s;float total=0;doprintf(“请输入 n 的值(1=n=100):”);scanf(“%d”,&n)while(n100);
8、s=1;for(i=1;i=a&si=z)si=si-32;n=i;printf(“n 字符串的长度为:%d ,字符串为:%s“,n,s);10.从键盘上输入 N 个整数保存在数组中,用选择法排序将其按降序排列。#include”stdio.h”#define N 10main()int i,j,t,aN;printf(“n 请输入 N 个整数:”);for(i=0;iN;i+)scanf(“%d”,&ai);for(i=0;iN;i+)*排序过程 *for(j=i+1;jN;j+)if(aiaj)t=ai;ai=aj;aj=t;printf(“n 排序后的数组为:”);*输出部分*for(i
9、=0;iN;i+)printf(“%5d”,ai);11.从键盘上输入 N 个整数保存在一个一维数组data 中,对输入的任意一个数 num,查找数组 data 中是否有与这个数相等的数。若有,则输出该数在data 中的位置,否则输出”NO!”。#include”stdio.h”#define N 10main()int i,x,n,dataN;printf(“n 请输入 N 个整数:”);*数据的输入部分*for(i=0;iN;i+)scanf(“%d”,&datai);printf(“n 请输入要查找的数:”);scanf(“%d”,&x);printf(“n 这个数在”);n=0;for(i=0;iN;i+)if(datai=x)printf(“%3d”,i+1);n+;if(n!=0)printf(“位置上。”);else printf(“数组中没有找到!“);12.求 1001000 之间有多少个整数,其各位数字之和为5,输出满足条件的所有数据以及总个数。#include ”stdio.h”main()int n,a,b,c;for(n=100;n1000;n+)a=n/100;b=n/10%10;c=n%10;if(a+b+c=5)printf(“%5d”,n);
限制150内