c语言编程题

合集下载

c语言编程题库100题,

c语言编程题库100题,

c语言编程题库100题,单项选择题1.有char c=’1’,下面说法中正确的是()。

A. 语句putc+2);的输入结果为51B. 语句put“%d”,c+2);的输出结果为3C. 语句put“%c”,c+2);的输入结果为51D. 语句put“%c”,c+2);的输出结果为32.设c1,c2均就是char型变量,则下面不恰当的函数调用为()。

A. scanf(”c1=2=%c”,&c1,&c2);B. get);C. putc2);D. putc1,c2);3.为了表示关系x>=y>=z,下面C语言表达式中正确的是()。

A. (x>=y)&&(y>=z)B. (x>=y)and(y>=z)C. (x>=y>=z)D. (x>=y)&(y>=z)4.设x,y,z,t为int型变量,则继续执行以下语句后,t的值()。

x=y=z=1;t=++x||++y&&++z;A. 不定值B. 2C. 1D. 05.对if语句中表达式的类型,下面正确的说法是()。

A. 必须就是关系表达式B. 必须是关系表达式或逻辑表达式C. 可以就是任一表达式D. 必须是关系表达式或算术表达式6.对for(表达式1;;表达式3)可以认知为()。

A. for(表达式1;0;表达式3)B. for(表达式1;表达式1;表达式3)C. for(表达式1;1;表达式3)D. for(表达式1;表达式3;表达式3)7.执行语句for(i=1;i++<4;);之后,变量i的值为()。

A. 3B. 4C. 5D. 不确定8.若二维数组a存有m列,则在a[i][j]前的元素个数为()。

A. j*m+iB. i*m+jC. i*m+j-iD. i*m+j+19.下面说法中正确的是()。

A. 在C语言中,可以采用动态内存分配技术,定义元素个数气门的数组B. 在C语言中,数组元素的个数可以不确定,允许随即变动C. 在C语言中,数组元素的数据类型可以不一致D. 在C语言中,定义数组后,就确定了它能容纳的相同数据类型元素的个数10.无法把字符串:“good!”参数值数组b的语句就是()。

经典C语言编程(20题)

经典C语言编程(20题)

1.请编写一个函数fun,其功能是:删除字符串中的数字字符。

例如,输入字符串为:48CTYP9R6,则输出:CTYPR。

部分源程序已经给出,请勿改动主函数的内容。

main(){ char item[100];gtes(item);fun(item);printf(“The string:%s\n”,item);}解答:#include<stdio.h>#include<string.h>void fun(char s[]){int i,j;for(i=j=0;s[i]!='\0';i++)if(s[i]>='0' && s[i]<='9') i++;elses[j++]=s[i]; s[j]='\0';}main(){ char item[100];gets(item);fun(item);printf("The string:%s\n",item); }2. 从键盘上读入一字符串存入字符数组xx中,请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应位置上,最后调用函数WriteDat()将结果xx输出。

替代关系如下:f(p)=p*11%256其中,p是数组xx中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符的ASCII值是偶数或计算后f(p)值小于32,则该字符不变,否则用f(p)所对应的字符进行替代。

设字符串的长度小于80个字符,部分源程序已给出。

除增加必要的数据定义、函数参数外,请勿改动主函数的内容。

#include <stdio.h>main(){ char xx[80];gets(xx);encryptChar();WriteDat();}解答:#include<stdio.h>#include<string.h>void encryptChar(char a[]) {int i,j;for(i=j=0;a[i]!='\0';i++) if(a[i]%2==0 ||(a[i]*11%256<32))a[j++]=a[i];elsea[j++]=a[i]*11%256; } WriteDat(char a[]) {puts(a);}main(){ char xx[80];gets(xx);encryptChar(xx); WriteDat(xx);} _3. 设有数组:int a[10]={6012,5099,9012,7025,8088,9096,8080,3046,5082,2345};请编制函数jssort(),其功能是:要求按每个数的后三位的大小进行升序排序,然后调用函数WriteDat()将结果输出。

c语言编程题库100题

c语言编程题库100题

c语言编程题库100题1. 计算两个整数的和编写一个C程序,接收两个整数作为输入并计算它们的和,并将结果输出。

2. 计算两个整数的差编写一个C程序,接收两个整数作为输入并计算它们的差,并将结果输出。

3. 计算两个整数的乘积编写一个C程序,接收两个整数作为输入并计算它们的乘积,并将结果输出。

4. 计算两个整数的商编写一个C程序,接收两个整数作为输入并计算它们的商,并将结果输出。

5. 判断一个整数是否为偶数编写一个C程序,接收一个整数作为输入并判断它是否为偶数,并将结果输出。

6. 判断一个整数是否为质数编写一个C程序,接收一个整数作为输入并判断它是否为质数(只能被1和自身整除的数),并将结果输出。

7. 计算一个整数的阶乘编写一个C程序,接收一个整数作为输入并计算它的阶乘,并将结果输出。

8. 计算一个整数的平方根编写一个C程序,接收一个整数作为输入并计算它的平方根,并将结果输出。

9. 判断一个字符串是否为回文字符串编写一个C程序,接收一个字符串作为输入并判断它是否为回文字符串(正向和反向读取都相同的字符串),并将结果输出。

10. 排序一个整数数组编写一个C程序,接收一个整数数组作为输入并对其进行排序,并将结果输出。

11. 求两个整数之间的最大公约数编写一个C程序,接收两个整数作为输入并计算它们的最大公约数,并将结果输出。

......(依此类推,共100道题)这是一个C语言编程题库,包含100道不同类型的题目。

你可以选择其中的题目进行练习和实践,通过解决这些问题来提升自己的C语言编程能力。

每道题目都有具体的描述和要求,你可以按照题目要求编写相应的代码,并运行测试。

如果遇到问题,可以参考相关的解法或向他人寻求帮助。

通过不断地练习和学习,你将逐渐掌握C语言的编程技巧和思维方式,提高自己在编程领域中的能力。

祝你编程愉快!。

C语言经典编程100题(答案版)

C语言经典编程100题(答案版)

C语言经典程序100题(答案版)【程序1】题目:企业发放的奖金根据利润提成。

利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?1.程序分析:请利用数轴来分界,定位。

注意定义时需把奖金定义成长整型。

