收藏 分销(赏)

C语言经典10例程.doc

上传人:xrp****65 文档编号:7009536 上传时间:2024-12-24 格式:DOC 页数:9 大小:29.89KB
下载 相关 举报
C语言经典10例程.doc_第1页
第1页 / 共9页
C语言经典10例程.doc_第2页
第2页 / 共9页
点击查看更多>>
资源描述
1. 由终端输入两个整数变量X和Y,然后输出X和Y,在交换X和Y的值后,再输出X和Y,验证两个变量中的数是否正确地进行了交换。 程序代码: /********************************************************************* * C语言编程测试题1 * * 由终端输入两个整数变量X和Y,然后输出X和Y,在交换X和Y的值后,再 * * 输出X和Y,验证两个变量中的数是否正确地进行了交换。 * *********************************************************************/ #include<stdio.h> void main() { int x, y, t; /*提示 输入 输出*/ printf("请输入X Y(空格 Tab 回车 间隔)\n"); scanf("%d%d", &x, &y ); printf("\n\n交换前:\n"); printf("X = %d \t Y = %d\n", x, y ); /*交换 输出*/ printf("\n交换后:\n"); t = x; x = y; y = t; printf("X = %d \t Y = %d\n\n\n", x, y ); } 2. 输入三个整数,分别放在变量a、b、c中,程序把输入的数据重新按由小到大的顺序放在变量a、b、c中,最后输出a、b、c中的值。 程序代码: /********************************************************************** * C语言编程测试题2 * * 输入三个整数,分别放在变量a、b、c中,程序把输入的数据重新按 * * 由小到大的顺序放在变量a、b、c中,最后输出a、b、c中的值。 * **********************************************************************/ #include<stdio.h> void main() { int a, b, c, t; /*提示 输入 输出*/ printf("输入a、b、c( 空格 Tab 回车 分割 )\n"); scanf("%d%d%d", &a, &b, &c ); printf("\n\n排序前:\n"); printf("a = %-8d b = %-8d c = %-8d \n", a, b, c ); /*排序 输出*/ if( a > b ) { t = a; a = b; b = t; } if( a > c ) { t = a; a = c; c = t; } if( b > c ) { t = b; b = c; c = t; } printf("\n\n排序后:\n\n"); printf("a = %-8d b = %-8d c = %-8d \n\n", a, b, c ); } 3. 裴波那契数列(Fibonacci)的前几项是:1、1、2、3、5、8、13、21、34......。编程输出该数列的前13项。每行输出5个数。 程序代码: /********************************************************************* * C语言编程测试题3 * * 裴波那契数列(Fibonacci)的前几项是:1、1、2、3、5、8、13、21、 * * 34......。编程输出该数列的前13项。每行输出5个数。 * *********************************************************************/ #include<stdio.h> #define MAX 13 void main() { int x1 = 1, x2 = 1, t, n; for( n = 0 ; n < MAX ; n ++ ) { if( ( n % 5 ) == 0 ) /*换行判定*/ printf("\n"); printf("%6d",x1 ); /*数值输出*/ /*数值生成*/ t = x1; x1 = x2; x2 += t; t = 0; } printf("\n\n"); } 4. 编写程序,输出26个英文大写字母和它们的ASCII代码。每行输出两组数据。 程序代码: /********************************************************************* * C语言编程测试题4 * * 编写程序,输出26个英文大写字母和它们的ASCII代码。每行输出两 * * 组数据。 * *********************************************************************/ #include<stdio.h> void main() { char c ; for( c = 'A'; c <= 'Z'; c ++ ) { /*换行判定*/ if( ((c-'A') % 2 ) == 0) printf("\n"); /*字母及ASCII输出*/ printf("%c => %d\t ", c, c ); } printf("\n\n\n"); } 5. 编写函数isprime(int a)用来判断自变量a是否为素数,若是素数,函数返回1,否则返回0. 程序代码: /********************************************************************* * C语言编程测试题5 * * 编写函数isprime(int a)用来判断自变量a是否为素数,若是素数, * * 函数返回1,否则返回0. * *********************************************************************/ #include<stdio.h> /*主函数用来作为测试程序*/ void main() { int n, z; int isprime(int a); //函数声明 for( n = 2; n <99; n ++ ) { z = isprime(n); if( z ) printf("%d\t", n); } printf("\n\n"); } int isprime(int a) { int i, z = 1; for( i = 2; i*i <= a; i ++ ) { if( (a % i) == 0 ) z = 0; } return z; } 6. 用指针指向两个变量,通过指针运算选出小的那个数。 程序代码: /********************************************************************* * C语言编程测试题6 * * 用指针指向两个变量,通过指针运算选出小的那个数。 * *********************************************************************/ #include<stdio.h> #define MIN 10 #define MAX 100 /*这里的 MAX MIN 只是用作标识无其他含义*/ void main() { int x1 = MIN, x2 = MAX, *p, *q; p = &x1; q = &x2; if( *p < *q ) printf("较小的数是%d", *p ); else if( *p == *q ) printf("俩个数相等"); else printf("较小的数是%d", *q ); printf("\n\n"); } 7.编写程序,打印以下形式的杨辉三角形。 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 程序代码: /********************************************************************* * C语言编程测试题8 * * 编写函数slength(char *s),函数返回指针s所指字符串的长度, * * 即:相当于库函数strlen的功能。 * *********************************************************************/ #include<stdio.h> #define Size 100 /*表示最大可输入字符串长度*/ /*主函数用作测试程序*/ void main() { int l; char a[Size], *s; int slength(char *s);/*函数声明*/ /*提示 输入*/ printf("请输入字符串\n"); gets(a); /*调用 输出*/ s = &a[0]; l = slength(s); printf("\n\n%d", l ); printf("\n\n"); } /*目标程序 返回字符串长度*/ int slength(char *s) { int l = 0,n; for( n = 0; *(s + n) != '\0'; n ++) l++; /*核心语句*/ return l; } 9.使用结构体,读入五位用户的姓名和电话号码,按姓名的字典顺序排序后,输出用户的姓名和电话号码。 程序代码: /********************************************************************** * C语言编程测试题9 * * 使用结构体,读入五位用户的姓名和电话号码,按姓名的字典顺序排 * * 序后,输出用户的姓名和电话号码。 * **********************************************************************/ #include<stdio.h> #include<string.h> /*程序中使用到了strcmp()*/ #define Name_num 15 /*名字最大长度*/ #define Phone_long 15 /*电话号码最大长度*/ #define S_num 5 /*支持的最大学生数*/ /*结构体定义*/ struct student { char Name[Name_num]; char P_num[Phone_long]; }; /*该程序输入的学生信息学生名字必须为英文活拼音,且中间不能有空格*/ void main() { struct student students[S_num], t; int i,j; /*提示 输入*/ printf("按顺序输入学生姓名、电话号码(空格 Tab 回车 分割)\n"); for( i = 0; i < S_num; i ++ ) scanf("%s%s",students[i].Name, students[i].P_num ); /*排序*/ for( i = 0; i < ( S_num-1 ); i ++ ) for( j = i+1; j < S_num; j ++ ) { if( strcmp(students[i].Name,students[j].Name) > 0 ) { t = students[i]; students[i] = students[j]; students[j] = t; } } /*提示 输出*/ printf("\n\nName\t\tPhoneNumber\n\n"); for( i =0;i < S_num; i ++ ) printf("%-15s\t%s\n", students[i].Name, students[i].P_num ); printf("\n\n"); } 10.从键盘输入10个浮点数,以二进制形式存入文件中,再从文件中读出数据显示在屏幕上。修改文件中第四个数。再从文件中读出数据显示在屏幕上,以验证修改是否正确。 程序代码: /********************************************************************* * C语言编程测试题10 * * 从键盘输入10个浮点数,以二进制形式存入文件中,再从文件中读出 * * 数据显示在屏幕上。修改文件中第四个数。再从文件中读出数据显示 * * 在屏幕上,以验证修改是否正确。 * *********************************************************************/ #include<stdio.h> #include<Windows.h> #define Num 10 #define Change 4 void main() { int p = Change-1; int float_num_save(); int float_num_show(); int float_num_chang( int p ); /*调用函数实现输入并存入文件*/ if( float_num_save() != 1 ) { printf("Write is Error.\n"); exit(0); } /*调用函数从文件中读数据显示到屏幕*/ if(float_num_show() != 1) { printf("Show is Error.\n"); exit(0); } /*改变第四个数*/ if( float_num_chang( p ) != 1 ) { printf("Change is Error.\n"); exit(0); } /*调用函数从文件中读修改过的数据显示到屏幕*/ if(float_num_show() != 1) { printf("Show is Error.\n"); exit(0); } } /*用于输入 存储*/ int float_num_save() { int i; float f; FILE *fp; if((fp = fopen("float_fds.dat","wb")) == NULL ) /*以二进制写方式打开文件*/ { printf("file created error.\n"); return 0; } printf("请输入浮点数\n"); for( i = 0; i < Num; i ++ ) /*写信息*/ { scanf("%f", &f ); if(fwrite( &f, sizeof(f), 1,fp ) != 1 ) { printf("write is error.\n"); return 0; } } fclose(fp);/*释放指针*/ return 1; } /*用于显示文件中的数*/ int float_num_show() { FILE *fp; float f; int i; if((fp=fopen("float_fds.dat","rb")) == NULL ) /*以二进制打开文件*/ { printf("File open is error.\n"); return 0; } /*显示部分*/ for( i = 0; i < Num; i ++ ) { if( fread( &f, sizeof(f), 1, fp ) != 1 ) { printf("Read is Error.\n"); return 0; } if( i%5 == 0 ) printf("\n"); printf("%-10g", f); } printf("\n\n"); /*换行美化界面*/ fclose(fp); /*释放指针*/ return 1; } /*用于改变指定位置的数*/ int float_num_chang( int p ) { float f; FILE *fp; if((fp=fopen("float_fds.dat","rb+")) == NULL ) { printf("File open Error.\n"); return 0; } if(fseek( fp, (long)(p*sizeof(f)), 0 ) == -1) { printf("Move is Error.\n"); return 0; } printf("请输入要在第%d个位置上修改的数\n=>", Change ); scanf("%f", &f ); if(fwrite( &f, sizeof(f), 1, fp ) != 1 ) { printf("Change is Error.\n"); return 0; } fclose(fp); /*释放指针*/ return 1; } 原创作者:№苍狼№ QQ:694378418 2012.9.21
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服