C语言经典例题(带答案)

C语言经典例题(带答案)
C语言经典例题(带答案)

C语言复习题纪实解答(有好方法的互相交流!)

1.题:

#include "stdio.h"

main()

{

float i,s=0;

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

{

s=s+(i+2)*(i+3)/(i+4);

}

printf("s=%.2f",s);

}

2.题:

#include "stdio.h"

void main()

{int score;

scanf("%d",&score);

switch(score/5)

{

case 20:

case 19:

case 18:printf("A\n");break;

case 17:

case 16:

case 15:printf("B\n");break;

case 14:

case 13:

case 12:printf("C\n");break;

case 11:

case 10:

case 9:

case 8:

case 7:

case 6:

case 5:

case 4:

case 3:

case 2:

case 1:

case 0:printf(" D I`m so sorry your IQ==0 \n");break;

default:break;

}

}

3.题:(if语句)

#include "stdio.h"

main()

{

int x,y;

scanf("%d",&x);

if(x<-5) y=x;

if(x>=-5&&x<=0) y=x+1;

if(x>0&&x<=5) y=x-1;

if(x>5) y=2*x;

printf("y= %d\n",y);

}

4.题:

有谁会第四题给我发来。

我真的不会啊!!!!

5.题:

一、

#include "stdio.h"

void main()

{

int max_value(int a[3][3]);

int i,j,a[3][3]={3,8,-2,5,6,10,4,9,18};

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

{ for(j=0;j<3;j++)

{

printf("%d ",a[i][j]); /*此部分为显示出矩阵(4~8行)可无*/ }

printf("\n");

}

printf("\n the max is: %d\n",max_value(a));

}

int max_value(int a[3][3])

{

int i,j,max;

i=0;

max=a[0][0];

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

{

if(a[i][j]>max)

max=a[i][j];

}

return (max);

}

二、在以一的基础上修改:

#include "stdio.h"

void main()

{

int max_value(int a[3][3]);

int i,j,a[3][3]={3,8,-2,5,6,10,4,9,18};

printf("\n the max is: %d\n",max_value(a));

}

int max_value(int a[3][3])

{

int i,j,max;

max=a[0][0];

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

{ for(j=0;j<3;j++)

{

if(a[i][j]>max)

max=a[i][j];

}

}

return (max);

}

6.题:

方法一:(循环语句)

#include "stdio.h"

void main()

{

int i,j;

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

{

for(j=0;j<3-i;j++)

{

printf(" ");

}

printf("***\n");

}

}

方法二:(数组)

#include "stdio.h"

void main()

{

int i,j;

char a[4][6]={'','','','*','*','*','','','*','*','*','','','*','*','*','','','*','*','*'};

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

{

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

{

printf("%c",a[i][j]);

}

printf("\n");

}

}

7.题:

#include "string.h"

main()

{

char string[81];

void reverse(char str[]);

clrscr();

printf("please input the string:\n");

gets(string);

reverse(string);

printf("after reverse:\n");

puts(string);

getch();

}

void reverse(char str[])

{

int i,t,len;

len=strlen(str);

for(i=0;i

{

t=str[i]; str[i]=str[len-i-1]; str[len-i-1]=t;

} }

8.题:

#include "math.h"

void main()

{

int i,x;

printf("please input x: \n");

scanf("%d %d",&x,&i);

printf("x^i= %.0f\n",pow(x,i));

} 9.题:(数组法) 第一问: #include "stdio.h" void main() { int i,j; float m[4][3]={78,67,89,45,98,93,91,67,84,84,48,88}; float ave,s=0; int i,j; float m[4][3]={78,67,89,45,98,93,91,67,84,84,48,88}; float ave,s=0; for(i=0;i<4;i++) { for(j=0;j<3;j++) { printf("%.0f\t",m[i][j]); /*此部分为显示出矩阵*/ } printf("\n"); } printf("average stu_1-4 score is: \n"); for(i=0;i<4;i++)

{

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

{

精简后: #include "stdio.h" void main() { int i,j; float m[4][3]={78,67,89,45,98,93,91,67,84,84,48,88}; float ave,s=0; printf("average stu_1-4 score is: \n"); for(i=0;i<4;i++) { for(j=0;j<3;j++) { s=s+m[i][j]; } ave=s/3; printf("stu %d,ave= %.1f\n",i+1,ave); s=0; } }

s=s+m[i][j];

printf("s=%.0f\n",s); /*调试部分,检验s和输出衡行数据的值*/

printf("%.0f ",m[i][j]); /*调试部分可省略*/

}

printf("\n");

ave=s/3;

printf("stu %d,ave= %.1f\n",i+1,ave);

s=0;

}

}

第二问与第一问相似,转一下就行了。

第三问:

#include "stdio.h"

void main()

{

int i,j;

float a[4][3]={78,67,89,45,98,93,91,67,84,84,48,88};

printf("score more than 90 are : \n");

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

{

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

{

if(a[i][j]>=90) printf(" %.0f\n",a[i][j]);

}

printf("i= %d,j= %d\n",i,j);

}

}

10.题:

第一问:

#include "stdio.h"

void main()