2.程序源代码:1.#include"stdio.h"2.#include"conio.h"3.main()4.{5.long int i;6.int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;7.scanf("%ld",&i);8.bonus1100000*0.1;9.bonus2bonus1+100000*0.75;10.bonus4bonus2+200000*0.5;11.bonus6bonus4+200000*0.3;12.bonus10bonus6+400000*0.15;13.if(i<100000)14.bonus i*0.1;15.else if(i<200000)16.bonus bonus1+(i-100000)*0.075;17.else if(i<400000)18.bonus bonus2+(i-200000)*0.05;19.else if(i<600000)20.bonus bonus4+(i-400000)*0.03;21.else if(i<1000000)22.bonus bonus6+(i-600000)*0.015;23.else24.bonus bonus10+(i-1000000)*0.01;25.printf("bonus%d",bonus);26.getch();27.}【程序2】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。

c语言编程大题

c语言编程大题

三、编程题1.输入一个半径值,分别计算圆周长、圆面积和球的体积。

要求使用符号常量定义圆周率。

#include<stdio.h>int main(){printf("计算圆周长面积求面积\n");floatr,c,s,v;scanf("%f",&r);# define PI 3.14159265c=2*PI*r;s=4*PI*r*r;v=4/3*PI*r*r*r;printf("周长是%.2f\n",c);printf("表面积是%.2f\n”,s);printf("体积是%,2f\n",v);return 0;}2.假设今天是星期三,编程求20天之后是星期几?#include<stdio.h>int main(){printf("今天是星期三,20天后是星期几?\n");int i;i=23%7;printf("20 天后是星期%d\n”,i);return 0;}3.从键盘输入一个字符,然后将其按字符和整数这两种形式输出。

#include<stdio.h>int main(){printf("输入一个字符3");char i;scanf("%c",&i);printf("整数形式是%d\n"』);printf("字母形式是%c\n”,i);return 0;}4.输入一个大写英文字母,将它转化为小写输出。

#include<stdio.h>int main(){printf("请输入一个大写英文字母\n");charch;scanf("%c",&ch);printf("%c\n",ch+32);return 0;}5.求一元二次方程ax A2+bx+c=0方程的两个实根。

c语言考试题及答案

c语言考试题及答案

c语言考试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是:A. C语言是一种高级语言B. C语言可以直接被计算机执行C. C语言具有结构化的特点D. C语言具有跨平台的特性答案:B2. C语言中,用于定义一个整型变量的关键字是:A. intB. floatC. doubleD. char答案:A3. 在C语言中,以下哪个运算符用于取模运算?A. %B. /C. *D. -答案:A4. 下列关于数组的描述中,正确的是:A. 数组必须在程序开始时初始化B. 数组的元素可以是不同的数据类型C. 数组的索引从1开始D. 数组的声明必须指定数组的大小答案:D5. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. functionD. define答案:B6. C语言中,用于表示逻辑“与”操作的运算符是:A. &&B. ||C. !D. &答案:A7. 下列哪个选项是C语言中合法的注释?A. // 这是一个注释B. /* 这是一个注释 */C. // 这是一个注释/* 这是一个注释 */D. /* 这是一个注释 */答案:A8. C语言中,用于定义一个空指针的值是:A. NULLB. 0C. falseD. none答案:A9. 下列关于指针的描述中,错误的是:A. 指针可以存储变量的地址B. 指针可以存储函数的地址C. 指针可以存储数组的索引D. 指针可以存储指针的地址答案:C10. 在C语言中,用于定义一个字符型指针的声明是:A. char *ptr;B. int *ptr;C. float *ptr;D. double *ptr;答案:A二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型数组的语法是:______ int array[10];。

答案:int2. 如果一个变量的值是10,那么表达式sizeof(&var)的结果是:______。

c语言编程题考试题库及答案

c语言编程题考试题库及答案

c语言编程题考试题库及答案一、单项选择题1. 在C语言中,以下哪个选项是正确的整型常量?A. 0x12LB. 0x12.5C. 0x12.0D. 0x12F答案:A2. C语言中,以下哪个选项是正确的字符串字面量?A. "Hello, World"B. 'Hello, World'C. "Hello, World\n"D. "Hello, World\"答案:C3. 在C语言中,以下哪个选项是正确的函数声明?A. int add(int a, int b);B. int add(int, int);C. int add();D. int add(a, b);答案:A4. C语言中,以下哪个选项是正确的数组声明?A. int a[5] = {1, 2, 3, 4, 5};B. int a[] = {1, 2, 3, 4, 5};C. int a[5] = {1, 2, 3};D. int a = {1, 2, 3, 4, 5};答案:B5. 在C语言中,以下哪个选项是正确的指针声明?A. int *p = 0;B. int *p = "Hello";C. int *p = 5;D. int p = 0;答案:A二、填空题1. 在C语言中,表示逻辑“与”操作的运算符是 ________ 。

答案:&&2. C语言中,表示逻辑“或”操作的运算符是 ________ 。

答案:||3. 在C语言中,表示逻辑“非”操作的运算符是 ________ 。

答案:!4. C语言中,表示赋值操作的运算符是 ________ 。

答案:=5. 在C语言中,表示取地址操作的运算符是 ________ 。

答案:&三、程序阅读题阅读以下C语言程序段,并回答问题。

```c#include <stdio.h>int main() {int a = 10, b = 20, c;c = a + b;printf("%d", c);return 0;}```1. 程序的输出结果是什么?答案:302. 如果将`c = a + b;`改为`c = a * b;`,程序的输出结果是什么?答案:200四、编程题1. 编写一个C语言程序,实现两个整数的加法运算,并输出结果。

C语言编程题带答案

C语言编程题带答案

C语言编程题带答案题目 1:求两个整数的最大值```cinclude <stdioh>int max(int num1, int num2) {if (num1 > num2) {return num1;} else {return num2;}}int main(){int num1 = 10, num2 = 20;int maxValue = max(num1, num2);printf("最大值为: %d\n", maxValue);return 0;}```分析:在这个程序中,我们定义了一个名为`max` 的函数,它接受两个整数参数`num1` 和`num2` 。

通过使用条件判断语句`if` 来比较这两个数的大小,如果`num1` 大于`num2` ,则返回`num1` ,否则返回`num2` 。

