![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言习题
TXHNY
这个作者很懒,什么都没留下…
展开
-
最大与次大值
题目内容:编写程序,找出给定的n个数中的最大值及次大值。输入格式:在第一行中输入一个正整数n(1<n≤10)。第二行输入n个整数,用英文逗号,隔开。输出格式:在一行中输出最大值及次大值,中间用英文逗号,隔开。输入样例:7 12,1,2,5,4,7,3输出样例:12,7...原创 2021-09-17 08:41:16 · 2788 阅读 · 0 评论 -
学生成绩管理系统
编写程序来完成对学生成绩的管理,要求实现的功能包括:(1)学生信息录入:从键盘按学号顺序输入 N名学生信息(学号、姓名和三门成绩)(2)计算平均值。(3)学生信息排序:按照平均值大小从高到低进行学生信息排序。(4)学生信息查询:按照输入的学号查找并输出对应学生的信息。# include <stdio.h>struct student{ char number[20];//学号 char name[20];//姓名 int score[3];//三科成绩 float原创 2021-05-27 21:43:40 · 529 阅读 · 0 评论 -
插入有序数组
一个长度为10的数组中输入n(0≤n≤9)个整数,这n个整数从小到大有序。再输入一个x,把它插入数组适当位置,使数组仍保持有序。输入格式:输入n,再以从小到大顺序输入n个整数,再输入x。输出格式:在一行输出 插入 x 后的数组的数据, 每个数后面有一个空格, 最后再回车换行。输入样例:51 3 5 7 92输出样例:1 2 3 5 7 9 # include <stdio.h>int main (void){ int a[100]; int原创 2021-05-23 19:26:22 · 907 阅读 · 0 评论 -
字符串的连接 (不能使用strcat函数)
第1种:# include <stdio.h>int main(void){ char str1[100],str2[50]; gets(str1); gets(str2); char * p; char * q; p = str1; //p指向str1数组第一个元素的地址 q = str2; //q同样 while(*p) //*p等于str1数组第1个元素,进行p++,一直加到'\0'才会停止, p++; 此时原创 2021-05-22 23:40:05 · 938 阅读 · 0 评论 -
二分法(折半查找)
# include <stdio.h>int main (void){ int a[10]={1,3,6,9,12,37,45,49,79,99}; int n,high,low,mid,found=0; scanf("%d",&n); high = 9 ; low = 0; while(low < high) { mid = (low+high)/2; if(n == a[mid]) { found=1; break;原创 2021-05-22 19:39:38 · 106 阅读 · 0 评论 -
二维数组每列排序
一个4×5的整型二维数组,从键盘输入数据,并对该数组的每一列按从小到大的顺序排列后输出。输入格式:输入4行5列的矩阵,每行第一个数前没有空格,每行的每个数之间各有一个空格。输出格式:输出4行5列的矩阵,每行第一个数前没有空格,每个数输出占4列列宽。输入样例:5 1 1 4 21 2 3 4 58 4 5 2 17 5 3 6 4输出样例: 1 1 1 2 1 5 2 3 4 2 7 4 3 4 4原创 2021-05-22 17:39:15 · 1975 阅读 · 0 评论 -
选择排序
第1种:# include <stdio.h>int main(void){ int a[50]; int i,j,t,len,min; scanf("%d",&len);//输入数组长度 for(i=0;i<len;++i) scanf("%d",&a[i]);//元素 for(i=0;i<len;++i)//总体进行的循环次数 { min = i; for(j=i+1;j < len;++j)/原创 2021-05-22 11:40:04 · 92 阅读 · 0 评论 -
冒泡排序
# include <stdio.h>int main(void){ int a[100]; int i,j,t,len; scanf("%d",&len); for(i=0;i < len;++i) scanf("%d",&a[i]); for(i=0;i < len;++i) for(j=0;j < len-1-i;++j) { if(a[j]>a[j+1]) {原创 2021-05-22 11:20:43 · 76 阅读 · 0 评论 -
基本数据类型、运算符及表达式
1.以下符合C语言语法的赋值表达式是(B )。A.a=9+b+c=d+9 B.a=(9+b, c=d+9)C.a=9+b, b++, c+9 D.a=9+b++=c+9解析:赋值表达式: 变量 = 表达式 A.D.d+9的左边是表达式与定义不符 B.括号里是逗号表达式,赋给a最后一个值 C.赋给a的是9+b,而后面两个是另外两个式子2.哪些逻辑运算符执行短路定值(C)A.or, not ...原创 2021-05-17 21:59:46 · 1529 阅读 · 0 评论 -
字母大小写转换
# include <stdio.h>int main (void){ char a[40]; int i; gets(a); for(i = 0;a[i] != '#';++i) { if(a[i] >= 'a' && a[i] <= 'z') a[i] -= 32; else if(a[i] >= 'A' && a[i] <= 'Z') a[i] += 32; } for.原创 2021-05-17 22:40:10 · 154 阅读 · 0 评论 -
时制转换
现在输入一个24小时制的时间,请编程将其转换为12小时制时间格式,输出转换后的时间,原来时间如果是上午,那么需要在转换时间之后输出空格和AM,原来时间如果是下午,在转换时间之后输出空格和PM,输出具体参考样例。注:在24小时制中 , [00:00~12:00]认为是上午,[12:01~23:59]认为是下午。提示:输出时间:分钟的格式请使用 printf("%02d:%02d AM或PM"),%02d表示占2个数字宽度,数不够2位的前面补0 。 输出前面带0 的数据依然可以使用scanf("%d".原创 2021-05-18 23:39:29 · 1469 阅读 · 0 评论 -
数组循环左移
本题要求实现一个对数组进行循环左移的简单函数:一个数组a中存有n(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向左移m(≥0)个位置,即将a中的数据由(a0a1⋯an−1)变换为(am⋯an−1a0a1⋯am−1)(最前面的m个数循环移至最后面的m个位置)。如果还需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?输入格式:输入第1行给出正整数n(≤100)和整数m(≥0);第2行给出n个整数,其间以空格分隔。输出格式:原创 2021-05-21 11:55:54 · 100 阅读 · 0 评论