{ struct stu

{

char name[10];

float c_score,math_score,eng_score;

};

int i;

float ave,s=0;

struct stu a[4]={"lilin",78,67,89,"zhouyi",45,98,93,"suwei",91,67,84,"zhangli",84,48,88};

/* for(i=0;i<4;i++)

{

printf("name%s\nc_score%.0f\nmath_score%.0f\neng_score%.0f\n\n",a[i].name,a[i].c_score,a[i]. math_score,a[i].eng_score);

} */ /*调试部分可省略*/

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

{

s=s+a[i].c_score+a[i].math_score+a[i].eng_score;

/* printf("s=%.0f\n",s); */ /*调试部分可省略*/

ave=s/3;

printf("ave_student %d,ave is: %.0f\n",i+1,ave);

s=0;

}

}

第二问:

#include "stdio.h"

void main()

{ struct stu

{

char name[10];

float c_score,math_score,eng_score;

};

int i;

float ave,s=0;

struct stu a[4]={"lilin",78,67,89,"zhouyi",45,98,93,"suwei",91,67,84,"zhangli",84,48,88};

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

{

s=s+a[i].c_score;

}

ave=s/4;

printf("ave_c_score is: %.0f\n",ave);

s=0;

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

{

s=s+a[i].math_score;

}

ave=s/4;

printf("ave_math_score is: %.0f\n",ave);

s=0;

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

{

s=s+a[i].eng_score;

}

ave=s/4;

printf("ave_eng_score is: %.0f\n",ave);

}

第三问:(用if语句即可这里不再给出答案)

先看一下电脑的“系统资源”是多少,右键单击“我的电脑”,选择“属性”,再选择“性能”,看一下“系统资源”是多少,一般应该达到95%左右还差不多。

1、电脑桌面上的东西越少越好,我的电脑桌面上就只有“我的电脑”和“回收站”。东西多了占系统资源。虽然在桌面上方便些,但是是要付出占用系统资源和牺牲速度的代价。解决办法是,将桌面上快捷方式都删了,因为在“开始”菜单和“程序”栏里都有。将不是快捷方式的其他文件都移到D盘或E盘,不要放在C盘。C盘只放WINDOWS的文件和一些程序安装必须安装在C盘的,其他一律不要放在C盘,放在D盘或E盘。

2、右键单击“我的电脑”,选择“属性”,再选择“性能”,单击左面“文件系统”,有一个“此计算机的主要用途(T)”选项,下拉那个箭头,将“台式机”改为“网络服务器”,然后确定。再选择右面的“虚拟内存”,选择“用户自己指定虚拟内存设置(M)”,然后将最大值和最小值都改为你电脑内存的数值乘以2,比如是128兆内存,则设置为“256”,然后确定,不用理会显示的提示,确定以后需要重新启动。

3、打开“我的电脑”,打开C盘,有一个Windows文件夹,打开它,找到一个“Temp文件夹”,把里面的文件全部删除,(需要事先关闭其他应用程序)。在“Temp文件夹”旁边有个“Temporary Internet Files文件夹”,打开,把里面的内容全部删除。一定注意啊,“Temp文件夹”和“Temporary Internet Files文件夹”不要也

删了,是删文件夹里面的所有东西。切记!!!这样的操作最好一个月进行一次。

4、将电脑屏幕最下面的一行东西,只留下杀毒软件的实时监控图标和最左面的“开始”,其他的全部删除,因为占系统资源,而且有很多东西根本不用。即使用的在“开始”菜单里也全有。可以将最常用的软件的快捷方式添加在开始菜单,将次常用的添加在程序菜单。

5、将桌面墙纸和屏幕保护程序都设置为“无”.

6、选择左下角的“开始”——“程序”——“附件”——“系统工具”——“维护向导”,选择“修改我的维护设置或安排”确定,再选择“自定义”,下一步,“自定义”,再下一步,出现一个对话框“更加快速地启动Windows”,将里面的对勾全部取消啊,这是开机时启动的程序,有的根本不用的,如果用再启动也很快的。然后下一步,选择“否”再下一步,再选“否”,再下一步,还是“否”,然后“完成”。OK!

7、选择左下角的“开始”——“程序”——“附件”——“系统工具”——“磁盘扫描程序”,选中上面的“自动修复错误”然后“开始”,很快就修复完毕,把你所有的硬盘C、D、E、F都修复一遍,然后“关闭”退出。

8、选择左下角的“开始”——“程序”——“附件”——“系统工具”——“磁盘碎片整理程序”,下拉菜单中选择“所有的硬盘”然后确定,然后你就等着吧,可以去休息一会了,呵呵。如果以前从来没有运行过这个程序的话,而且你的硬盘很大,那么可能得1个小时多的

时间(如果觉得时间长,可以停下来,分几次以后再运行也可以)。这个程序以后应该1个月左右运行一次,第二次以后运行时间就短多了。

经过这样的保养,你的电脑是不是恢复了刚买时候的速度?甚至更快了,呵呵!然后右键单击“我的电脑”,选择“属性”,再选择“性能”,看一下“系统资源”是多少,达到95%没有 ?

相关主题
相关文档
最新文档