在`main` 函数中,我们给定了两个整数`num1` 和`num2` 的值,并调用`max` 函数来获取它们中的最大值,最后使用`printf` 函数将最大值输出到控制台。

题目 2:计算一个整数数组的平均值```cinclude <stdioh>float average(int arr, int size) {int sum = 0;for (int i = 0; i < size; i++){sum += arri;}return (float)sum / size;}int main(){int arr ={10, 20, 30, 40, 50};int size = sizeof(arr) / sizeof(arr0);float avg = average(arr, size);printf("平均值为: %2f\n", avg);return 0;}```分析:在这个程序中,首先在`average` 函数里,我们初始化一个变量`sum` 为 0 ,用于存储数组元素的总和。

c语言编程计算题

c语言编程计算题

c语言编程计算题一、题目:求两个数的最大公约数和最小公倍数要求:1.输入两个整数a和b(a>b)。

2.使用辗转相除法求最大公约数,使用最小公倍数等于两数之积除以最大公约数的公式求最小公倍数。

3.输出结果,包括最大公约数和最小公倍数。

参考解答:#include<stdio.h>intmain(){inta,b,gcd,lcm;printf("请输入两个整数:\n");scanf("%d%d",&a,&b);if(a<b){inttemp=a;a=b;b=temp;}gcd=a;while(b!=0){gcd=gcd*b%b;b--;}lcm=a*b/gcd;printf("最大公约数是:%d\n",gcd);printf("最小公倍数是:%d\n",lcm);return0;}二、题目:求一个数的阶乘要求:1.输入一个正整数n。

2.使用循环语句计算n的阶乘,即n!=n*(n-1)*...*2*1。

3.输出结果。

参考解答:#include<stdio.h>intmain(){intn;printf("请输入一个正整数:\n");scanf("%d",&n);longlongfactorial=1;for(inti=1;i<=n;i++){factorial*=i;}printf("%d的阶乘为:%lld\n",n,factorial);return0;}三、题目:求斐波那契数列的前n项和要求:1.输入一个正整数n,表示斐波那契数列的项数。

2.使用循环语句和累加器求斐波那契数列的前n项和。

具体来说,第i项的值等于前两项的值之和,即f(i)=f(i-1)+f(i-2)。

将每一项的值累加到结果中即可。

3.输出结果。

C语言题库-编程

C语言题库-编程

顺序结构1.编写一个程序,从键盘输入一个三位整数,将它们逆序输出。

例如输入127,输出721。

2.#include<stdio.h>3.main()4.{printf("请输入一个三位数/n");5.Scanf("%d",&a);6.B=a%10;7.C=a/10%10;8.D=a/100;9.F=d*100+c*10+b;10.Printf("%d",f);11.}12.13.选择结构1.编程判断输入的正整数是否既是5又是7的整倍数。

若是,输出yes,否则输出no。

2.#include<stdio.h>3.main()4.{5.Int i;6.Scanf("%d",%d);7.If(i%7==0&&i%5==0)8.Printf("yes");9.Else printf("no");10.}11.编写一程序,对于给定的一个百分制成绩,输出相应的五分制成绩。

设:90分以上为A,12.80~89分为B,70~79分为C,60~69分为D,60分以下为E。

13.#include<stdio.h>14.Main()15.{16.Scandf("'%d",&a);17.If(a>90)18.Printf("A");19.Else if(a<=89&&a<=80)20.Printf("B");21.Else if(a>70&&a<=79)22.Peintf("C");23.Else if(a>60&&a<69)24.Printf("D");25.Else26.Printf("E");27.}28.已知银行整存整取存款不同期限的月息利率分别为:0.315% 期限一年0.330% 期限二年月息利率=0.345% 期限三年0.375% 期限五年0.420% 期限八年要求输入存钱的本金和期限,求到期时能从银行得到的利息与本金的合计。

C语言经典编程100例

C语言经典编程100例

C语言经典编程100例程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....2.程序源代码:main(){long f1,f2;int i;f1=f2=1;for(i=1;i<=20;i++){ printf("%12ld %12ld",f1,f2);if(i%2==0) printf("\n");/*控制输出,每行四个*/f1=f1+f2; /*前两个月加起来赋值给第三个月*/f2=f1+f2; /*前两个月加起来赋值给第三个月*/}}==============================================================【程序2】题目:判断101-200之间有多少个素数,并输出所有素数。

1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。

2.程序源代码:#include "math.h"main(){int m,i,k,h=0,leap=1;printf("\n");for(m=101;m<=200;m++){ k=sqrt(m+1);for(i=2;i<=k;i++)if(m%i==0){leap=0;break;}if(leap) {printf("%-4d",m);h++;if(h%10==0)printf("\n");}leap=1;}printf("\nThe total is %d",h);}==============================================================【程序3】数本身。

C语言编程题_经典40题(附解答)

C语言编程题_经典40题(附解答)
/*对数组R[0..n-1]按递增序进行冒泡排序*/
{int i, j, temp, exchange ; for ( i=0; i<n-1; i++)
/*i表示趟数,最多n-1趟*/
{exchange=0; /*假设这一趟不会有数据交换*/
for ( j=n-1 ; j> i; j--)
if (R[j]<R[j-1]) /*若反序则交换,将较小的元素往上调*/ { temp =R[j]; R[j]=R[j-1]; R[j-1]= temp; exchange=1; } if(exchange= =0) return; } }
{ for( j=1; j<=i; j++)
printf(―%4d* %d= %2d‖, i, j, i*j); printf(―\n‖); } }
8、铁路托运行李规定:行李重不超过50公斤的,托运费 按每公斤0.15元计费;如超过50公斤,超过部分每公斤加收 0.10元。编一程序实现自动计费功能。 double money(double w ) { if (w<=50) return 0.15*w; else return 0.75+0.1*(w-50); } void main( ) { int w; double f; do { printf(―请输入行李重量:”); scanf(―%d‖,&w); if (w >0) { f =money(w); printf(―\nweight=%d,freight=%f‖,w,f); } }while (w= =0); }
{ temp=b[i]; b[i]=b[k]; b[k]=temp; }
} }
输出一维数组的函数如下:

计算机c语言程序设计考试题及答案

计算机c语言程序设计考试题及答案

