首页 C语言必考100题

C语言必考100题

举报
开通vip

C语言必考100题1. 按下述格式,从键盘输入一个整数加法表达式:操作数1+操作数2,然后计算并输出表达式的计算结果,形式如下:操作数1+操作数2=计算结果。 2. 输入两个整形数并打印,如果用户不慎输入了非法字符,那么程序提示“输入数据类型错误”。 3. 已知三角形的三边长a,b,c,要求编写程序,从键盘输入a,b,c的值,计算并输出三角形的面积(注意不存在的情况)。 4. 编程从键盘输入圆的半径r,计算并输出圆的周长和面积。 5. 任意从键盘输入一个三位整数,要求正确分离它的个位,十位和百位数,并分别在屏幕上输出。 6. 写一个...

C语言必考100题
1. 按下述格式,从键盘输入一个整数加法表达式:操作数1+操作数2,然后计算并输出表达式的计算结果,形式如下:操作数1+操作数2=计算结果。 2. 输入两个整形数并打印,如果用户不慎输入了非法字符,那么程序提示“输入数据类型错误”。 3. 已知三角形的三边长a,b,c,要求编写程序,从键盘输入a,b,c的值,计算并输出三角形的面积(注意不存在的情况)。 4. 编程从键盘输入圆的半径r,计算并输出圆的周长和面积。 5. 任意从键盘输入一个三位整数,要求正确分离它的个位,十位和百位数,并分别在屏幕上输出。 6. 写一个函数实现统计一个输入的整形数的位数。 7. 编程计算方程ax*x+bx+c=0的根,a,b,c由键盘输入,只是用主函数来实现。 8. 编写三个函数,分别在b*b-4*a*c大于0、小于0、等于0时进行调用,并输出结果,在主函数中读入a、b、c的值。 9. 从键盘输入你和你朋友的年龄,变成判断谁的年龄大,并打印最大者的年龄。 10. 从键盘输入一个年份,判断该年是否是闰年,并输出结果。 11. 判断某人是否属于肥胖体型。根据身高与体重因素,医务工作者经广泛的调查 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 给出了以下按“体指数”对肥胖程度的划分:体指数t=w/h*h(w为体重,单位为kg,h为身高,单位为m)。当t<18时,为低体重;当t介于18和25之间时,为正常体重;当t介于25和27之间时,为超重体重;当t≧27时,为肥胖。编程从键盘输入你的身高h和体重w,根据上式,判断体重类型。 12. 利用switch语句将百分制成绩转化为五分制成绩。 13. 利用switch语句将五分制成绩转换成对应分数范围并输出。 14. 编程 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 一个简单的计算器程序,要求根据用户从键盘输入的表达式:操作数1 运算符op 操作数2  计算表达式的值,指定的运算符为加减乘除。 15. 利用时间函数编写一个猜数程序。 16. 编程实现计算n的阶乘。 17. 利用函数递归实现计算n!。 18. 利用π/4=1-1/3+1/5-1/7……计算π的值直到最后一项的绝对值小于0.0001为止,要求统计总共累加了多少项。 19. 编程输出正三角格式的九九乘法表。 20. 编程输出下三角格式的九九乘法表。 21. 从键盘任意输入一个正整数,编程判断它是否是素数,若是素数,输出“YES”,否则输出“NO!”。 22. 编写一个程序实现输出1—100之间所有素数。 23. 编写一个程序实现输出任意指定m、n之间的所有素数。 24. 读入一个年份和月份,打印出该月有多少天(考虑闰年),用switch语句编程。 25. 打印所有的水仙花数。所谓水仙花数是指一个三位数,其各位数字的立方和等于该数本身。(例159=1*1*1+3*3*3+5*5*5) 26. 鸡兔同笼,共有98个头,386只脚,编程求鸡兔各多少只。 27. 用1元5角钱人名币兑换5分、2分和1分的硬币(每一种都要有)共一百枚,问共有几种兑换方案?并输出每种方案。 28. 三色球问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 。若一个口袋中放有12个球,其中有3个红色的,3个白色的,6个黑色的,从中任取8个球,问共有多少种不同的颜色搭配? 29. 打印100以内整数的平方根表。 30. 编程打印一下图案: @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 31. 设计一个函数,计算两个正整数的最小公倍数。 32. 设计一个函数,计算两个正整数的最大公约数。 33. 编程使二维数组a[m][n]按如下输入输出                                    例:input  1 2 3            output  1 4                     4 5 6                    2 5                                             3 6 34.从键盘输入某班学生某门课的成绩(每班人数最多不超过40人,具体人数由键盘输入),试编程打印最高分及其学生序号。 35.从键盘输入五个数,利用冒泡法排序,输出排序后的结果。 36.从键盘输入五个数,利用选择法排序,输出排序后的结果。 37.从键盘任意输入五个学生的姓名,编程找出并输出按字典顺序排在最前面的学生姓名。 38.从键盘任意输入五个学生的姓名,编程找出并输出按字典顺序的五个学生姓名。 39.编程实现从键盘任意输入5个正整数,统计非负数个数,并计算非负数之和。 40.从键盘任意输入5个正整数,用函数编程实现将其中最大数和最小数的位置对换后,再输出调整后的数组。 41.输入5*5的矩阵,编程实现:求两条对角线上行、列下标均为偶数的各元素之积。(提示(i==j)||(i+j==4)&&(i%2==0)&&(j%2==0)) 42.编程将下列矩阵中的元素向右移动一列,最后一行移至第一列。 1  9  3 5  10  21 43.输入一行字符,统计其中的英文字符、数字字符、空格及其他字符的个数。 44.从键盘任意输入两个整数,利用指针变量作为函数参数,编程实现两数互换功能,然后将交换后的数据重新输出。 45.用字符指针编程实现字符串复制函数。 46.用字符指针编程实现求字符串长度函数。 47.编写一个程序,可以实现在一个数组中删除指定的元素。如:数组元素为1,2,3,输入3,便删除3,输出1,2;若输入4,则继续输出1,2,3。 48.编程将若干字符串按字母顺序由小到大排序后输出。(二维数组和指针数组均可)。49.编程输入一个班的某课程的学生成绩,计算其平均分,然后输出,班级人数由键盘输入。 50.编程实现从键盘输入一个字符串,将其字符顺序颠倒后重新存放,并输出这个字符串(要求:使用头指针和尾指针来实现)。 51.编程判断输入的一串字符是否为“回文”。所谓回文是指顺读和倒读都一样的字符串,如“ABCCBA”是回文。 52.用指针数组编程实现:从键盘任意输入一个数字表示月份值n,程序输出该月份的英文表示,若n不在1~12之间,则输出“Illegal month”。("January","February","March","April"," May","June","July","Aguest","September","October","November","December")(课本308) 53.从键盘任意输入5个整数,用函数编程实现计算最大值和最小值,并返回它们所在数组中的位置。 54.不使用函数strcat(),编程实现字符串连接函数(使用指针实现)。 55.不使用函数strcat(),编程实现字符串连接函数(使用数组实现)。 56.编程实现将二维数组a[m][n]任意向右平移i各单位,i 英语单词 七年级上册英语单词表高考英语单词3500记忆高中3500个英语单词表七年级下册英语单词表小学六年级英语单词表 ,按照语法 规则 编码规则下载淘宝规则下载天猫规则下载麻将竞赛规则pdf麻将竞赛规则pdf 将单数转换成复数。规则如下:   1)以辅音字母 y 结尾,则加 es;   2)以 s、x、ch、sh 结尾,则加 es;   3)以元音 o 结尾,则加 es;   4)其它情况加上 s。 85.写一个求三个数平均数的函数,并对其进行调用。 86.通过键盘输入一个字符,判断该字符是数字字符、大写字符、小写字符、空格还是其它字符。 87.编程判断输入整数的正负性 88.编程计算分段函数 x>0 89.编程判断输入整数的奇偶性。 90.在屏幕上显示一张如下所示的时间表:                           *****Time***** 1. morning 2. afternoon 3. night Please enter your choice: 操作人员根据提示进行选择,程序根据输入的时间序号显示相应的问候信息。若出现其他,则显示“Selection error!”,用switch语句编程实现。 91.编程实现输出1~100之间的素数。 92.  25个人围成一个圈,从第一个人开始顺序报号,凡报号为3和3 的倍数的人退出圈子,找出最后留在圈子中的人原来的序号。(提示:用链表方式实现) 93.利用指向结构体数组计算学生各科的平均成绩,学生成绩可以在程序源代码中输入,科目数大于等于两科。 94文件操作:创建一个名为student.bin的文件,向其中输入至少三中类型的数据,关闭文件。 95文件操作:打开名为student.bin的文件,读出其中的内容。 96.在必然出错的情况下调用open(),输出错误信息。 97.编程实现输出如下图案:                     ******                 *****             *****         *****             *****                 *****                     ***** 98.调用时间函数产生两个随机数,输出两个随机数,人比较两个数的大小,输入答案,计算机判断对错。 99.韩信点兵。韩信有一队兵,他想知道有多少人,便让士兵排队报数。按从1至5报数,最后一个士兵报的数为1;按从1至6报数,最后一个士兵报的数为5;按从1至7报数,最后一个士兵报的数是4;按从1至11报数,最后一个士兵报的数为10。求韩信的兵数。 100.计算球的表面积和体积,用goto实现多次运算。 答案:   1.#include main() {     int x1,x2;     char op;     printf("Please enter x1+x2\n");     scanf("%d%c%d",&x1,&op,&x2);     printf("%d%c%d= %d\n",x1,op,x2,x1+x2);     return 0; } 2.#include main() {     int a,b,ret;     printf("Please enter a,b:");     ret=scanf("%d%d",&a,&b);     if(ret!=2)     {         printf("输入类型错误\n");         fflush(stdin);     }     else     {         printf("a=%d,b=%d\n",a,b);     } } 3.   #include #include main() {     float a,b,c,area,t;     printf("请输入a,b,c:");     scanf("%f%f%f",&a,&b,&c);     t=1.0/2*(a+b+c);     if(a+b>c&&a+c>b&&b+c>a)     {         area=sqrt(t*(t-a)*(t-b)*(t-c));         printf("area=%f\n",area);     }     else         printf("不构成三角形"); } 4.   #include #define PI 3.14 main() {     float r,c,area;     printf("Please enter r:");     scanf("%f",&r);     c=2*PI*r;     area=PI*r*r;     printf("c=%f,area=%f\n",c,area); } 5. #include main() {     int k,a,b,c;     printf("Please enter k:");     scanf("%d",&k);     a=k/100;     b=(k-a*100)/10;     c=k%10;     printf("a=%d,b=%d,c=%d\n",a,b,c);     return 0; } 6. #include main() {     int a,count=1;     printf("请输入一个数字:");     scanf("%d",&a);     while(a>=10)     {         a=a/10;         count++;     }     printf("这个数是%d位数\n",count); } 7. #include #include void main() {     float  a,b,c,dlt;     printf("请输入a,b,c:");     scanf("%f%f%f",&a,&b,&c);     dlt=b*b-4*a*c;     if(dlt>=0)     {         printf("x1=%0.2f,x2=%0.2f",(-b+sqrt(dlt))/2*a,(-b-sqrt(dlt))/2*a);     }     else     {         printf("x1=%0.2f+%0.1fi",-b/2*a,sqrt(-dlt)/2*a);         printf("\n");         printf("x2=%0.2f-%0.1fi",-b/2*a,sqrt(-dlt)/2*a);     } } 8. #include #include void f1(float a,float b,float c) {     float x1,x2,dlt;     dlt=b*b-4*a*c;     printf("x1=%0.2f,x2=%0.2f",(-b+sqrt(dlt))/2*a,(-b-sqrt(dlt))/2*a); } void f2(float a,float b,float c) {     float x;     x=-b/2*a; } void f3(float a,float b,float c) {     float x1,x2,dlt;     dlt=b*b-4*a*c;     printf("x1=%0.2f+%0.1fi",-b/2*a,sqrt(-dlt)/2*a);     printf("\n");     printf("x2=%0.2f-%0.1fi",-b/2*a,sqrt(-dlt)/2*a); } main() {     float a,b,c,dlt;     printf("请输入a,b,c:");     scanf("%f%f%f",&a,&b,&c);     dlt=b*b-4*a*c;     if(dlt>0)     {         f1(a,b,c);     }     else if(dlt=0)     {         f2(a,b,c);     }     else     {         f3(a,b,c);     } } 9. #include main() {     int yourAge,hisAge;     printf("Please enter your age:");     scanf("%d",&yourAge);     printf("Please enter your friend's age:");     scanf("%d",&hisAge);     if(yourAge>=hisAge)     {         printf("you are older!your age is = %d\n",yourAge);     }     else     {         printf("your friend is older!his age is = %d\n",hisAge);     } } 10. #include main() {     int y;     printf("请输入年份:");     scanf("%d",&y);     if((y%4==0&&y%100!=0)||(y%400==0))         printf("%d是闰年\n",y);     else         printf("%d不是闰年\n",y); } 11. #include main() {     float h,w,t;     printf("请输入你的身高和体重(身高单位为米,体重单位为kg):");     scanf("%f%f",&h,&w);     t=w/(h*h);     if(t<18) printf("低体重\n");     else if((t<25)&&(t>=18))     {         printf("正常体重\n");     }     else if((t>=25)&&(t<27))     {         printf("超重体重\n");     }         else  printf("肥胖\n"); } 12. #include main() {     int score,mark;     printf("请输入分数:");     scanf("%d",&score);     mark=score/10;     switch(mark)     {     case 10:     case 9:printf("%d--A\n",score);break;     case 8:printf("%d--B\n",score);break;     case 7:printf("%d--C\n",score);break;     case 6:printf("%d--D\n",score);break;     case 5:     case 4:     case 3:     case 2:     case 1:     case 0:printf("%d--E\n",score);break;     default:printf("error\n");     } } 13. #include main() {     char score;     printf("请输入五分制分数:");     scanf("%c",&score);     switch(score)     {     case 'A':printf("A:90-100\n"); break;     case 'B':printf("B:80-90\n");  break;     case 'C':printf("C:70-80\n");  break;     case 'D':printf("D:60-70\n");break;     case 'E':printf("E:0-60\n");break;         default:printf("error\n");     } } 14. #include main() {     int a,b;     char op;     printf("输入表达式:");     scanf("%d%c%d",&a,&op,&b);     switch(op)     {     case'+': printf("%d\n",(a+b));break;     case'-': printf("%d\n",(a-b));break;      case'*': printf("%d\n",(a*b));break;     case'/': printf("%d\n",(a*b));break;     } } 15. #include #include #include void main() {     int magic,guess,counter;     unsigned int seed;     srand(time(NULL));     magic=rand()%100+1;     counter=0;     do{         printf("please guess a magic number:");         scanf("%d",&guess);         counter++;         if(guess>magic)         {             printf("wrong !too high \n");         }         else         {             printf("wrong !too low \n");         }     }while(guess!=magic);     printf("righter\n");     printf("counter=%d\n",counter); } 16. #include void main() {     int i,p=1,n;     printf("请输入数字:");     scanf("%d",&n);     for(i=2;i<=n;i++)     {         p*=i;     }     printf("%d\n",p); } 17. #include long fact(long n); main() {     int n;     long result;     printf("请输入数字:");     scanf("%d",&n);     result=fact(n);     if(result==-1)         printf("n<0,dat error!\n");     else         printf("%d!=%ld\n",n,result); } long fact(long n) {     if(n<0)         return -1;     else if(n==0||n==1)         return 1;     else         return (n*fact(n-1)); } 18. #include #include main() {     double pi,sum=0,term,sign=1.0;     int count=0,n=1;     do{         term=sign/n;         sum+=term;         count++;         sign=-sign;         n+n+2;     }while(fabs(term)>=1e-4);     pi=sum*4;     printf("pi=%f\ncount=%d\n",pi,count); }         19. #include main() {     int m,n;     for(m=1;m<10;m++)     {         printf("%4d",m);     }     printf("\n");     for(m=1;m<10;m++)     {         printf("%3c_");     }     printf("\n");     for(m=1;m<10;m++)     {         for(n=1;n<=m;n++)         {             printf("%4d",m*n);         }         printf("\n");     } } 20. #include void main() {     int i,j,k;     for(i=1;i<10;i++)     {         printf("%4d",i);     }     printf("\n");     for(j=1;j<10;j++)     {         printf("%3c_");     }     printf("\n");     for(i=1;i<10;i++)     {         for(k=10-i;k<9;k++)         {             printf("%3c ");         }         for(j=i;j<10;j++)         {             printf("%4d",j*i);         }         printf("\n");     } } 21. #include #include main() {     int i,n,s,flag=1;     printf("请输入一个数:");     scanf("%d",&n);     for(i=2;i #include int isprime(int n) {     int m;     for(m=2;m<=sqrt(n);++m)     {         if(n%m==0)             return 0;     }     printf("%d ",n); } int main() {     int n,count=0;     for(n=2;n<=100;++n)     {         isprime(n);        } }     23. #include #include int isprime(int n) {     int m;     for(m=2;m<=sqrt(n);++m)     {         if(n%m==0)             return 0;     }     printf("%d ",n); } int main() {     int n,m,i,t;     printf("请输入数字范围:");     scanf("%d%d",&n,&m);     if(n main() {     int year,month;     printf("Please enter year and month:");     scanf("%d%d",&year,&month);     switch(month)     {     case 1:     case 3:     case 5:     case 7:     case 8:     case 10:     case 12:         printf("31 days\n");         break;     case 2:         if((year%4==0&&year%100!=0)||(year%400==0))         {             printf("29 days\n");         }         else         {             printf("28 days\n");         }         break;     case 4:     case 6:     case 9:     case 11:         printf("30 days\n");         break;     default:         printf("Input error!\n");     } } 25. #include main() {     int x,i,j,k;         for(x=100;x<1000;x++)     {         i=x/100;         j=(x-100*i)/10;         k=x%10;         if(x==i*i*i+j*j*j+k*k*k)         {             printf("%d\t",x);         }     } } 26. #include main() {     int i,j;     for(i=1;i<=98;i++)     {         for(j=1;j<=98;j++)         {             if(i+j==98&&2*i+4*j==386)             {                 printf("i=%d,j=%d\n",i,j);             }         }     } } 27. #include main() {     int i,j,k,count=0;     for(i=1;i<=28;i++)     {         for(j=1;j<=73;j++)         {             k=100-i-j;             if(5*i+2*j+k==150)                 {                     count++;                     printf("i=%d,j=%d,k=%d\n",i,j,k);                 }         }     }     printf("count=%d\n",count); } 28. #include main() {     int i,j,k,count=0;     for(i=0;i>=0&&i<=3;i++)     {         for(j=0;j>=0&&j<=3;j++)         {             for(k=0;k>=0&&k<=6;k++)             {                 if(i+j+k==8)                 {                     count++;                     printf("i=%d,j=%d,k=%d\n",i,j,k);                 }             }         }     }     printf("count=%d\n",count); } 29. #include #include main() {     int m,n,i;     for(m=0;m<10;m++)     {         printf("%7d",m);     }     printf("\n");     for(n=0;n<10;n++)     {         printf("%d",n);         for(m=0;m<10;m++)         {             printf("%7.3f",sqrt(n*10+m));         }         printf("\n");     } } 30. #include main() {     int i,j,k;     for(i=1;i<=4;i++)     {         for(j=3;j<=8-i;j++)         {             printf(" ");         }         for(k=1;k<=(2*i-1);k++)         {             printf("@");         }         printf("\n");     } } 31. #include int zd(int x,int y) {     int t;     if(x #include int zd(int x,int y) {     int t;     if(x void zj(int *a,int *b); void main() {     int a[2][3],b[3][2],i,j;     printf("请输入数字:\n");     for(i=0;i<2;i++)     {         for(j=0;j<3;j++)         {             scanf("%d",&a[i][j]);         }     }     zj(*a,*b);         for(i=0;i<3;i++)     {         for(j=0;j<2;j++)         {             printf("%d",b[i][j]);         }         printf("\n");     } } void zj(int *a,int *b) {     int i,j;     for(i=0;i<2;i++)     {         for(j=0;j<3;j++)         {             *(b+j*2+i)=*(a+i*3+j);         }     } } 34. #include main() {     float score[40],maxscore;     int i,n;     long maxnum,num[40];     printf("Please enter total number:");     scanf("%d",&n);     printf("Please enter the number and score:\n");     for(i=0;imaxscore)         {             maxscore=score[i];             maxnum=num[i];         }     }     printf("maxscore=%4.0f,maxnum=%ld\n",maxscore,maxnum); } 35. #include int main() {     int a[5],i,j,t;     printf("Please enter five numbers:");         for(i=0;i<5;i++)     {         scanf("%d",&a[i]);     }         for(i=0;i<5-1;i++)     {         for(j=i+1;j<5;j++)         {             if(a[i]>a[j])             {                 t=a[i];a[i]=a[j];a[j]=t;             }         }     }     for(i=0;i<5;i++)         printf("%4d",a[i]);     return 0; } 36. #include int main() {     int a[5],i,j,p,t;     printf("Please enter five numbers:");         for(i=0;i<5;i++)     {         scanf("%d",&a[i]);     }     for(i=0;i<5-1;i++)     {         p=i;         for(j=i+1;j<5;j++)         {             if(a[j] #include main() {     int n,num;     char str[80],min[80];     printf("please enter five names:");     gets(str);     strcpy(min,str);     for(n=1;n<5;n++)     {         gets(str);         if(strcmp(str,min)<0)         {             strcpy(min,str);         }     }     printf("the min is :");     puts(min); } 38. #include #include main() {     int n,num;     char str[80],min[80];     printf("please enter five names:");     gets(str);     strcpy(min,str);     for(n=1;n<5;n++)     {         gets(str);         if(strcmp(str,min)<0)         {             strcpy(min,str);         }     }     printf("the min is :");     puts(min); } 39. #include main() {     int i,a[5],count=0,sum=0;     for(i=0;i<5;i++)     {         scanf("%d",&a[i]);     }     for(i=0;i<5;i++)     {         if(a[i]>=0)         {             count++;             sum=sum+a[i];         }     }     printf("count=%d,sum=%d\n",count,sum); } 40. #include void maxminexchange(int a[],int n) {     int max=a[0],min=a[0],maxp=0,minp=0;     int i,t;     for(i=0;imax)         {             max=a[i];             maxp=i;         }         if(a[i] main() {     int i,j,a[5][5];     long t=1;     for(i=0;i<5;i++)     {         for(j=1;i<5;j++)         {             {                 scanf("%d",&a[i][j]);             }         }     }     for(i=0;i<5;i++)     {         for(j=0;i<5;j++)         {             if(((i==j)||(i+j==4))&&(i%2==0)&&(j%2==0))             {                 t=t*a[i][j];             }         }     }     printf("%ld\n",t); } 42. #include main() {     int a[2][3]={1,9,3,5,10,21};     int i,j,t;         for(i=0;i<2;i++)         {             t=a[i][2];             for(j=1;j>=0;j--)             {                 a[i][j+1]=a[i][j];             }             a[i][0]=t;         }         for(i=0;i<2;i++)         {             for(j=0;j<3;j++)             {                 printf("%5d",a[i][j]);             }             printf("\n");         } } 43. #include #include #define ARR_SIZE 100 main() {     char str[ARR_SIZE];     int len,i,letter=0,digit=0,space=0,other=0;     printf("Please enter a string:");     gets(str);     len=strlen(str);     for(i=0;i='a'&&str[i]<='z'||str[i]>='A'&&str[i]<='Z')             letter++;         else if(str[i]>='0'&&str[i]<='9')             digit++;         else if(str[i]==' ')             space++;         else             other++;     }     printf("英文字符: %d\n",letter);     printf("数字字符: %d\n",digit);     printf("空格字符: %d\n",space);     printf("其他字符: %d\n",other); } 44. #include void change(int *p,int *q) {     int temp;     temp=*p;     *p=*q;     *q=temp; } int main() {     int a,b;     scanf("%d%d",&a,&b);     change(&a,&b);     printf("%3d%3d",a,b);     return 0; } 45. #include void mystrcpy(char *dststr,char *srcstr) {     while(*srcstr!='\0')     {         *dststr=*srcstr;         srcstr++;         dststr++;     }     *dststr='\0'; } main() {     char a[80],b[80];     printf("please input a string:");     gets(a);     mystrcpy(b,a);     printf("the copy is:");     puts(b); } 46. #include int mystrlen(char *pstr) {     int len=0;     for(;*pstr!='\0';pstr++)     {         len++;     }     return len; } main() {     char a[80];     int len;     printf("please input a string:");     gets(a);     len=mystrlen(a);     printf("the longth of the string is%d\n",len); } 47. #include void main() { int i,j,n; int a[10]; int k=0; //记录删除数据的个数 printf("请输入10个元素的数组: \n"); for (i=0;i<10;i++)   scanf("%d",&a[i]); printf("请输入需要删除的数:\n"); scanf("%d",&n); for (i=0;i<10;i++)   if (a[i]==n)   {   for (j=0;i+j<9;j++)       a[i+j]=a[i+j+1];         k++;//删除数据的个数加1       a[10-k] = 0; //清除最后一个已经前移过的数据   } for (i=0;i<10-k;i++)//输出剩余的数据,后面的数据为0代表已经被删除的无意义数据,不必再输出了。   printf("%2d",a[i]); } 48. #include #include int main() {     int len,i,j;     char str[90],t;     printf("please input a string:");     gets(str);     len=strlen(str);     for(i=0;i=str[j])             {                 t=str[i];                 str[i]=str[j];                 str[j]=t;             }         }     }     puts(str);     return 0; } 49. #include #include main() {     int *p=NULL,n,i,sum=0;     printf("please input the number of students:");     scanf("%d",&n);     p=(int *)malloc(n*sizeof (int));     if(p==NULL)     {         printf("no endugh memory!\n");         exit(0);     }     printf("please inpt the score:");     for(i=0;i #include void main() {     char str[80],*pstr,temp;     char *pstart,*pend;     int len;     gets(str);     len=strlen(str);     for(pstart=pstr,pend=pstr+len-1;pstart #include main() {     char str[80],*pstart,*pend;     int len;     gets(str);     len=strlen(str);     pstart=str;     pend=str+len-1;     while((*pstart==*pend)  && (pstart #include void  month(int n) {     char *month[12]={"January","Februray","March","April","May","June","July","August","September","October","November","December"};     puts(month[n-1]); } int main() {     int n;     scanf("%d",&n);     if((n<1)||(n>12))     {         printf("ILLEGAL  MONTH\n");     }     else     {         month(n);     }     return 0; } 53. #include void find(int a[5],int *max,int *p,int *min,int *q) {     int i;     *max=a[0];*p=1;*min=a[0];*q=1;     for(i=0;i<5;i++)     {         if(*maxa[i])         {             *min=a[i];             *q=i+1;         }     } } main() {     int a[5],max,min,p,q,i;     printf("请输入数组元素:");     for(i=0;i<5;i++)     {         scanf("%d",&a[i]);     }     find(a,&max,&p,&min,&q);     printf("最大数:%4d,位置:%4d,最小数:%4d,位置:%4d\n",max,p,min,q); } 54. #include #define m 40 #include void mystrcat(char *srcstr,char *dststr) {     while(*srcstr!='\0')     {         srcstr++;     }     while(*dststr!='\0')     {         *srcstr=*dststr;         srcstr++;         dststr++;     }     *srcstr='\0';     } main() {     char a[m]={"abc"};char b[m]={"defgh"};         mystrcat(a,b);     puts(a);         return 0;     } 55. #include #include #define M 100 void mystrcat(char dststr[M],char srcstr[M]) {     int i=0,j;     while(dststr[i]!='\0')     {         i++;     }     for(j=0;srcstr[j]!='\0';j++,i++)     {         dststr[i]=srcstr[j];     }     dststr[i]='\0';     puts(dststr); } main() {     char srcstr[M],dststr[M];     gets(srcstr);     gets(dststr);     mystrcat(dststr,srcstr); } 56. #include #define m 10 #define n 10 main() {     int A[m][n],temp,i,j,a,b;     printf("请输入矩阵大小:");     scanf("%d%d",&a,&b);     printf("输入矩阵:");     for(i=0;i0;j--)         {             A[i][j]=A[i][j-1];         }         A[i][0]=temp;     }     for(i=0;i void addmatrix(int a[2][3],int b[2][3],int c[2][3]) {     int i,j;     for(i=0;i<2;i++)     {         for(j=0;j<3;j++)         {             c[i][j]=a[i][j]+b[i][j];         }     } } main() {     int a[2][3],b[2][3],c[2][3],i,j;     printf("Input array a:");     for(i=0;i<2;i++)     {         for(j=0;j<3;j++)         {             scanf("%d",&b[i][j]);         }     }     addmatrix(a,b,c);     printf("results:\n");     for(i=0;i<2;i++)     {         for(j=0;j<3;j++)         {             printf("%6d",c[i][j]);         }         printf("\n");     } } 58. #include #include void nixu(char str1[100]) {     char temp,str2[100];     int i,j,n;     n=strlen(str1);     for(i=0;i=i)         {             temp=str1[i];str1[i]=str1[j];str1[j]=temp;         }     }     strcpy(str2,str1);     puts(str2); } main() {     char str[100];     gets(str);     nixu(str); } 59. #include int main()     {     int a[20]={1,1},i;     for(i=2;i<20;i++)     {         a[i]=a[i-1]+a[i-2];     }     for(i=0;i<20;i++)     {         printf("%d  ",a[i]);     }     return 0; } 60. #include int main() {     int i,j,a[6][6];     for(i=0;i<6;i++)     {         a[i][0]=1;     }     for(i=0;i<6;i++)     {         for(j=0;j<=i;j++)         {             if(i==j)             {                 a[i][j]=1;             }         }     }     for(i=2;i<6;i++)     {         for(j=1;j//数列由小到大排列 void insert(int a[],int m) {     int b[11],i,j;     for(i=0,j=0;i<10;i++)     {         if(a[i] #define ARR_SIZE 50        void Delete(int *a,int n,int x); void main() {     int a[ARR_SIZE],x,i,n;     printf("Please enter array numbers:\n");     scanf("%d",&n);     printf("Please enter array:\n");     for (i=0;i #include main() {     int i,pos;     int findflag=0;     char x[10];     char weekday[][10]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};     printf("please input a string:");     scanf("%s",x);     for(i=0;i<7;i++)     {         if(strcmp(x,weekday[i])==0)         {             pos=i;             findflag=1;         }     }     if(findflag)     {         printf("%d\n",pos);     }     else     {         printf("Not  found!\n");     } } 64. #include #include int findmax(int *p,int m,int n,int *prow,int *pcol) {     int i,j,max;     max=p[0];     *prow=0;     *pcol=0;     for(i=0;imax)             {                 max=p[i*n+j];                 *prow=i;                 *pcol=j;             }         }     }     return (max); } main() {     int score[3][4],i,j,m,n,maxscore,row,col;           for(i=0;i<3;i++)     {         for(j=0;j<4;j++)         {             scanf("%d",&score[i][j]);         }     }     maxscore=findmax(*score,3,4,&row,&col);     printf("maxscore=%d,class=%d,number=%d\n",maxscore,row+1,col+1);     } 65. #include #include main() {     int *p=NULL,n,i,sum=0;     printf("please input the number of students:");     scanf("%d",&n);     p=(int *)malloc(n*sizeof (int));     if(p==NULL)     {         printf("no endugh memory!\n");         exit(0);     }     printf("please inpt the score:");     for(i=0;i #include int findmax(int *p,int m,int n,int *prow,int *pcol) {     int i,j,max;     max=p[0];     *prow=0;     *pcol=0;     for(i=0;imax)             {                 max=p[i*n+j];                 *prow=i;                 *pcol=j;             }         }     }     return max; } main() {     int *pscore=NULL,i,j,m,n,maxscore,row,col;     printf("请输入数组的行和列:\n");     scanf("%d%d",&m,&n);     pscore=(int *)calloc(m*n,sizeof(int));     if(pscore==NULL)     {         printf("no enough memory!\n");         exit(0);     }     printf("please input the score:\n");     for(i=0;i int main() {     char a[]="abcde";     char *p=NULL;     for(p=a;p #include #include #include struct CARD {     char suit[10];     char face[10]; }; main() {     char *Suit[]={"Spades","Hearts","Clubs","Diamonds"};     char *Face[]={"A","2","3","4","5","6","7","8","9","10","Jack","Queen","King"};     int i,j;     struct CARD card[52],temp;     for(i=0;i<52;i++)     {         strcpy(card[i].suit,Suit[i/13]);         strcpy(card[i].face,Face[i%13]);     }     srand(time(NULL));     for(i=0;i<52;i++)     {         j=rand()%52;         temp=card[i];         card[i]=card[j];         card[j]=temp;     }     for(i=0;i<52;i++)     {         printf("%10s%10s\n",card[i].suit,card[i].face);     } } 69. #include #include static int dayTab[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}}; int Dayofyear(int year,int month,int day) {     int i,leap;     leap=((year%4==0)&&(year%100!=0))||(year%400==0);     for(i=1;i #include static int dayTab[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}}; int MonthDay(int year,int yearDay,int *pMonth,int *pDay) {     int i,leap;     leap=((year%4==0)&&(year%100!=0))||(year%400==0);     for(i=1;yearDay>dayTab[leap][i];i++)     {         yearDay=yearDay-dayTab[leap][i];     }     *pMonth=i;     *pDay=yearDay; } void Menu(void) {     printf("1.year/month/day--yearday\n");     printf("2.Exit\n");     printf("Please enter your choice:"); } main() {     int year,month,day,yearDay;     Menu();     {         printf("Please enter year,yearDay:");         scanf("%d,%d",&year,&yearDay);         MonthDay(year,yearDay,&month,&day);         printf("month=%d,day=%d\n",month,day);     } } 71. #include yinzi(int a) {     int i;     for(i=2;     i<=(a+1)/2;i++)         while(!(a%i))         {             printf("%4d",i);             a/=i;         } } void main() {     int j;     scanf("%d",&j);     yinzi(j); } 72. #include int gongyue(int m,int n) {     int i,t;     if(m>n)     {         t=m;         m=n;         n=t;     }         for(i=2;i<=m;i++)         if(m%i==0&&n%i==0)             printf("%d ",i);         return 0; } main() {     int m,n;     scanf("%d%d",&m,&n);     gongyue(m,n); } 73. #include #include double jiecheng(int x) {     double c=1;     int i;     for(i=1;i<=x;i++)     {         c=c*i;     }     return c; } int main() {     int m,n;/*m为较小的数*/     double p;     scanf("%d%d",&m,&n);     p=jiecheng(n)/(jiecheng(m)*jiecheng(n-m));     printf("%lf\n",p);     return 0; } 74. #include void squeeze(char s[],char c) {     int i,j;     for(i=j=0;s[i]!='\0';i++)     {         if(s[i]!=c)         {             s[j]=s[i];             j++;         }     }     s[j]='\0'; } int main() {     char a[20],x;     gets(a);     printf("请输入你要删除的字符:");     scanf("%c",&x);     squeeze(a,x);     puts(a); } 75. #include main() {     char str[100];     int i,num;     gets(str);     if(str[0]!=' ')     {         num=1;     }     else     {         num=0;     }     for(i=1;str[i]!='\0';i++)     {         if((str[i]!=' ')&&(str[i-1]==' '))         {             num++;         }     }     printf("num=%d\n",num);        } 76. #include int mystrcmp(char *p1,char *p2) {     for(;*p1==*p2;p1++,p2++)     {         if(*p1=='\0')         return 0;     }     return (*p1-*p2); } int main() {     char str[20],min[20];     int c;     gets(str);     gets(min);     c=mystrcmp(&str[0],&min[0]);     printf("%d\n",c);     return 0; } 77. #include #include void compear(char *p1,char *p2,int n,int m) {     int count = 0,i,j;     if(m != n)         printf("这两个字符串不能通过字符重排而互相得到 \n");     else      {          for(i = 0;i < n;i++)             for(j = 0;j < n;j++)                 if(*(p1 + i) == *(p2 + j))                 {                        count++;                     if(count > i+1)                     {                         printf("这两个字符串不能通过字符重排而互相得到 \n");                          goto l1;                      }                  } l1:if(count == n)       printf("这两个字符串能通过字符重排而互相得到\n");     } } void main() {     char *p1,*p2,a1[100],a2[100],n,m;     p1=a1;p2=a2;     printf("请输入第一个字符串: \n");     gets(a1);     n = strlen(a1);     printf("请输入第二个字符串: \n");     gets(a2);     m = strlen(a2);     compear(p1,p2,n,m); } 79. #include #define N 10 void main() { void move(int num[N],int n,int m); int num[N],m; int i; printf("输入%d个整数\n\n",N); for(i=0;i=num;p--)   *p=*(p-1); *num=temp; m--; if(m>0) move(num,n,m); } 80. #include #include void BubbleSort(char Student[][8]) {     int i,j;     char a[10];     for(i=0;i<10-1;i++)     {          for(j=0;j<10-1-i;j++)             if(strcmp(Student[j],Student[j+1])>0)             {  strcpy(a,Student[j]);             strcpy(Student[j],Student[j+1]);             strcpy(Student[j+1],a);             }     } } main() {     int i;     char Student[10][8];     for(i=0;i<10;i++)         scanf("%s",&Student[i]);     BubbleSort(Student);     for(i=0;i<10;i++)         printf("%s\n",Student[i]);     } 81. #include #include void BubbleSort(char Student[][8]) {     int i,j;     char a[10];     for(i=0;i<10-1;i++)     {          for(j=0;j<10-1-i;j++)             if(strcmp(Student[j],Student[j+1])>0)             {  strcpy(a,Student[j]);             strcpy(Student[j],Student[j+1]);             strcpy(Student[j+1],a);             }     } } main() {     int i;     char Student[10][8];     for(i=0;i<10;i++)         scanf("%s",&Student[i]);     BubbleSort(Student);     for(i=0;i<10;i++)         printf("%s\n",Student[i]);     } 83. #include void mystrcpy(char a[10],char b[10],int m) {     int i,j;     for(i=0;i<10;i++)     {         for(j=m;j<10;j++)         {             if(i>=j)             {                 a[i]=b[j];             }         }     } } int main() {     int n;     char a[10],b[10]={"eugbhuji"};     gets(a);     scanf("%d",&n);     mystrcpy(a,b,n);     puts(a);     return 0; } 85. #include int f(int x,int y,int z) {     float result;     result=(x+y+z)/3;     return result; } main() {     int x=3;     int y=4;     int z=5;     float average=f(x,y,z);     printf("average=%f\n",average); } 86. #include main() {     char ch;     printf("请输入字符:");     ch=getchar();     if(ch>='A'&&ch<='Z')     {         printf("大写字符\n");     }     else if(ch>='a'&&ch<='z')     {         printf("小写字符\n");     }     else if(ch>='0'&&ch<='9')     {         printf("数字字符\n");     }     else if(ch==' ')     {         printf("空格字符\n");     }     else     {         printf("其他字符\n");     }        } 87. #include #include main() {     int m;     printf("Please enter an integer m:");     scanf("%d",&m);     if(m>0)     {         printf("m为正数\n");     }     else if(m==0)     {         printf("m等于0\n");     }     else     {         printf("m为负数\n");     } } 88. #include #include main() {     float x,y;     printf("Please enter x:");     scanf("%f",&x);     if(x<0)     {         y=x-5;     }     else if(x==0)     {         y=1;     }     else     {         y=exp(x);     }     printf("y=%f\n",y); } 89. #include main() {     int n;     printf("Please enter integer n:");     scanf("%d",&n);     if(n%2==0)     {         printf("n为偶数\n");     }     else     {         printf("n为奇数\n");     }     } 90. #include main() {     int n;     printf("*****Time*****\n");     printf("1. morning\n");     printf("2. afternoon\n");     printf("3. night\n");     printf("Please enter n:");     scanf("%d",&n);     switch(n)     {     case 1:         printf("Good morning!\n");break;     case 2:         printf("Good afternoon!\n");break;     case 3:         printf("Good night!\n");break;     default:         printf("Selection error!\n");break;     } } 91. #include #include main() {     int x,i,k;         for(x=1;x<=100;x++)     {         k=(int)sqrt(x);         for(i=2;i<=k;i++)         {             if(x%i==0)  break;         }         if(i>k)         {             printf("%4d",x);         }     } } 92. #include #include struct Link {     int date;     struct Link *next; }; struct Link *head; struct Link *createNode(int nodeNumbers) {     struct Link *p;     p=(struct Link *)malloc(sizeof(struct Link));     if(p==NULL)     {         printf("No enough memory to alloc");         exit(0);     }     p->next=NULL;     p->date=nodeNumbers+1;     printf("\nCreate a new node!");     return p; } void Displink(struct Link *heap) {     struct Link *p;     int j=1;     p=head;     do{         printf("\n%5d%10d\n",j,p->date);         p=p->next;         j++;     }     while(p!=NULL); } struct Link *DelNode(struct Link *p,struct Link *pr) {     if(p==head)     {         head=p->next;         free(p);         return head;     }     else     {         pr->next=p->next;         free(p);         return pr->next;     } } main() {     int i=0,nodenum=25;     struct Link *p,*pr;     char c;     head=NULL;     for(i=0;i<25;i++)     {         if(i==0)         {             head=CreateNode(i);             pr=head;         }         else         {             pr->next=CreateNode(i);             pr=pr->next;         }     }     Displink(head);     i=1;     p=head;     for(;;)     {         if((i%3)==0)         {             p=DelNode(p,pr);             i++;             nodenum--;             if(nodenum<3)             {                 break;             }         }         else         {             pr=p;             p=p->next;             if(p==NULL)             {                 p=head;             }             i++;         }     }     Displink(head); } 93. #include struct date {     int year;     int month;     int day; }; struct STUDENT {     int studentID;     char studentName[10];     char studentSex[4];     struct date timeOfEnter;     int scoreComputer;     int scoreEnglish; }; struct STUDENT stu[30]={     {1,"","",{1999,01,01},90,78},     {2,"","",{1999,02,02},92,72},     {3,"","",{1999,03,03},92,73},     {4,"","",{1999,04,04},80,82} }; main() {     struct STUDENT *pt;     float sum[2]={0.0},average[2]={0.0};     int i;     char *name[]={"score of Computer","score of English"};     pt=stu;     for(pt=stu;ptscoreComputer;         sum[1]=sum[1]+pt->scoreEnglish;     }     for(i=0;i<2;i++)     {         average[i]=sum[i]/4;         printf("%20s : %4.2f\n",name[i],*(average+i));     }     } 96. #include #include #include #include main() {     int a=open("c:\\abc.abc",O_RDONLY | O_BINARY);     if(a==-1)     {         perror("can't");     } } 97. #include main() {     int i,j;     for(i=0;i<4;i++)     {         for(j=0;j<12-4*i;j++)         {             printf(" ");         }         printf("*****\n");     }         for(i=0;i<3;i++)     {         for(j=0;j<5+4*i;j++)         {             printf(" ");         }         printf("*****\n");     }    } 98. #include #include #include main() {     int magic1,magic2,flag;     srand(time(NULL));     magic1=rand()%100+1;     printf("%d\n",magic1);     magic2=rand()%100+1;     printf("%d\n",magic2);     printf("please input your judge 1(magic1>magic2) or 0(magic1magic2)&&(flag==1))     {         printf("you are right!\n");     }     else if((magic1 main() {     int i;     for(i=1;;i++)     {         if(i%5==1&&i%6==5&&i%7==4&&i%11==10)         {             break;         }     }     printf("i=%d\n",i); } 100. #include #define PI 3.14 main() {     float v,s,r,i; loop:     printf("Please enter r:");     scanf("%f",&r);         s=4*PI*r*r;     v=4*PI/3*r*r*r;     printf("r=%f,s=%f,v=%f\n",r,s,v);     goto loop; } (纯属个人资料,若下载者用作商业途径,将追究其法律责任)
本文档为【C语言必考100题】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_421808
暂无简介~
格式:doc
大小:189KB
软件:Word
页数:73
分类:工学
上传时间:2017-09-17
浏览量:97