c语言编程题目汇总

更新时间:2024-05-02 23:33:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

形参在函数被调用前不占内存;函数调用时为形参分配内存;调用结束,内存释放 const float pi = 3.1425926;在整常量后加字母l或L, 认为它是long int 型常量 实型常量的类型 默认double型

在实型常量后加字母f或F, 认为它是float 型

float a=567.789; printf(\

强制转换得到所需类型的中间变量,原变量类型不变 赋值转换规则:使赋值号右边表达式值自动转换成其左边变 量的类型

#include #include #include void main()

{ int magic,guess;

srand(time(NULL));

magic = rand() % 100 + 1;

printf(\

scanf(\

if (guess==magic)

printf(\ else

printf(\

printf(\ }

对于迭加,若分母规律不明显时,应考虑分子 初始化时不允许连等

若函数类型与return语句中表达式值的类型不一致,按前者为准,自动转换------函数调用转换

#include #include main()

{char a[10][20],t[20]; int i,j,k;

for(i=0;i<10;i++)

gets(a[i]);

for(i=0;i<9;i++) {k=i;

for(j=i+1;j<10;j++)

if((strcmp(a[k],a[j]))<0) k=j;

if(k!=i) strcpy(t,a[k]),strcpy(a[k],a[i]),strcpy(a[i],t); }

for(i=0;i<10;i++) puts(a[i]); }

试题查看

标题: 3. 二进制文件操作 时 限: 1000 ms 内存限制: 10000 K 总时限: 3000 ms 描述:

已知一个文本文件中存放了10个整形的数据,将它们以二进制数据的形式存入另一个文件。

输入: 存放了10个整形的数据的文本文件。 输出: 二进制数据文件。 输入样例:

E:\\\\DATA\\\\72\\\\f0.txt E:\\\\DATA\\\\72\\\\result.dat

输出样例: 23 45 67 78 45 32 12 56 99 56

部分代码如下: int main(void) {

int a[10], i = 0;

char filename1[80], filename2[80]; FILE *fp1,*fp2;

提示: /******************/

/*在此编写代码*/ /******************/

/*验证结果的代码,请不要改动*/

if((fp1 = fopen(filename2, \{

printf(\exit(1); }

for(i = 0; i < 10; i++) {

fread(&a[i], sizeof(int), 1, fp1); /* 读出数据 */ }

if( fclose(fp1)) {

printf(\exit(1); }

for(i = 0; i < 9; i++) printf(\printf(\

return 0; }

来源:

#include #include #include main() {

int a[10], i = 0;

char filename1[80], filename2[80]; FILE *fp1,*fp2;

/******************/ gets(filename1); gets(filename2);

if(!(fp2=fopen(filename1,\ {printf(\ exit(1); }

for(i=0;i<10;i++)

fscanf(fp2,\当有空格和制表符时,自动终止 fclose(fp2);

if(!(fp1=fopen(filename2,\ {printf(\ exit(1);

}

fwrite(a,sizeof(int),10,fp1); fclose(fp1);

/******************/

/*验证结果的代码,请不要改动*/

if((fp1 = fopen(filename2, \ {

printf(\ exit(1); }

for(i = 0; i < 10; i++) {

fread(&a[i], sizeof(int), 1, fp1); /* 读出数据 */ }

if( fclose(fp1)) {

printf(\ exit(1); }

for(i = 0; i < 9; i++) printf(\ printf(\

return 0; }

试题查看

标题: 2. 数据文件 时 限: 1000 ms 内存限制: 10000 K 总时限: 3000 ms

描述: 已知一个文件中存放了10个整型数据,将他们排序后存入另一个文件。 输入: 存放了10个整型数据的二进制数据文件名(包含全路径) 输出: 排序后的数据,并将其存入结果数据文件中。 输入样例:

E:\\\\DATA\\\\71\\\\f0.dat E:\\\\DATA\\\\71\\\\result.dat

输出样例: 34 39 49 65 71 75 91 93 455 723

部分代码如下: int main(void) {

int a[10], temp = 0, i = 0, j = 0, k = 0; char filename1[80], filename2[80]; FILE *fp1,*fp2; /******************/ /*在此编写代码*/ /******************/

/*验证结果的代码,请不要改动*/

if((fp1 = fopen(filename2, \{

printf(\exit(1);

提示:

}

for(i = 0; i < 10; i++) {

fread(&a[i], sizeof(int), 1, fp1); /* 读出数据 */ }

if( fclose(fp1)) {

printf(\exit(1); }

for(i = 0; i < 9; i++) printf(\printf(\

return 0; }

来源:

#include #include #include main() {

int a[10], temp = 0, i = 0, j = 0, k = 0; char filename1[80], filename2[80];

FILE *fp1,*fp2;

/******************/ gets(filename1); gets(filename2); if(!(fp2=fopen(filename1,\ {printf(\ exit(1); } fread(a,sizeof(int),10,fp2); fclose(fp2); for(i=0;i<9;i++) {k=i; for(j=i+1;j<10;j++) if(a[k]>a[j])k=j; if(k!=i) temp=a[k],a[k]=a[i],a[i]=temp; }//排序 if(!(fp1=fopen(filename2,\ {printf(\ exit(1); } fwrite(a,sizeof(int),10,fp1); fclose(fp1);

/******************/

/*验证结果的代码,请不要改动*/

if((fp1 = fopen(filename2, \ {

printf(\ exit(1); }

for(i = 0; i < 10; i++) {

fread(&a[i], sizeof(int), 1, fp1); /* 读出数据 */ }

if( fclose(fp1)) {

printf(\ exit(1); }

for(i = 0; i < 9; i++) printf(\ printf(\

return 0; }

试题查看

标题: 1. 文本文件中字符个数统计 时 限: 1000 ms 内存限制: 10000 K 总时限: 3000 ms

描述: 统计一个文本文件中字符的个数。 输入: 文本文件名称(包含全路径) 输出: 文本文件中字符的个数。 输入样例: E:\\\\DATA\\\\70\\\\f1.txt 输出样例: 16

提示: 来源:

#include #include main()

{char a[20],x; int count=0; FILE *fp; gets(a);

if((fp=fopen(a,\

{printf(\exit(1);}

while((x=fgetc(fp))!=EOF) count++;

printf(\}

试题查看

标题: 3.电话薄管理程序设计 时 限: 1000 ms 内存限制: 10000 K 总时限: 3000 ms 描述:

1.编写手机电话薄管理程序,用结构体实现下列功能:

(1) 手机电话薄含有姓名、宅电、手机3项内容,建立含有上述信息的电话簿。

(2)输入姓名,查找此人的号码。 (3)插入某人的号码。

(4)输入姓名,删除某人的号码。

(5)将以上功能分别用子函数实现,编写主函数,可以根据用户的需要,调用相应的子函数。

建议用结构体完成。

输入: 操作码 输出: 处理后的数据 输入样例: 无 输出样例: 无

1、程序主函数如下所示,请认真理解,不要更改代码。 int main(void) /* 主函数 */ { int k; do {

printf(\打印菜单项 */ printf(\printf(\printf(\printf(\printf(\printf(\scanf(\输入选择项 */ switch(k)

提示:

{ case 0:

exit(0); /* 退出函数 */ case 1: creat( ); break; case 2: search( ); break; case 3: insert( ); break; case 4: delete( ); break; case 5: output( );

break; /* 调用子函数 */ default: exit(0); } } while(1); return 0; } 2、根据主函数,设计相应函数完成指定功能。 3、create时,可用while(1)循环连续创建,当输入'*'号时创建结束。 4、索引关键字为姓名。 来源: #include #include #include struct stud {

char name[20]; char tele[13]; char phone[13]; };

struct stud a[10]; int n=0; void creat() {int i=0; while(1) {

scanf(\

if(strcmp(a[i].name,\ break;

scanf(\

// printf(\ i++; } n=i; }

void search() {char nam[10]; int i;

scanf(\ for(i=0;i

if(strcmp(a[i].name,nam)==0) break;

if(i

}

void insert( ) {

scanf(\

scanf(\ n++; }

void delete( ) {int i,j;int x=1; char nam[10];

scanf(\ for(i=0;i

if(strcmp(a[i].name,nam)==0) {for(j=i;j

if(x) printf(\

n--; }

void output( ) {int i;

for(i=0;i

printf(\}

int main(void) /* 主函数 */ {

int k;

do {

printf(\ 0: exit\\n\ /* 打印菜单项 */ printf(\ 1: creat\\n\ printf(\ 2: search\\n\ printf(\ 3: insert\\n\ printf(\ 4: delete\\n\ printf(\ 5: output\\n\ printf(\

scanf(\ /* 输入选择项 */ switch(k) {

case 0:

exit(0); /* 退出函数 */ case 1:

creat(); break; case 2:

search(); break; case 3:

insert( ); break; case 4:

delete( ); break; case 5:

output( );

break; /* 调用子函数 */ default: exit(0); } }

while(1); return 0; }

试题查看

标题: 2. 结构体数组的定义与引用 时 限: 1000 ms 内存限制: 10000 K 总时限: 3000 ms

描述: 定义一个职工结构体数组,从键盘输入5位职工的信息,打印出最高的工资。 输入: 从键盘输入5位职工的信息(4个数据,每个占一行,工资有两位小数)。 输出: 打印出最高的工资。

liuxin

91736527976271265 11 1234.23

输入样例: liyixin

91736527976271265 11 5234.24 liuxin

91736527943271265 11 1244.25 liuxin

91736527976271265 11 1284.26 liuxin

91736527976271265 11 1232.27

输出样例: 5234.24

提示: 来源:

#include #include struct m {char a[20]; char b[20]; int g; float f; }st[5]; main()

{int i;float max; for(i=0;i<5;i++) {gets(st[i].a); gets(st[i].b);

scanf(\

scanf(\跳过回车键,如果不跳过,会把回车键当做字符串接收到下一个结构体变量中 }

max=st[0].f; for(i=1;i<5;i++)

if(st[i].f>max) max=st[i].f; printf(\

}//结构数组,求工资最值

试题查看

标题: 5. 偶数位清零 时 限: 1000 ms 内存限制: 10000 K 总时限: 3000 ms

描述: 从键盘任意输入整数a,将其偶数位清零,其他位保留。 输入: 整数a。

输出: 偶数位清零,其他位保留后的数。 输入样例: 0XFFFF

输出样例: 5555<--十六进制

提示: 来源:

#include main() {int a,b;

scanf(\b=a&0x5555; printf(\}//偶数位清零 #include #include main()

{int n,a[20],m,*p=a; int s(int *p,int n); scanf(\m=s(a,n);

printf(\}

int s(int *p,int n) {int i=0,j,s=0,t; do{t=n%8; n/=8; p[i]=t;

i++;}while(n); for(j=0;j

//进制转换

试题查看

标题: 1. 结构体的定义与引用 时 限: 1000 ms 内存限制: 10000 K 总时限: 3000 ms 描述: 定义一个职工结构体数据类型,并定义职工结构体变量。 输入: 从键盘输入一个职工的信息。(4个数据,每个占一行,工资有两位小数) 输出: 输出职工信息。(4个数据,每个占一行)

zhangping

输入样例:

610103196802262001 21 2183.55 zhangping

输出样例:

610103196802262001 21 2183.55

提示: 来源:

#include

#include//结构体定义及输出 struct s {char a[20]; char b[20]; int x; float f; }

main() {struct s m; gets(m.a); gets(m.b);

scanf(\scanf(\

printf(\}

试题查看

标题: 4. 矩阵转置函数设计 时 限: 1000 ms 内存限制: 10000 K 总时限: 3000 ms 描述:

设计一个函数,将任意n×n的矩阵转置,并在主函数中调用此函数将一个4*4的矩阵转置。

输入: n×n的矩阵

输出: 转置后的n×n的矩阵 输入样例:

3 1 2 3

4 5 6 7 8 9 1 4 7

输出样例: 2 5 8

3 6 9

提示: 来源:

#include main()

{int a[20][20],b[20][20],i,j,n;

void s(int (*m)[20],int (*h)[20],int n); scanf(\for(i=0;i

scanf(\s(a,b,n);

for(i=0;i

void s(int (*m)[20],int (*h)[20],int n) {int i,j;

for(i=0;i

试题查看

标题: 8. 对称数组判断 时 限: 1000 ms 内存限制: 10000 K 总时限: 3000 ms 描述:

设计一个函数,判断二维数组是否为对称数组(对称矩阵),如果是,则返回1;如果不是,则返回0,并在主函数中调用此函数,判断一个4*4的数组是否为对称数组。

输入: 二维数组 输出: 是否为对称数组

4

输入样例:

1 2 3 4

else if(*q

if(*p!=a[0]) t=*p,*p=a[0],a[0]=t; if(*q!=a[0]) t=*q,*q=a[9],a[9]=t; for(i=0;i<10;i++) printf(\

}//用指针交换最值位置

试题查看

标题: 2. 用指针实现字符串排序 时 限: 1000 ms 内存限制: 10000 K 总时限: 3000 ms

描述: 用指针实现:将10个字符串(设其长度小于20)从小到大排序。 输入: 10个字符串。

输出: 排序后的10个字符串。

ijk jkl def ghi

输入样例:

def cde hij def efg fgh cde def def def

输出样例:

efg fgh ghi hij ijk jkl

① 定义二维字符数组和指向该数组的指针数组; ② 用循环使指针数组的元素指向二维字符数组各行首;

提示: ③ 用循环为指针数组元素赋字符串为值;

④ 用strcmp函数比较两个指针数组元素的值、用strcpy函数交换两个指针数组元素的值。

来源: #include//用指针排序字符串 #include main()

{char a[10][90],(*p)[90],t[90]; int i,j;

for(i=0;i<10;i++) gets(a[i]);

for(i=0;i<9;i++) {p=a[i];

for(j=i+1;j<10;j++) if(strcmp(p,a[j])>0) strcpy(t,p), strcpy(p,a[j]),strcpy(a[j],t); } p=a;

for(i=0;i<10;i++) puts(a[i]); }

试题查看

标题: 6. 用指针实现子字符串提取 时 限: 1000 ms 内存限制: 10000 K 总时限: 3000 ms 描述:

用指针实现:由键盘输入一串字符,从下标为m的字符开始,取出n个字符(m和n由键盘输入),形成一个新的字符串。

输入: 键盘输入一串字符。

输出: 从下标为m的字符开始,取出n个字符(m和n由键盘输入),形成一个新的字符串。 输入样例:

0123456 5 2

输出样例: 56

① 定义二个字符数组zfsour[100]、zfdest[100],zfsour存放原串,zfdest存放新串; ② 定义二个指针变量*pzfsour、*pzfdest; zfsour字符数组的首地址;

提示: ③ 从键盘输入取字符的开始位置m(即下标值)和要取的字符个数n;

④ 让指针变量pzfsour指向zfsour+m处,让pzfdest指向zfdest字符数组的首地址; ⑤ 通过n次循环,逐次赋值、移动指针,即将原串中的n个字符存到新串字符数组中。

来源:

#include//提取字符串

#include main()

{char a[80],*p,b[80]; int m,n,count; gets(a);

scanf(\p=&a[m];

for(count=0;count

试题查看

标题: 8. 输出杨辉三角形 时 限: 1000 ms 内存限制: 10000 K 总时限: 3000 ms

打印如下形式的杨辉三角形。 1 1 1

描述: 1 2 1

1 3 3 1 1 4 6 4 1 1 5 10 10 5 1

输入: 杨辉三角形阶数

杨辉三角形。 1 1 1

输出: 1 2 1

1 3 3 1 1 4 6 4 1 1 5 10 10 5 1

输入样例: 6

1 1 1

输出样例:

1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1

① 杨辉三角形的特点:第一列和对角线上的元素值均为1,即a[i][0]=a[i][i]=1;其余

提示:

位置元素的值=上一行本列元素值+上一行前一列元素值,如第三行第二列2就是第二行第一列+第二行第二列,计算公式为a[i][j]=a[i-1][j-1]+ a[i-1][j]。 ② 应先对第一列和对角线元素赋值,然后再为其它元素赋值。

来源: #include

main()//打印杨辉三角 {int a[30][80],i,j,n; for(i=0;i<30;i++) for(j=0;j<80;j++) a[i][j]=1;

scanf(\switch(n)

{case 1:printf(\case 2:printf(\default :for(i=2;i

试题查看

标题: 4. 数据顺序调整 时 限: 1000 ms 内存限制: 10000 K 总时限: 3000 ms

描述: 由键盘任意输入10个数,将最大数调到最前面,最小数调到最后面。 输入: 任意10个数

输出: 数据调整后的10个数。 输入样例: 0 1 2 3 4 5 6 7 8 9 输出样例: 9 1 2 3 4 5 6 7 8 0

① 定义四个变量d1、d2、x1、x2,分别存放最大数、最小数及它们的位置;

② 在循环开始前,将第一个元素作为参考,将其值分别存入d1、x1,将其下标分别存入d2、x2;

提示: ③ 在循环中将其它元素逐一与d1比较,若比d1大,将其存入d1,并将其下标存入d2;

否则将其与x1比较,若比x1小,将其存入x1,并将其下标存入x2;

④ 结束循环后,将d2所示位置的数与第一个数交换,将x2所示位置的数与最后一个数交换,然后输出数组所有元素即可。

来源:

#include//交换最值位置

main()

{int a[10],i,j,k,l,t; k=l=0; for(i=0;i<10;i++) scanf(\for(i=0;i<10;i++) {

if(a[k]a[i]) l=i; else ; }

if(k!=0)t=a[k],a[k]=a[0],a[0]=t; if(l!=0)t=a[l],a[l]=a[9],a[9]=t; for(i=0;i<9;i++) printf(\printf(\}

试题查看

标题: 1. 用指针实现排序 时 限: 1000 ms 内存限制: 10000 K 总时限: 3000 ms 描述: 用指针实现:由键盘输入10个整数,将他们按由小到大的顺序排列。 输入: 键盘输入的10个整数。 输出: 按由小到大的顺序排列。 输入样例: 1 5 4 3 2 9 23 11 5 7 输出样例: 1 2 3 4 5 5 7 9 11 23 提示: 来源:

#include//用指针排序——————————快速法 main()

{int a[10],*p[10],i,j,k,*b; for(i=0;i<10;i++) scanf(\for(i=0;i<10;i++) p[i]=&a[i]; for(i=0;i<9;i++) {k=i;

for(j=i+1;j<10;j++) if(*(p[k])>*(p[j])) k=j;

if(k!=i) b=p[k],p[k]=p[i],p[i]=b; }

for(j=0;j<9;j++)

printf(\printf(\}

试题查看

标题: 1. 字符串连接 时 限: 1000 ms 内存限制: 10000 K 总时限: 3000 ms 描述: 由键盘任意输入两串字符,不用库函数strcat,连接将两串字符。 输入: 两串字符 输出: 连接将两串字符 abc 输入样例: def 输出样例: abcdef提示: 1. 可用gets()输入字符串。 2. 可用puts()输出字符串。 来源: #include//字符串连接 #include main()

{char a[80],b[80]; int i,j; gets(a); gets(b); i=strlen(a); for(j=0;b[j];j++) a[i+j]=b[j]; a[i+j]='\\0'; puts(a); }

试题查看

标题: 2. 简单加密程序 时 限: 1000 ms 内存限制: 10000 K 总时限: 3000 ms 描述:

由键盘任意输入一串字符,对其进行加密,加密原则为:如果为字母,将其循环右移2个字母,其他字符保持不变。

输入: 一串字符 输出: 加密后的字符串 输入样例: abl2CDxyz 输出样例: cdl2EFzab

提示:

1. 可用gets()和puts()输入输出字符串。 2. 利用ASCII码运算进行加密。

来源:

//加密

#include main()

{char a[80]; int i; gets(a);

for(i=0;i<80;i++)

{if(a[i]>='a'&&a[i]<='x'||a[i]>='A'&&a[i]<='X') a[i]+=2; else if(a[i]=='y')a[i]='a'; else if(a[i]=='z')a[i]='b'; else if(a[i]=='Y')a[i]='A'; else if(a[i]=='Z')a[i]='B'; else ;} puts(a); }

试题查看

标题: 6. 学生成绩计算 时 限: 1000 ms 内存限制: 10000 K 总时限: 3000 ms 描述:

已知10个学生的5门课程的成绩,将其存入一个二维数组,求每一个学生的总成绩和每一个学生的平均成绩。

输入: 10个学生的5门课程的成绩

输出: 每一个学生的总成绩和每一个学生的平均成绩

90.5 80 70 89 84.6 91.5 81 71 88 84.7

输入样例:

92.5 82 72 87 84.8 93.5 83 73 86 84.9 94.5 84 74 85 84.0 95.5 85 75 84 84.1

96.5 86 76 83 84.2 97.5 87 77 82 84.3 98.5 88 78 81 84.4 99.5 89 79 80 84.5 414.100006 82.820000 416.200012 83.240005 418.299988 83.659996 420.399994 84.080002 输出样例: 421.500000 84.300003 423.600006 84.720001 425.700012 85.139999 427.799988 85.559998 429.899994 85.979996 432.000000 86.400002 提示: 来源: #include//计算成绩总分和平均分 main()

{float a[10][7]={0}; int i,j;

for(i=0;i<10;i++) for(j=0;j<5;j++) scanf(\for(i=0;i<10;i++)

for(j=0;j<5;j++) a[i][5]=a[i][5]+a[i][j]; for(i=0;i<10;i++) a[i][6]=a[i][5]/5; for(i=0;i<10;i++)

printf(\}

试题查看

标题: 6. 图形输出 时 限: 1000 ms 内存限制: 10000 K 总时限: 3000 ms

在屏幕上输出如下图形: *

描述:

*** ***** ******* *********

输入: 构成图形的字符和要显示的行数

* ***

输出: *****

******* *********

输入样例:

* 5 ****

输出样例: *****

****************

提示: 来源:

//打印等腰三角形 #include main()

{int i,j,k,n,c; c=getchar(); scanf(\

for(k=1;k<=n;k++)//记号行 {for(j=1;j<=n-k;j++) printf(\打印空格 for(i=1;i<=2*k-1;i++) putchar(c); printf(\} }

试题查看

标题: 5. 求sin(x)的近似值 时 限: 1000 ms 内存限制: 10000 K 总时限: 3000 ms 描述:

利用公式求sin(x)的近似值(精度为10e-6)。

sin(x)=x-x^3/3!+x^5/5!-x^7/7!+...(-1)^n*x^(2n+1)/(2n+1)!+...

输入: x的值

输出: sin(x)的近似值。 输入样例: 2

输出样例: 0.909296提示: 来源: #include #include main()//求sin值 {float i,x,s,t; scanf(\i=2,s=0,t=x; do

{s+=t;//连加

t*=(-x)*x/(2*i-1)/(2*i-2);//第二项 i++;

}while(fabs(t)>=10e-6); printf(\}

试题查看

标题: 4. 求两个数的最大公约数和最小公倍数 时 限: 1000 ms 内存限制: 10000 K 总时限: 3000 ms

描述: 用辗转相除法(即欧几里得算法)求两个正整数的最大公约数和最小公倍数。 输入: 两个正整数

输出: 两个正整数的最大公约数和最小公倍数。 输入样例: 2 8 输出样例:

28

设a和b的最大公约数为Div,最小公倍数为Multi=a*b/Div;

提示: 求最大公约数可用辗转相除法: rem=a%b; a=b;b=rem;若rem=0,a是最大公约数,程序结

束;否则从新执行以上语句。

来源:

#include main()

{int a,b,rem,Multi,m,n; scanf(\m=a,n=b; while(rem!=0)

{rem=a%b; a=b;b=rem;} printf(\

Multi=m*n/a;

printf(\}

试题查看

标题: 5. 按从大到小排序三个数 时 限: 1000 ms 内存限制: 10000 K 总时限: 3000 ms

描述: 从键盘输入三个数,将它们按从大到小进行排序,然后输出。 输入: 输入三个数。

输出: 按从大到小进行排序后的三个数。 输入样例: 3 4 5 输出样例:

排序前:3, 4, 5排序后:5, 4, 31、分析

① 先将a、b进行比较,把大的存入a中、小的存入b中; ② 然后将a、c进行比较,把大的存入a中、小的存入c中;

③ 最后再将b、c进行比较,把较大的存入b中、小的存入c中,即完成排序。 2、提示

提示:

可通过流程图帮助理解,可借助中间变量t完成交换。 3、输入输出:

printf(\请输入三个整数n1,n2,n3:\输出提示信息*/ scanf(\由键盘输入3个数*/ printf(\排序前:%d, %d, %d\\n\printf(\排序后:%d, %d, %d\\n\

来源:

#include main() {

int a,b,c,t;

printf(\请输入三个整数n1,n2,n3:\ /*输出提示信息*/ scanf(\ /*由键盘输入3个数*/ printf(\排序前:%d, %d, %d\\n\ if(a

printf(\排序后:%d, %d, %d\\n\

Multi=m*n/a;

printf(\}

试题查看

标题: 5. 按从大到小排序三个数 时 限: 1000 ms 内存限制: 10000 K 总时限: 3000 ms

描述: 从键盘输入三个数,将它们按从大到小进行排序,然后输出。 输入: 输入三个数。

输出: 按从大到小进行排序后的三个数。 输入样例: 3 4 5 输出样例:

排序前:3, 4, 5排序后:5, 4, 31、分析

① 先将a、b进行比较,把大的存入a中、小的存入b中; ② 然后将a、c进行比较,把大的存入a中、小的存入c中;

③ 最后再将b、c进行比较,把较大的存入b中、小的存入c中,即完成排序。 2、提示

提示:

可通过流程图帮助理解,可借助中间变量t完成交换。 3、输入输出:

printf(\请输入三个整数n1,n2,n3:\输出提示信息*/ scanf(\由键盘输入3个数*/ printf(\排序前:%d, %d, %d\\n\printf(\排序后:%d, %d, %d\\n\

来源:

#include main() {

int a,b,c,t;

printf(\请输入三个整数n1,n2,n3:\ /*输出提示信息*/ scanf(\ /*由键盘输入3个数*/ printf(\排序前:%d, %d, %d\\n\ if(a

printf(\排序后:%d, %d, %d\\n\

本文来源:https://www.bwwdw.com/article/bkmg.html

Top