- 博客(69)
- 收藏
- 关注
原创 编一程序,输人月份号,输出该月的英文月名。例如,输人3,则输出March。要求用指针数组处理。
代码:#include <stdio.h>int main(){ char *month[12]={"January","February","March","April","May" ,"June", "July" ,"August","September" ,"October","November","December"}; int n; printf("input month:\n"); scanf("%d",&n); if ((
2021-12-15 22:52:55 1771
原创 有一个班4个学生,5门课程。
①求第1门课程的平均分;②找出有两门以上课程不及格的学生,输出他们的学号和全部课程成绩及平均成绩;③找出平均成绩在90分以上或全部课程成绩在85分以上的学生。分别编3个函数实现以上3个要求。代码:#include <stdio.h>#include <string.h>#define H 30#define N 6int stu;int main(){ void average(float score[N][N]); void find1(floa
2021-12-14 07:25:05 2177
原创 编一个程序,对于给定的一个百分制成绩,输出相应的五分制成绩。假如:90分以上为“A”;80~90分为“B”,70~79分为“C”;60~69分为“D”;60分以下为“E”。
代码:#include <stdio.h>int main(){ int s,flag=1; printf("请输入成绩:\n"); do{ scanf("%d",&s); if(s<0||s>100){ printf("数据不合法,请重新输入:"); } else flag=0; } while(flag); switch (s/10)
2021-12-05 17:06:25 5160
原创 在主函数中输人10个等长的字符串,用另一函数对它们排序。然后在主函数输出这10个已排好序的字符串。
主函数:#include <stdio.h>#include <string.h>#define N 4int main(){ void str_sort(char str[][N]); char str[N][N]; int i,j; printf("请输入%d个字符串,每个字符串长度不超过%d:\n",N,N-1); for(int i=0;i<N;i++){ scanf("%s",p[i]); } print
2021-12-03 15:37:05 1445 1
原创 (指针方法处理)将一个5X5的矩阵中最大的元素放在中心,4个角分别放4个最小的元素(顺序为从左到右,从上到下依次从小到大存放),写一函数实现之,用main函数调用。
代码:#include <stdio.h>#define N 5int main(){ void max_sort(int (*q1)[N]); //[]比*优先级高, // *p[3] 一个指针数组,有3个元素,每个元素都是一个指针。 // (*p)[3] 一个指针,指向一个数组,数组的类型为int [3],即二维数组。(3为二维数组的列数) int num[N][N],(*p)[N]; //定义二维数组指针 //在一维数组中,
2021-11-28 20:36:40 910
原创 C语言运算符/ ,运算结果得什么类型?
两个整数相除,结果为整数,运算中的两个数有一个数为实型,则结果实型#include <stdio.h>int main(){ int a=3,b=2; float c=3,d=2; double m=3,n=2; printf("a=%d,b=%d,c=%f,d=%f\n,m=%f,n=%f",a,b,c,d); printf("\n"); printf("-------int/int------\n"); printf("a/b=%d
2021-11-20 17:20:04 1867
原创 (指针处理)输入一行文字,找出其中大写字母、小写字母、空格、数字以及其他字符各有多少。
代码:#include <stdio.h>#include <string.h>#define N 50int main(){ void judge(char *q); char str1[N],*p=str1; printf("请输入一个字符串:\n"); //scanf("%s",p);//遇到空格算结束输入 //fgets(p,N,stdin); /* int len=strlen(str); 如果使用fg
2021-11-18 17:25:41 3627 1
原创 (指针处理)有一字符串,包含n个字符。写一函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串。
代码:#include <stdio.h>#include <string.h>#define N 50int main(){ void copy(char *p); char str1[N],*p=str1; printf("请输入一个字符串:\n"); scanf("%s",p); copy(p); return 0;}void copy(char *p){ char str2[N],*q=str2; i
2021-11-18 16:37:52 1940
原创 (指针处理)写一函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度。
代码:#include <stdio.h>#define N 30int main(){ int length(char *p); char str[N],*p=str; printf("请输入一个字符串:\n"); scanf("%s",p); printf("您输入的字符串长度为%d",length(p)); return 0;}int length(char *p){ int len=0; while(*p!='\0
2021-11-18 16:03:52 6660 2
原创 (指针处理)有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。
代码:#include <stdio.h>#define N 8int main(){ void move(int *q); int num[N],*p=num; printf("请输入%d个数:\n",N); /* //第一种:移动指针,指针每次☞的值不一样 for(p=num;p<(num+N);p++){ scanf("%d",p); } for(p=num;p<(num+N);p++){
2021-11-18 15:52:38 2266
原创 (指针处理)输入10个整数,将其中最小的数与第1个数对换,把最大的数与最后一个数对换 写3个函数:①输入10个数;②进行处理;③输出10个数。
思路: 分开处理,先找出最大数的位置,交换后,再找出最小数的位置,再交换。(思路:也可以同时找最大数和最小数的位置,但经过最小值和第一个数对换后,最大值的位置可能出现了变化,即如果说原来10个数最大值就在第一个位置,第一次交换后,最大数变成了最小值的位置,而不再是开始找到的最大值位置,因此要if判断讨论最大值是否为第一个数)代码:#include <stdio.h>#define N 10int main(){ void swap1(int *q); int num[N]
2021-11-17 10:48:01 3453
原创 输入3个整数,按由小到大的顺序输出。(指针方法处理)
代码:#include <stdio.h>#define N 3int main(){ int num[N],*p=num; void sort(int *p); printf("请输入%d个数:\n",N); for(int i=0;i<N;i++){ scanf("%d",&num[i]); } printf("--------------\n"); printf("您输入的%d个数原来的顺序为:\n
2021-11-15 11:16:29 2713
原创 写几个函数:
①输入10个职工的姓名和职工号;②按职工号由小到大顺序排序,姓名顺序也随之调整;③要求输入一个职工号,用折半查找法找出该职工的姓名,从主函数输入要查找的职工号,输出该职工姓名。采用结构体数组代码:#include <stdio.h>#include <string.h>#define N 5struct Employee{ int id; char name[10];};int main(){ void input(struct Emplo
2021-11-13 12:30:08 349
原创 输入10个学生5门课的成绩,分别用函数实现下列功能:
题目要求输入的数据太多,改以2个学生,2门学科。符合题目则把预定义M 改为10,N改为5。代码:#include <stdio.h>#define M 2#define N 2float ave1[N];//第四问要用int main(){ float arr[M][N]; void fun1(float arr[][N]); void fun2(float arr[][N]); void fun3(float arr[][N]); voi.
2021-11-11 12:47:17 3080
原创 写一个函数,用“起泡法”对输入的10个字符按由小到大顺序排列。
代码:#include <stdio.h>#include <string.h>#define N 10int main(){ void sort(char str[]); char str[N]; printf("请输入长度为%d的字符串:\n",N); scanf("%s",str); while(strlen(str)!=N){ printf("输入的字符串不满足长度要求,请重新输入:\n",N);
2021-11-10 10:42:32 3919
原创 输入10个数,排序,由小到大输出结果
代码:#define N 10int main(){ void sort(int arr[]); int arr[N]; for(int i=0;i<N;i++){ printf("请输入第%d个数:\n",i+1); scanf("%d",&arr[i]); } sort(arr); printf("排序后的结果为:\n"); for(int i=0;i<N;i++){ prin
2021-11-10 09:35:30 1096
原创 写一个函数,输入一行字符,将此字符串中最长的单词输出。
思路:一个一维字符数组拆成一个二维数组,二维数组看成多个一维数组。再比较二维数组中的每个一维数组的长度,初始化maxlen,把二维数组的str[0]的长度设为最大长度长度。再依次比较,找出长度最大的一维数组。代码:#include <stdio.h>#include <string.h>#define N 50int main() { void result(char str1[]); char str1[N]; printf("请输入字符串:\n
2021-11-09 13:29:32 1765
原创 写ー个所数,输入一个4位数字,要求输出这4个数字字将,每两个数字间空一个空格。如输入1990,应输出“1 9 9 0”
代码:#include <string.h>#define N 30int main() { void cpy(char arr1[]); char arr1[N]; printf("请输入数字:\n"); scanf("%s",arr1); cpy(arr1); return 0;}void cpy(char arr1[]){ char arr2[N]; int i,j,num=strlen(arr1); pri
2021-11-09 10:26:05 409
原创 写一个函数,将一个字符串中的元音字母复制到另一字符串,然后输出。
代码:#include <stdio.h>#include <string.h>#define N 30int main() { void cpy(char str1[],char str2[]); char str1[N],str2[N]; printf("请输入字符串1:\n"); gets(str1); printf("请输入字符串2:\n"); gets(str2); // fgets(str2,N,stdin)
2021-11-08 11:39:09 2815
原创 写一个函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串。
代码:#include <stdio.h>#include <string.h>#define N 20int main() { void avert(char str[]); char str[N]; printf("请输入字符串:\n"); //scanf("%s",str);以空格断 gets(str); avert(str); printf("字符串反序结果为:\n"); puts(str); r
2021-11-06 22:29:23 6770
原创 写一个函数,使给定的一个3×3的二维整型数组转置,即行列互换。
代码:#include <stdio.h>#define N 3int main(){ void change(int array[][N]); int arr[N][N]; printf("请输入%d个值:\n",N*N); for(int i=0;i<N;i++){ for(int j=0;j<N;j++){ scanf("%d",&arr[i][j]); } }
2021-11-04 20:45:16 3134
原创 区别: 先++还是先返回,值变还是地址变?
代码:#include <stdio.h> struct st{ int n; char *ch; }; void main(){ struct st a[3]={5,"abc",7,"def",9,"ghk"},*p; p=&a[0]; // printf("p++->n为:%d\n",p++->n); // printf("p->n++为:%d\n",p->n++); // printf("*(p).n++为:%d\n",(*p).n++); // prin
2021-11-04 20:41:51 98
原创 输入一个数,判断是否为素数
代码:#include <stdio.h>int main(){ int num; printf("请输入n的值:\n"); scanf("%d",&num); if(num==1||num==3||num==5||num==7) printf("%d是素数\n",num); else if(num%2!=0&&num%3!=0&&num%5!=0&&num%7!=0) print
2021-11-04 19:36:27 489
原创 给定一个整形数组b[0...N-1],b中连续相等元素构成的子序列称为平台。编写程序,求出b中最长平台的长度。
代码:#include <stdio.h>#define N 12int main(){ int b[N],i,len1,len; len1=len=1; printf("请输入12个数字\n"); for(i=0;i<N;i++) scanf("%d",&b[i]); printf("您输入的数字为:\n"); for(i=0;i<N;i++) printf("%d,",b[i]); printf
2021-10-16 11:49:43 878
原创 编写一个程序将十进制整数n转换成二进制数,要求从低位到高位输出二进制数的各位
代码:int main(){ int n; printf("请输入一个数字:\n"); scanf("%d",&n); printf("从高位到低位输出的结果为: "); for(int i=0;n!=0;i++){ printf("%d",n%2); n=n/2; } printf("\n"); return
2021-10-16 10:20:58 2744
原创 有值为1~4的3个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
代码:#include <stdio.h>#define M 4int main() { int num[M]= {1,2,3,4}; for(int i=0; i<M; i++) { for(int j=0; j<M; j++) { for(int k=0; k<M; k++) { if(num[i]!=num[j]&&num[j]!=num[k
2021-10-16 10:12:11 209
原创 编写一个程序,输入年份和月份,判断该年是否是闰年,并根据给出的月份判断是什么季节和该月有多少天?
闰年的条件是年份能被4整除但不能被100整除,或者能被400整除;规定35月为春季,68月为夏季,9~11月为秋季,1、2和12月为冬季。代码:#include <stdio.h>int year,month,date;int main(){int year_judge(int year);printf(“请输入年份:\n”);scanf("%d",&year);printf(“请输入月份:\n”);scanf("%d",&month);printf("--
2021-10-11 11:18:34 4485 1
原创 求方程 ax2+bx+c=0ax2+bx+c=0的根,用3个函数分别求当: b2−4acb2−4ac大于0、等于0和小于0时的根并输出结果。从主函数输入a,b,c的值
代码:#include <stdio.h>#include <math.h>float x1,x2;int main(){float calculate1(int a,int b,int c);float calculate2(int a,int b,int c);float calculate3(int a,int b,int c);float a,b,c,result;printf(“请输入a的值\n”);scanf("%f",&a);print.
2021-10-10 14:55:27 757
原创 编写一个程序,比较两个字符串s1和s2。若s1>s2,输出一个正数;若s1=s2,输出0;若s1<s2,输出一个负数。不要用strcpy函数。
代码:分别比较打印每个字符#include <stdio.h>#include <string.h>#define M 30int main() {char str1[M],str2[M];int num=0;printf(“请输入第一个字符串:\n”);gets(str1);printf(“请输入第二个字符串:\n”);gets(str2);for(int i=0;str1[i]!=’\0’||str2[i]!=’\0’;i++) {if(str1[i]-
2021-10-08 13:02:22 4394 3
原创 编一程序,将两个字符串连接起来,不要用strcat函数。
代码:#include <stdio.h>#include <string.h>#define M 30int main() {char str1[M],str2[M];printf(“请输入第一个字符串:\n”);gets(str1);printf(“请输入第二个字符串:\n”);gets(str2);int len=strlen(str1);printf(“第一个字符串的长度为%d\n”,len);for(int i=0; str2[i]!=’\0’;
2021-10-07 12:17:16 2248
原创 有一行电文,已按下面规律译成密码:
代码:#include <stdio.h>#include <string.h>#define M 50int main(){char passage[M];printf(“请输入一行电文:\n”);gets(passage);printf(“您输入的电文原文为:\n”);puts(passage);for(int i=0;passage[i]!=’\0’;i++){if(passage[i]>=65&&passage[i]<=9.
2021-10-07 11:48:09 1002
原创 某一门课程考试后,需要统计考生(10人)的平均成绩,并找出其中的最高分和最低分。
代码:#include <stdio.h>#define M 10int main(){double score[M],average,max,min,sum=0;int i;printf(“请输入考生成绩\n”);for(i=0;i<M;i++){scanf("%lf",&score[i]);sum+=score[i];//printf(“score[%d]=%f,sum=%f\n”,i,score[i],sum);}max=score[0];min=
2021-10-06 12:02:23 1369
原创 有一篇文章,共有3行文字,每行有80个字符。要求分别统计出其中英文大写字母、小写字母、数字、空格以及其他字符的个数。
代码:#include <stdio.h>#include <string.h>#define M 3#define N 80int main(){int str[M][N];int i,j,n1=0,n2=0,n3=0,n4=0,n5=0;for(i=0;i<M;i++){printf(“请输入第%d个字符串:\n”,i+1);gets(str[i]);}printf(“输入的3字符串为:\n”);for(i=0;i<M;i++){put..
2021-09-03 21:51:43 1476
原创 有3个字符串,要求找出其中“最大”者
代码:#include <stdio.h>#include <string.h>#define M 3#define N 20int main() {char str[M][N];int i,max,num=0;for(i=0; i<M; i++) {printf(“请输入第%d个字符串:\n”,i+1);gets(str[i]);}max=strlen(str[0]);for(i=1;i<M;i++) {if(strlen(str[i])..
2021-08-28 21:32:47 724
原创 输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。
代码:#include <stdio.h>#include <string.h>#define N 20int main() {char str[N];int num=1;printf(“请输入一行字符:\n”);gets(str);if(str[0]= =’\0’||str[0]= =’ ‘) {num=0;printf(“单词个数为%d个”,num);} else{for(int i=0; i<N; i++) {if(str[i]= =’ ...
2021-08-27 21:27:00 4342 1
原创 有一个3x4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号.
代码:#include <stdio.h>int main(){int a[3][4],i,j,m,n;int max=a[0][0];printf(“请输入%d个数:\n”,3*4);for(i=0;i<3;i++){for(j=0;j<4;j++){scanf("%d",&a[i][j]);}}for(i=0;i<3;i++){for(j=0;j<4;j++){printf("%5d",a[i][j]);if(a[i][j]&g..
2021-08-27 21:22:45 14550 7
原创 将一个二维数组行和列的元素互换,存到另一个二维数组中。
代码:#include <stdio.h>#define M 3#define N 2int main(){int a[N][M]={1,2,3,4,5,6};int b[M][N];int i,j;for(i=0;i<N;i++){for(j=0;j<M;j++){b[j][i]=a[i][j];printf(“b[%d][%d]=%d\n”,i,j,b[j][i]);}}for(i=0;i<N;i++){for(j=0;j<M;j+...
2021-08-27 21:11:58 4583
原创 输出以下的杨辉三角形(要求输出10行)
代码:#include <stdio.h>#define N 11int main(){int a[N][N];for(int i=1;i<N;i++){for(int j=1;j<=i;j++){if(ij||j1){a[i][j]=1;printf("%-4d",a[i][j]);}else{a[i][j]=a[i-1][j-1]+a[i-1][j]; printf("%-4d",a[i][j]);}if(j==i)...
2021-08-22 17:19:05 357
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人