计算机c语言程序设计考试题及答案一、选择题1. 下列选项中,哪一个是C语言的关键字?a) mainb) inputc) ifd) print答案:c) if2. C语言中用于定义整型变量的关键字是:a) intb) charc) floatd) double答案:a) int3. 在C语言中,以下字符常量的定义方式错误的是:a) 'A'b) '\n'c) 'AB'd) '\t'答案:c) 'AB'4. 下面哪个运算符优先级最低?a) +b) =c) *d) /答案:b) =5. 在C语言中,执行循环操作的语句是:a) forb) whilec) ifd) switch答案:b) while二、填空题1. 在C语言中,输出字符常量的函数是_______。

答案:printf2. 以下是定义数组的正确方式:int numbers[10];答案:int numbers[10];3. 在C语言中,用于判断条件是否成立的关键字是_______。

答案:if4. 以下是C语言中声明一个指针变量的方式:int *ptr;答案:int *ptr;5. 在C语言中,用于输入整型变量的函数是_______。

答案:scanf三、编程题请编写一个C语言程序,计算输入的两个整数相加的结果并输出。

```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入第一个整数:");scanf("%d", &num1);printf("请输入第二个整数:");scanf("%d", &num2);sum = num1 + num2;printf("两个整数的和为:%d\n", sum);return 0;}```四、解答题1. 请解释C语言中的指针概念以及指针与变量的关系。

C语言编程题(带答案)

C语言编程题(带答案)
{ int i,a,n;
long int sum=0,st=0;
printf("请输a和n:");
scanf("%d%d",&a,&n);
for(i=1;i<=n;i++)
{ st=st+a;
sum=sum+st;
a=a*10;
}
printf("%ld\n",sum);
35、计算并输出1-200之间不能被3整除的整数的和。
36、输入3个学生4门课的成绩{(60,70,65,75),(75,80,75,90),(95,75,90,65)},计算每个学生的总分和平均成绩并输出,结果保留一位小数。
37、输入一个华氏温度,输出摄氏温度,计算公式为c=5/9*(F-32)。要求结果保留两位小数。
if(a<0)
printf("f\n");
if(a%2==0)
printf("o\n");
if(a%2!=0)
printf("j\n");
}
12、计算并输出1-200之间不能被5整除的整数的和。
#include<stdio.h>
void main()
printf("%d\n",sum);
}
8、编写程序,将用户输入的字符串中所有的字符a用*代替,然后输出。
#include<stdio.h>
#include<string.h>
void main()
{ int i,n;

C语言编程题库

C语言编程题库

C语言机械1班1.用for循环从1加到100 。

(江松)# include <stdio.h>int main(void){int s=0, i;for(i=1; i<=100; i++){s=s+i;}printf("%d", s);}2.求从1到50的所有能被3整除的数的和。

(江松)# include <stdio.h>int main(void){int i=1,sum=0;while(i<=50){if(i%3==0){sum+=i;}i++;}printf("sum=%d",sum);}3.编写程序,求12+22+32……+n2,直到累加和大于等于10000为止,并输出n和超出10000的值。

(江松)#include<stdio.h>int main(void){int i,sum;i=0;sum=0;while(sum <10000){sum + =i*i;i++;}printf("n=%d sum=%d",i-1,sum);}4.用冒泡排序法对10个整数按照由小到大的顺序进行排序。

(江松)#include<stdio.h>#define N 10void main(){int i,a[N],t=0,j=0;for(i=0;i<N;i++)scanf("%d",&a[i]);for(i=0;i<N-1;i++)for(j=0;j<N-1-i;j++)if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}for(i=0;i<N;i++)printf("%5d",a[i]);}5.输入三个整数x,y,z,请把这三个数由小到大输出。

(江松)#include <stdio.h>int main(void){intx,y,z,t;scanf("%d%d%d",&x,&y,&z);if (x>y){t=x;x=y;y=t;}if(x>z){t=z;z=x;x=t;}if(y>z){t=y;y=z;z=t;}printf("small to big: %d %d %d\n",x,y,z);}6.编写程序,输入一个整数,打印出它是奇数还是偶数。

c语言必做100题

c语言必做100题

c语言必做100题1. 编写一个C程序,输出“Hello, World!”。

2. 编写一个C程序,计算并输出1到100的和。

3. 编写一个C程序,判断一个数是否为素数。

4. 编写一个C程序,将一个字符串反转。

5. 编写一个C程序,实现二分查找算法。

6. 编写一个C程序,实现插入排序算法。

7. 编写一个C程序,实现选择排序算法。

8. 编写一个C程序,实现冒泡排序算法。

9. 编写一个C程序,实现快速排序算法。

10. 编写一个C程序,实现希尔排序算法。

11. 编写一个C程序,将一个二维数组转置。

12. 编写一个C程序,计算一个数的阶乘。

13. 编写一个C程序,实现斐波那契数列。

14. 编写一个C程序,计算两个数的最大公约数。

15. 编写一个C程序,计算两个数的最小公倍数。

16. 编写一个C程序,计算一个数的平方根。

17. 编写一个C程序,计算一个数的立方根。

18. 编写一个C程序,实现矩阵乘法运算。

19. 编写一个C程序,实现字符串的查找和替换。

20. 编写一个C程序,实现栈的基本操作(入栈、出栈、查看栈顶元素)。

21. 编写一个C程序,实现队列的基本操作(入队、出队、查看队首元素)。

22. 编写一个C程序,实现链表的基本操作(插入、删除、倒置)。

23. 编写一个C程序,实现二叉树的前序、中序和后序遍历。

24. 编写一个C程序,实现图的深度优先搜索算法。

25. 编写一个C程序,实现图的广度优先搜索算法。

26. 编写一个C程序,实现最短路径算法(Dijkstra算法或Floyd算法)。

27. 编写一个C程序,实现最小生成树算法(Prim算法或Kruskal算法)。

28. 编写一个C程序,实现拓扑排序算法。

29. 编写一个C程序,实现优先队列。

30. 编写一个C程序,实现哈希表的基本操作(插入、查找、删除)。

31. 编写一个C程序,实现堆的基本操作(插入、删除、查找最大值)。

32. 编写一个C程序,实现最大堆排序算法。

(完整版)C语言考试题库及答案

(完整版)C语言考试题库及答案

(完整版)C语言考试题库及答案一、选择题1. 以下哪个选项是C语言的合法标识符?A. intB. 2abcC. voidD. a+b答案:C2. 在C语言中,下列哪个选项是正确的数据类型?A. floatB. integerC. doubleD. All of the above答案:D3. 若变量定义如下:int a = 5;,则执行语句printf("%d", a++); 后,a的值是多少?A. 4B. 5C. 6D. 无法确定答案:C4. 以下哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A5. 在C语言中,哪个运算符用于取模(取余)?A. %B. /C. &D. |答案:A以下是判断题部分:6. C语言中的数组名可以作为指向该数组首元素的指针使用。

()答案:正确7. 在C语言中,结构体变量可以作为函数的参数传递。

()答案:正确8. 在C语言中,静态存储类别的变量在程序运行期间始终占据内存空间。

()答案:正确二、填空题9. 在C语言中,定义一个整型变量需要使用关键字______。

答案:int10. 若变量定义如下:int a = 10;,则执行语句printf("%d", a--); 后,a的值是______。

答案:911. 在C语言中,用于动态分配内存的函数是______。

答案:malloc12. 在C语言中,用于释放动态分配的内存的函数是______。

答案:free13. 在C语言中,用于清空标准输入缓冲区的函数是______。

答案:getchar()三、编程题14. 编写一个C语言程序,实现以下功能:输入一个整数,输出它的阶乘。

答案:```c#include <stdio.h>int main() {int n, i;long factorial = 1;printf("Enter an integer: ");scanf("%d", &n);if (n < 0) {printf("Factorial of a negative number doesn't exist.\n");} else {for (i = 1; i <= n; i++) {factorial = i;}printf("Factorial of %d is %ld\n", n, factorial);}return 0;}```15. 编写一个C语言程序,实现以下功能:输入一个字符串,判断它是否是回文(正读和反读都一样的字符串)。

C语言程序设计考试试题(附答案)

C语言程序设计考试试题(附答案)

C语言程序设计考试试题(附答案) C语言程序设计考试试题(附答案)一、选择题(共30题,每题2分,共60分)1. 下列哪个是C语言关键字?A. printB. variableC. whileD. calculate答案:C2. 在C语言中,下列哪个是合法的变量名?A. 1_helloB. _worldC. v-ariableD. continue答案:B3. 下列哪个是正确的C语言注释方式?A. // This is a commentB. # This is a commentC. /* This is a comment */D. <!-- This is a comment -->答案:C4. 下列哪个是正确的C语言函数定义格式?A. void addNumbers()B. addNumbers()C. function addNumbers()D. int addNumbers()答案:D5. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 5;int y = 2;float result = x / y;printf("%f", result);return 0;}```A. 2.5B. 2C. 2.000000D. 5答案:B6. 在C语言中,下列哪个是正确的if语句格式?A. if (x > 4) thenB. if (x > 4) { }C. if x > 4D. if (x > 4)答案:D7. 下列哪个是C语言中的逻辑运算符?A. ++B. &&C. %D. =答案:B8. 在C语言中,下列哪个是正确的for循环格式?A. for (x = 0; x < 5)B. for {x = 0; x < 5; x++}C. for (int x = 0; x < 5; x++)D. for (x = 0; x < 5;)答案:C9. 下列哪个是C语言中的自增运算符?A. ++B. +=C. =D. --答案:A10. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 2;x *= 3 + 4;printf("%d", x);return 0;}```A. 14B. 20C. 21D. 22答案:C11. 在C语言中,下列哪个是正确的switch语句格式?A. switch (x) {case 1;case 2;break;default;break;}B. switch (x) {case 1:case 2:break;default:break;}C. switch (x) case 1:case 2:break;default:break; D. switch (x) { case 1,case 2,break,default,break,}答案:B12. 下列哪个是C语言中的逗号运算符?A. &&B. !C. ,D. |答案:C13. 在C语言中,下列哪个是正确的数组声明?A. array[5]B. [5] arrayC. array[] = [5]D. int array[5]答案:D14. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int i;for (i = 0; i <= 5; i++){printf("%d ", i);if (i == 3)continue;}return 0;}```A. 0 1 2 3 4 5B. 0 1 2 3 4C. 0 1 2 3 4 5 6D. 0 1 2 4 5答案:A15. 下列哪个是C语言中的求余运算符?A. /B. +C. %D. *答案:C16. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 4;int y = 5;if (x > 2 || y < 10){printf("True");}else{printf("False");}return 0;}```A. TrueB. FalseC. x > 2 || y < 10D. 4 5答案:A17. 在C语言中,下列哪个是正确的do-while循环格式?A. do (x < 5)B. do {x < 5} whileC. do {x < 5} while (x++)D. do {x < 5;} while (x < 5)答案:D18. 下列哪个是C语言中的逻辑非运算符?A. !B. &&C. <D. =答案:A19. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int i;for (i = 1; i <= 10; i++){if (i % 2 == 0)continue;printf("%d ", i);}return 0;}```A. 1 2 3 4 5 6 7 8 9 10B. 1 3 5 7 9C. 2 4 6 8 10D. 1 2 4 8答案:B20. 下列哪个是C语言中的减法运算符?B. +C. -D. *答案:C21. 在C语言中,下列哪个是正确的数组初始化方式?A. int array[5] = {1, 2, 3}B. array[5] = {1, 2, 3}C. int array[] = {1, 2, 3}D. int array[5] = {1, 2, 3,}答案:C22. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 5;int y = 7;if (x > 2 && y < 10)printf("True");}else{printf("False");}return 0;}```A. TrueB. FalseC. x > 2 & y < 10D. x > 2 || y < 10答案:A23. 下列哪个是C语言中的除法运算符?A. /B. +C. %答案:A24. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 7;int y = (x > 5) ? 10 : 5;printf("%d", y);return 0;}```A. 7B. 5C. 10D. 15答案:C25. 在C语言中,下列哪个是正确的while循环格式?A. while (x < 5;)B. while {x < 5;}C. while (x < 5)D. while {x < 5}答案:C26. 下列哪个是C语言中的位运算符?A. ||B. &&C. !D. &答案:D27. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 2;int y = 3;if (x = y){printf("Equal");}else{printf("Not equal");}return 0;}```A. EqualB. Not equalC. 2D. 3答案:A28. 在C语言中,下列哪个是正确的goto语句格式?A. goto label;B. goto (label);C. gote labelD. go to label答案:A29. 下列哪个是C语言中的加法运算符?A. /B. +C. %D. *答案:B30. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 5;int y = 2;int result = x % y;printf("%d", result);return 0;}A. 2B. 1C. 3D. 0答案:B二、编程题31. 编写一个C语言程序,在屏幕上输出从1到100的所有偶数。

C语言编程100题

C语言编程100题

经典C语言程序设计100例【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。

组成所有的排列后再去掉不满足条件的排列。

2.程序源代码:main(){int i,j,k;printf("\n");for(i=1;i<5;i++)/*以下为三重循环*/for(j=1;j<5;j++)for (k=1;k<5;k++){if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/printf("%d,%d,%d\n",i,j,k);}}【程序2】题目:企业发放的奖金根据利润提成。

利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?1.程序分析:请利用数轴来分界,定位。

注意定义时需把奖金定义成长整型。

2.程序源代码:main(){long int i;int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;scanf("%ld",&i);bonus1=100000*0.1;bonus2=bonus1+100000*0.75;bonus4=bonus2+200000*0.5;bonus6=bonus4+200000*0.3;bonus10=bonus6+400000*0.15;if(i<=100000)bonus=i*0.1;else if(i<=200000)bonus=bonus1+(i-100000)*0.075;else if(i<=400000)bonus=bonus2+(i-200000)*0.05;else if(i<=600000)bonus=bonus4+(i-400000)*0.03;else if(i<=1000000)bonus=bonus6+(i-600000)*0.015;elsebonus=bonus10+(i-1000000)*0.01;printf("bonus=%d",bonus);}-----------------------------------------------------------------------------【程序3】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。

C语言编程练习题附答案

C语言编程练习题附答案

C语言编程练习题附答案1.从键盘输入20个整数,使用冒泡排序将它们从大到小排列并输出。

includeint main() {int a[20]。

i。

j。

t;printf("请任意输入20个整数\n");for (i = 0.i < 20.i++)scanf("%d"。

&a[i]);printf("\n");for (i = 0.i < 19.i++)for (j = 0.j < 19 - i。

j++)if (a[j] < a[j + 1]) {t = a[j];a[j] = a[j + 1];a[j + 1] = t;printf("按照从大到小的顺序排列为\n");for (i = 0.i < 20.i++)printf("%d,"。

a[i]);printf("\n");return 0;2.从键盘输入20个整数,使用选择排序将它们从大到小排列并输出。

includedefine N 20int main() {int a[N]。

i。

j。

max。

k;printf("请任意输入20个整数\n");for (i = 0.i < N。

i++)scanf("%d"。

&a[i]);printf("\n");for (i = 0.i < N - 1.i++) {k = i;for (j = i + 1.j < N。

j++)if (a[i] < a[j])k = j;max = a[k];a[k] = a[i];a[i] = max;printf("按照从大到小的顺序排列为\n");for (i = 0.i < N。

i++)printf("%d,"。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

【编程要求】1、编写函数int findword(char *s,char *t,char ch[][20])。

函数功能:在由若干句子组成的字符串s中搜索包含字符串t的所有单词,将这些单词存放在数组ch中,函数返回找到的单词格式。

称字符串s 为“被搜索字符串”,字符串t为“搜索字符串”。

2、编写main函数。

函数功能:声明数组s与t,用被搜索字符串与搜索字符串初始化这两个数组。

调用函数findword对给定的测试数据进行检索,并将检索到的包含字符串t的所有单词及单词的个数保存到结果文件myf2、out中。

最后将考生本人的准考证号字符串也保存到结果文件myf2、out中。

【测试数据及运行结果】被搜索字符串:No living man all things can、Graspall,loseall、搜索字符串:all检索结果:all,Graspall,loseall、3【要求】●源程序文件名必须取为myf2、c,输出结果文件名必须取为myf2、out●数据文件的打开、使用与关闭均用C语言标准库中缓冲文件系统的文件操作函数实现。

●源程序文件与运行结果文件必须保存在考试盘的根目录下,供阅卷用。

●不要复制扩展名为OBJ与EXE的文件到考试盘上。

2、编程题【编程要求】1、编写函数void josephu(int a[],int b[],int n,int m)实现如下模拟处理功能:a指向的数组中存储了n 个人的编号(从1开始按序编号到n)。

n个人围坐成一圈,从编号为1 的人开始报数(从1到m报数),凡报到m的人出列。

将每次出列的人的编号依次保存在b指向的数组中,直到最后一个人出列为止。

2、编写main函数。

用给定的测试数据调用josephu函数,将经函数处理后得到的n个依次出列的人的编号保存到结果文件myf2、out中。

最后将考生本人的准考证号字符串也保存到结果文件myf2、out中。

【测试数据及运行结果】测试数据: n=10,m=3运行结果: 3, 6, 9, 2, 7, 1, 8, 5, 10, 4My exam number is :0112400123(考生本人准考证号)【要求】●源程序文件名必须取为myf2、c,输出结果文件名必须取为myf2、out●数据文件的打开、使用与关闭均用C语言标准库中缓冲文件系统的文件操作函数实现。

●源程序文件与运行结果文件必须保存在考试盘的根目录下,供阅卷用。

●不要复制扩展名为OBJ与EXE的文件到考试盘上。

3、编程题【编程要求】1、编写函数void squeeze(char *s1,char *s2,char *s3),其功能就是:从s1指向的字符串中删去所有在s2指向的字符串中已出现的字符,将从s1中删除的字符保存到s3指向的数组中。

2、编写main函数。

用给定的测试字符串s1与s2调用squeeze函数,将处理后的s1字符串与s3字符串保存到结果文件myf2、out中。

最后将考生本人的准考证号字符串也保存到结果文件myf2、out中。

【测试数据及运行结果】s1:“abbcdefgghiijkl”,s2:“bdglkw”运行结果:s1: acefhiij, s3:bbdggklmy exam number is :0112400123(本人准考证号)【要求】●源程序文件名必须取为myf2、c,输出结果文件名必须取为myf2、out●数据文件的打开、使用与关闭均用C语言标准库中缓冲文件系统的文件操作函数实现。

●源程序文件与运行结果文件必须保存在考试盘的根目录下,供阅卷用。

●不要复制扩展名为OBJ与EXE的文件到考试盘上。

4、编程题【编程要求】1、编写函数char *insert(char *p),其功能就是:在p指向的字符串中所有数字字符子串前插入一个符号’-’。

函数返回p字符串的首地址。

2、编写main函数。

用给定的测试字符串初始化数组,调用insert函数对字符串做处理,将结果字符串保存到结果文件myf2、out中。

最后将考生本人的准考证号字符串也保存到结果文件myf2、out 中。

【测试数据及运行结果】测试数据:AB1CD12EF123GH运行结果:AB-1CD-12EF-123GHmy exam number is :0112400123(本人准考证号)【要求】●源程序文件名必须取为myf2、c,输出结果文件名必须取为myf2、out●数据文件的打开、使用与关闭均用C语言标准库中缓冲文件系统的文件操作函数实现。

●源程序文件与运行结果文件必须保存在考试盘的根目录下,供阅卷用。

●不要复制扩展名为OBJ与EXE的文件到考试盘上。

5、编程题【编程要求】1、编写函数void fun(int array[],int n),将array数组中的前n个整数按从大到小的顺序排序。

2、编写main函数。

从键盘上输入一个正整数,求出该位就是几位数,按从左到右的顺序显示各位数字,用这些数字组成一个最小正整数(调用fun函数),将以上三项结果保存到结果文件myf2、out中。

最后将考生本人的准考证号字符串也保存到结果文件myf2、out中。

【要求】●源程序文件名必须取为myf2、c,输出结果文件名必须取为myf2、out●数据文件的打开、使用与关闭均用C语言标准库中缓冲文件系统的文件操作函数实现。

●源程序文件与运行结果文件必须保存在考试盘的根目录下,供阅卷用。

●不要复制扩展名为OBJ与EXE的文件到考试盘上。

6、编程题1、编写函数fun,它的功能就是:求出这N个学生的平均分,由函数值返回。

例如,若学生的成绩就是:85,76,69,85,91,72,64,87,则平均分应当就是:78、6252、编写main函数。

将N名学生的成绩在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。

并调用函数fun,将结果及函数返回值写入到文件myf2、out中。

最后将考生本人的准考证号字符串也保存到结果文件myf2、out中。

【要求】●源程序文件名必须取为myf2、c,输出结果文件名必须取为myf2、out●数据文件的打开、使用与关闭均用C语言标准库中缓冲文件系统的文件操作函数实现。

●源程序文件与运行结果文件必须保存在考试盘的根目录下,供阅卷用。

●不要复制扩展名为OBJ与EXE的文件到考试盘上。

7、编程题【编程要求】1、编写函数fun,它的功能就是:移动字符串中的内容,移动的规则如下:把第1到第m个字符平移到字符串的最后,把第m+1到最后的字符串移动字符串的前部。

例如:字符串中原有的内容为:ABCDEFGHIJK,m的值为3,则移动后,字符串中的内容应该就是:DEFGHIJKABC、2、编写main函数。

在main函数中初始化一个字符串,调用函数fun,将结果字符串及函数返回值写入到文件myf2、out中。

最后将考生本人的准考证号字符串也保存到结果文件myf2、out中。

【要求】●源程序文件名必须取为myf2、c,输出结果文件名必须取为myf2、out●数据文件的打开、使用与关闭均用C语言标准库中缓冲文件系统的文件操作函数实现。

●源程序文件与运行结果文件必须保存在考试盘的根目录下,供阅卷用。

●不要复制扩展名为OBJ与EXE的文件到考试盘上。

8、编程题●【程序功能】●以矩阵的行作为排序的交换单位,使得排序后的矩阵按指定列的元素值递减有序。

●【编程要求】● 1、编写函数void sort(int x[][4],int n,int col)。

它的功能就是:对x指向的二维数组(该数组中保存了一个n*4矩阵)以行作为交换单位,按照下标为col的列元素值做递减排序。

● 2、编写main函数。

函数功能:声明一个3行4列二维数组并用测试数据初始化该数组,调用sort 函数对该数组中保存的矩阵按第3列(列下标为2)排序,将排序后二维数组中的矩阵输出到屏幕并用写文件函数保存到结果文件myf2、out中。

最后将考生本人的准考证号字符串也保存到结果文件myf2、out中。

●【测试数据与运行结果】●测试数据(排序前):●101 80 60 90●102 70 90 50●103 60 70 80●运行结果(按第3列排序后):●102 70 90 50●103 60 70 80●101 80 60 90●my exam number is :考生本人准考证号字符串●源程序文件名必须取为myf2、c,输出结果文件名必须取为myf2、out●数据文件的打开、使用与关闭均用C语言标准库中缓冲文件系统的文件操作函数实现。

●源程序文件与运行结果文件必须保存在考试盘的根目录下,供阅卷用。

●不要复制扩展名为OBJ与EXE的文件到考试盘上。

1、编程:#include <stdio、h>#include <stdlib、h>#include <ctype、h>#include <string、h>int findword(char *s,char *t,char ch[][20]){char tmp[10][20];int cn=0,i,count=0,j,m,n,len,lena;while(*s){while(!isalpha(*s)&&*s) s++;if(isalpha(*s)&&*s){i=0;while(isalpha(*s)&&*s){tmp[cn][i++]=*s;s++;}tmp[cn][i]=0;cn++;}}for(i=0;i<cn;i++)puts(tmp[i]);len=strlen(t);for(i=0;i<cn;i++){lena=strlen(tmp[i]);for(j=0;j<lena;j++){for(m=j,n=0;n<len&&m<lena;n++,m++)if(tmp[i][m]!=t[n]) break;if(n>=len){strcpy(ch[count++],tmp[i]);break;}}}return count;}void main(){char *s="No living man all things can、Graspall, loseall、",*t="all",ch[10][20]; int n,i;FILE *fp;fp=fopen("myf2、out","w");if(fp==0){printf("can't open this file、");exit(-1);}n=findword(s,t,ch);for(i=0;i<n;i++){printf("%s ",ch[i]);fprintf(fp,"%s ",ch[i]);}printf("\nwords NO: %d",n);fprintf(fp,"\nwords NO: %d",n);fprintf(fp,"\nmy no is 0002499999、");fclose(fp);}2、编程:#include <stdio、h>#include <stdlib、h>void josephu(int a[],int b[],int n,int m){int i=0,flag=1,cn=0;while(cn<n){if(a[i]==0)i=(i+1)%10;else if(flag<3){i=(i+1)%10;flag++;}else if(flag==3){b[cn++]=a[i];a[i]=0;flag=1;i=(i+1)%10;}}}void main(){int n,m,i,a[100],b[100];FILE *fp;fp=fopen("myf2、out","w");if(fp==0){printf("can't open this file、");exit(-1);} printf("enter n,m:");scanf("%d,%d",&n,&m); for(i=0;i<n;i++)a[i]=i+1;josephu(a,b,n,m);for(i=0;i<n;i++){printf("%4d",b[i]);fprintf(fp,"4d",b[i]);}fprintf(fp,"\nmy no is 0002499999、"); fclose(fp);}3、编程:#include <stdio、h>#include <stdlib、h>void squeeze(char *s1,char *s2,char *s3) {char *p,*q;int i=0;while(*s1){p=s2;while(*p&&*p!=*s1) p++;if(*p){s3[i++]=*s1;while(*q){*q=*(q+1);q++;}s1--;}s1++;}s3[i]=0;}void main(){FILE *fp;char *s1="abbcdefgghiijkl",*s2="bdglkw",*s3=""; fp=fopen("myf2、out","w");if(fp==0){printf("can't open this file、");exit(-1);} squeeze(s1,s2,s3);printf("s1:%s\n",s1);fprintf(fp,"s1:%s\n",s1);printf("s3:%s\n",s3);fprintf(fp,"s3:%s\n",s3);fprintf(fp,"my exame number is 0002499999、"); fclose(fp);}4、编程:#include <stdio、h>#include <stdlib、h>#include <string、h>#include <ctype、h>char *insert(char *p){char *q=p,temp[20];while(*p){while(*p&&isalpha(*p)) p++;if(*p){strcpy(temp,p);strcpy(p,temp);}while(*p&&isdigit(*p)) p++;}return q;}void main(){FILE *fp;char *p="AB1CD12EF123GH",*q;fp=fopen("myf2、out","w");if(fp==0){printf("can't open this file、");exit(-1);}q=insert(p);printf("%s",q);fprintf(fp,"%s",q);fprintf(fp,"\nmy no is 0002499999、");fclose(fp);}5、编程:#include <stdio、h>void fun(int array[],int n){int i,j,t;for(i=0;i<n-1;i++){for(j=i+1;j<n;j++)if(array[i]<array[j]){t=array[i];array[i]=array[j];array[j]=t;} }}void main(){int a[5]={0},m,n=0,i=0,min=0;FILE *fp;fp=fopen("myf2、out","w");if(fp==0){printf("can't");exit(-1);}clrscr();scanf("%d",&m);if(m/10000!=0)n=5;else if(m/1000!=0)n=4;else if(m/100!=0)n=3;else if(m/10!=0)n=2;elsen=1;fprintf(fp,"%d has %d bits:",m,n);printf("%d has %d bits、",m,n);i=n-1;while(m!=0){a[i--]=m%10;m/=10;}for(i=0;i<n;i++){printf("%4d",a[i]);fprintf(fp,"%d",a[i]);} printf("\n"); fprintf(fp,"\n");fun(a,n);i=n-1;while(i>=0){min=min*10+a[i];i--;}printf("min is %d",min);fprintf(fp,"min is %d",min);fclose(fp);}6、编程:#include <stdio、h>#include <stdlib、h>#define N 8typedef struct slist{double score;struct slist *next;}STREC;STREC *creatlist(double s[]){STREC *head,*p,*q;int i=0;head=p=(STREC *)malloc(sizeof(STREC));p->next=0;while(i<N){q=(STREC *)malloc(sizeof(STREC));q->score=s[i];p->next=q;p=q;i++;}p->next=0;return head;}double fun(STREC *h){STREC *p;double aver=0、0;p=h->next;while(p){aver+=p->score/N;p=p->next;}return aver;}void main(){double s[N]={85,76,69,85,91,72,64,87},aver; STREC *head;int i=0;FILE *fp;head=creatlist(s);aver=fun(head);fp=fopen("myf2、out","w");if(fp==0){printf("cann't open this file");exit(-1);}while(i<N){printf("s[%d]:%f\n",i,s[i]);fprintf(fp,"%f",s[i]);i++;}printf("aver=%f",aver);fprintf(fp,"\naver=%f",aver);fclose(fp);}7、编程:#include <stdio、h>#include <stdlib、h>void fun(char *s,int m){int i=0,n=strlen(s);char t[100]="";while(i<m){t[i]=*(s+i);i++;}for(i=m;i<n;i++){s[i-m]=s[i];}for(i=n-m;i<n;i++){s[i]=t[i-n+m];}}void main(){char *s="";int m;FILE *fp;fp=fopen("myf2、out","w");if(fp==0){printf("can't open the file");exit(-1);}printf("enter s:");gets(s);/*puts(s); */printf("enter m:");scanf("%d",&m);/* printf("%d",m); */ fun(s,m);puts(s);fprintf(fp,"%s",s);fclose(fp);}8、编程:#include <stdio、h>#include <stdlib、h>void sort(int x[][4],int n,int col){int p,q,j,t,max,indx;for(p=0;p<n-1;p++){indx=p;max=x[p][col];for(q=p+1;q<n;q++)if(x[q][col]>max){max=x[q][col];indx=q;}for(j=0;j<4;j++){t=x[p][j];x[p][j]=x[indx][j];x[indx][j]=t;}}}void main(){int x[3][4]={{101,80,60,90},{102,70,90,50},{103,60,70,80}},i,j; FILE *fp;fp=fopen("myf2、out","w");if(fp==0){printf("can't open this file、");exit(-1);}sort(x,3,2);for(i=0;i<3;i++){for(j=0;j<4;j++){printf("%4d",x[i][j]);fprintf(fp,"%4d",x[i][j]);}printf("\n");fprintf(fp,"\n");}fprintf(fp,"my no is 0002499999、");fclose(fp);}。

相关文档
最新文档