当前位置:文档之家› C 经典例题(改进版)

C 经典例题(改进版)

C 经典例题(改进版)
C 经典例题(改进版)

1:1~100的偶数累加,奇数相乘

一。请用三种结构实现从1到100之间的偶数累加,奇数相乘,并将偶数累加的结果输出,奇数相乘的结果输出。

(1)用for语句完成

#include

using namespace std;

int main()

{

int sum=0;

double pro=1;

for(int i=2;i<=100;i=i+2)

{

sum=sum+i;

pro=pro*(i-1);

}

cout<<"1到100之间的偶数和为:"<

cout<<"1到100之间的奇数的积为:"<

return 0;

}

(2)用while语句完成

#include

using namespace std;

int main()

{

int sum=0;

double pro=1;

int i=2;

while(i<=100)

{

sum=sum+i;

pro=pro*(i-1);

i=i+2;

}

cout<<"偶数和为:"<

cout<<"奇数的积为:"<

return 0;

}

(3)用do-while语句完成

#include

using namespace std;

int main()

{

int sum=0;

double pro=1;

int i=2;

do

{

sum=sum+i;

pro=pro*(i-1);

i=i+2;

}while(i<=100);

cout<<"偶数和为:"<

cout<<"奇数的积为:"<

return 0;

}

2:aabb类的车牌号

1.一辆卡车违犯交通规则,撞人后逃跑。现场有三人目击事件,但都没有记住车号,只记下车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的,但与前两位不同;丙是位数学家,他说:四位的车号刚好是一个整数的平方。请根据以上线索求出车号。

#include

void main()

{

int a,b,c,d,n;

for(int i=0;i<100;i++)

{

n=i*i;

a=n/1000;

b=(n/100)%10;

c=(n/10)%10;

d=n%10;

if((a==b&&c==d)&&(a!=c)==1)

cout<<"车牌号码是:"<

}

}

3:颠倒顺序问题

一。编写字符串反转函数 mystrrev(),该函数的功能为将指定字符串的字符顺序颠倒排列。然后,再编写主函数验证之,函数声明如下:void mystrrev(char string[])

方法:(1)

#include

using namespace std;

#include

void mystrrev(char string[])

{

int x=strlen(string);

int i=0;

while(i

{

char tmp=string[i];

string[i]=string[x-i-1];

string[x-i-1]=tmp;

i=i+1;

}

}

int main()

{

char string[7]="abcdef";

cout<<"原来的排序是:"<

mystrrev(string);

cout<<"反转后的排序是:"<

return 0;

}

方法:(2)

#include

void mystrrev(char string[])

{

int x=strlen(string);

int i=0;

while(i

{

char tmp=string[i];

string[i]=string[x-i-1];

string[x-i-1]=tmp;

i=i+1;

}

}

int main()

{

cout<<"please input "<

cin<

cout<<"原来的排序是:"<

mystrrev(string);

cout<<"反转后的排序是:"<

return 0;

}

4:各种符号=%的使用

一。各种符号=,*,/,%的使用。

#include

void main()

{

int a=20, b=6;

a+=a; cout<

a=20; a-=a; cout<

a=20; a*=a; cout<

a=20; a/=b; cout<

a=20; a%=b; cout<

a=20; a=a-b; cout<

a=10; b=4;

a+=a*=a-=a/b; cout<

}

5:计算单词的个数

2. 输入一行字符,统计其中单词的个数。各单词之间用空格分隔,空格数可以是多个。

输入输出示例

Input words: The sum of the odd numbers

Count = 6

#include

using namespace std;

void main()

{

char a,b;

int c=0;

cout<<"请输入一行单词:"<

while((a=getchar())!='\n')

{

if(a==32&&b!=32)

c++;

b=a;

}

if(b!=32)

c++;

cout<<"单词数为"<

}

6:计算各种数符符号的个数

(2)编写程序,不断随机地从键盘输入字符,直到输入字符q或Q时退出,分别统计输出一共有多少个数字,多少个小写字母,多少个大写字母及多少个除上述以外的其他字符的个数。(注意:这里最后一个q或Q也要计算在内)

#include

using namespace std;

int main()

{

char ch;

int a=0,b=0,c=0,d=0;

cout<<"请输入你想输入的任意字符"<

do

{

cin>>ch;

if(ch>='0'&&ch<='9')

a=a+1;

else if(ch>='a'&&ch<='z')

b=b+1;

else if(ch>='A'&&ch<='Z')

c=c+1;

else

d=d+1;

}while(ch!='q'&&ch!='Q');

cout<<"一共输入的数字个数为"<

cout<<"一共输入的小写字母个数为"<

cout<<"一共输入的大写字母个数为"<

cout<<"一共输入的非以上情况字符的个数为"<

return 0;

}

8:计算字符个数

#include

using namespace std;

int main()

{

char ch;

int a=0,b=0,c=0,d=0;

cout<<"请输入你想输入的任意字符"<

do

{

cin>>ch;

if(ch>='0'&&ch<='9')

a=a+1;

else if(ch>='a'&&ch<='z')

b=b+1;

else if(ch>='A'&&ch<='Z')

c=c+1;

else

d=d+1;

}while(ch!='q'&&ch!='Q');

cout<<"一共输入的数字个数为"<

cout<<"一共输入的小写字母个数为"<

cout<<"一共输入的大写字母个数为"<

cout<<"一共输入的非以上情况字符的个数为"<

return 0;

}

9:求三个数的平均数

(3)编写一个程序,要求:提示输入3个数;显示这3个数,求他们的平均值并输出。#include

using namespace std;

int main ()

{

double A,B,C,D;

cout<<"pleace input three numbers:";

cin>>A>>B>>C;

cout<<"A="<

D=(A+B+C)/3;

cout<<"D="<

return 0;

}

10:求身高有关的问题

1.身高预测

每个做父母的都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩成人后的身高的因素包括遗传、饮食习惯与体育锻炼等。小孩成人后的身高与其父母的身高和自身的性别密切相关。

设faHeight为其父身高,moHeight为其母身高,身高预测公式为

男性成人时身高=(faHeight + moHeight)×0.54cm

女性成人时身高=(faHeight×0.923 + moHeight)/2cm

此外,如果喜爱体育锻炼,那么可增加身高2%;如果有良好的卫生饮食习惯,那么可增加身高1.5%。编程从键盘输入用户的性别(用字符型变量sex存储,输入字符F表示女性,输入字符M表示男性)、父母身高(用实型变量存储,faHeight为其父身高,moHeight为其母身高)、是否喜爱体育锻炼(用字符型变量sports存储,输入字符Y表示喜爱,输入字符N表示不喜爱)、是否有良好的饮食习惯等条件(用字符型变量diet存储,输入字符Y表示良好,输入字符N表示不好),利用给定公式和身高预测方法对身高进行预测。

#include

int main()

{

double H,a,b;

char diet,sport,sex;

cout<<"please input the faHeigh:";

cin>>a;

cout<<"please input sex ,sport,diet:";

cin>>sex>>sports>>diet;

if(sex=='Y')

{ H=(a+b)*0.54; }

else(sex=='H')

{ H=(a*0.923+b)/2; }

if(diet=='Y')

{

H=H+H*0.02;

if(sports=='Y')

{

H=H+H*0.015;

}

cout<<"H=<

cout<

return 0;

}

11:设计简单的计算器各种运算符号

2.简单的计算器

用switch语句编程设计一个简单的计算器程序,要求根据用户从键盘输入的表达式:

操作数1 运算符op 操作数2

计算表达式的值,指定的算术运算符为加(+)、减(-)、乘(*)、除(/)。

编程要求:程序能进行浮点数的算术运算,有用户输入输出提示信息。

提示:因为除法中的除数不能为0,因此关键在于如何比较浮点变量data2和常数0是否相等。作为整型变量跟0的比较,简单的==就可以解决。而浮点型等实型变量需要用

if (fabs(data2) <= 1e-7)

进行判断(即判断其是否足够小)。若使用函数fabs,需要包含头文件cmath.h

方法一:

#include

#include

int main()

{

char op;

cout<<"please input +,-,*,/:"<

cin>>op;

double a,b,x;

cout<<"please input two regrets :"<

cin>>a>>b;

{

switch (op)

{

case'+': x=a+b; cout<

case'-': x=a-b; break;

case'/': if((fabs(b)<=1e-7))

cout<<"bune"<

else

x=a/b; break;

case'*': x=a*b; break;

}

}

return 0;

}

方法二:

#include

int main()

{

float data1,data2,data3;

char op;

cout<<"请输入操作数1,运算符,操作数2"<

cin>>data1>>op>>data2;

if(op=='/'&&data2==0)

{ cout<<"错误"<

else

{ switch(op)

{

case '+': data3=data1+data2; break;

case '-': data3=data1-data2; break;

case '*': data3=data1*data2; break;

case '/': data3=data1/data2; break;

}

cout<

}

return 0;

}

12:用调用函数比较两个数的大小,并返回最大数

(1)输入两个数,输出其中较大的数。

要求定义和调用函数int max(int a,int b);找出并返回a,b中较大的数#include

using namespace std;

int max(int a,int b)

{

int big=a;

if(b>big)

big=b;

else

big=a;

return big;

}

int main()

{

int a,b,big;

cout<<"请输入两个数a和b:"<

cin>>a>>b;

cout<<"最大的数为:"<

return 0;

}

一。有关++和--的运算

#include

void main()

{

int x=6, y ;

cout<<"x= "<

y = ++x ;

cout<<"x= "<

cin>>n;

cout<<"请输入"<

int j=0;

int min;

int max;

double sum=0;

for(k=0;k

cin>>a[k];

for(t=0;t

{

max=a[0];

min=a[0];

if(a[t]>max)

{

max=a[t];

}

if(a[t]

{

min=a[t];

}

sum=a[t]+sum;

}

double ave;

ave=sum/n;

cout<<"这组数的最大值为"<

cout<<"这组数的最小值为:"<

cout<<"这组数的和为:"<

printf("数组中的数的平均值为:%.2f\n",ave);

return 0;

}

15:直方图数据的输出

2.餐饮服务质量调查打分

在商业和科学研究中,人们经常需要对数据进行分析并将结果以直方图的形式显示出来。例如,一个公司的主管可能需要了解一年来公司的营业状况,比较一下各月份的销售收入状况。如果仅给出一大堆数据,这显然太不直观了,如果能将这些数据以条形图(直方图)的形式表示,将会大大增加这些数据的直观性,也便于数据的分析与对比。下面以顾客对餐饮服务打分为例,练习这方面的程序编写方法。假设有40个学生被邀请来给自助餐厅的食品和服务质量打分,分数划分为1~10这10个等级(1表示最低分,10表示最高分),试统计调查结果,并用*打印出如下形式的统计结果直方图。

Grade Count Histogram

1 5 *****

2 10 **********

3 7 *******

...

提示:

- 定义数组score存放打的分数

- 定义数组count为计数器(count[0]不用)

- 计算统计结果:设置一个循环,依次检查数组元素值score[i],是1则将数组元素count[1]加1,是2则将数组元素count[2]加1,依此类推

for (i=0; i

{ count[score[i]] ++; }

- 打印统计结果,设置一个循环,按count数组元素的值,打印相应个数的符号'*'

提示:输入40个数据太多,进行测试的时候,可以让计算机生成随机数代替手工输入数据。

由计算机随机自动生成数据,需在程序开始部分加入下面两条语句:

#include

#include

srand((int)time(0));// 将该语句放在main函数里面变量定义之后的第一条语句。

score[i]=rand()%10+1;//通过循环语句系统每次会自动给score数组元素随机赋上1-10以内的不同的值。其中rand()%10会随机产生0--9之间的随机值。

程序如下:

#include

#include

#include

using namespace std;

int main()

{

int i,z,x;

int score[40];

int count[11]={0,0,0,0,0,0,0,0,0,0,0};

srand((int)time(0));

cout<<"请打分:"<

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

{

score[i]=rand()%10+1;

count[score[i]]++;

}

cout<<"Grade\t\t\tCount\t\t\tHistogram"<

for(z=1;z<11;z++)

{

cout<

for(x=0;x

{

cout<<"*";

}

cout<

}

return 0;

}

16:求阶乘和,其中n的值由键盘输入。(注:n的值最好在8以内,以防越界!)要求:定义和调用函数double fact(int a);求取a!并返回结果。

注:此题仅作为自定义函数练习使用,这个程序用函数实现效率会很低。

#include

using namespace std;

double fact(int a)

{

int i;

double pro=1;

for(i=a;i>0;i--)

pro=pro*i;

return pro;

}

int main()

{

double a,b,j;

double pro=0;

cout<<"请输入你所要求阶乘和的最高项的项数a(0

cin>>a;

for(j=a;j>0;j--)

{

b=fact(j);

pro=pro+b;

}

cout<<"结果为:"<

return 0;

}

17:做加法运算的得分与错题数

2.给小学生出加法考试题

编写一个程序,给学生出加法运算题,然后判断学生输入的答案对错与否,可以按下列要求以循序渐进的方式编程。

程序1 通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示"Right!",否则显示"Not correct! Try again!",程序结束。

程序2 通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示"Right!",否则显示"Not correct! Try again!",直到做对为止。

程序3 通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示"Right!",否则提示重做,显示"Not correct! Try again!",最多给三次机会,如果三次仍未做对,则显示"Not correct! You have tried three times! Test over!",程序结束。

程序4 连续做10道题,通过计算机随机产生两个1~10之间的加数给学生出一道加法运算题,如果输入答案正确,则显示"Right!",否则显示"Not correct!",不给机会重做,10道题做完后,按每题10分统计总得分,然后打印出总分和做错的题数。

编程要求:

1. 较好的用户输入输出提示

2. 使用子函数实现两个数相加的测试。此函数的输入参数是两个加数,返回值是用户运算的正确与否(用1或者0表示)。在此函数中首先读入用户输入的加法结果,并与正确结果进行比较。

int AddTest(int a, int b) ;

3. 仅仅要求完成程序4的编写调试运行工作,程序1至程序3是对编写程序4的引导。若可以直接编写出程序4,可以直接编写,如果不能一步编写成功,可以根据引导一步步编写。

(一)方法:C++:

#include

#include

#include

using namespace std;

int AddTest(int a, int b)

{

int sum;

sum=a+b;

return sum;

}

int main()

{

int i,mark=0,wrong=0;

cout<<"请输入运算结果:"<

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

{

int a,b,answer,d,sum;

srand((int)time(0));

a=rand()%10+1;

b=rand()%10+1;

AddTest(a,b);

cout<

cin>>answer;

if(answer==AddTest(a,b))

{

int right=0;

right=right+1;

mark=mark+10;

cout<<"Right!"<

}

else if(answer !=AddTest(a,b))

{

wrong=wrong+1;

cout<<"Not correct!"<

}

}

cout<<"总分为:"<

cout<<"错题数:"<

return 0;

}

(二)方法:C 语言:

#include

#include

int AddTest(int a,int b)

{

int answer;

printf("Please input the answer:");

scanf("%d",&answer);

if(answer==a+b)

{

printf("Right!\n");

return 1;

}

else

{

printf("Not correct!\n");

return 0;

}

}

int main()

{

int i,j,k,m,sum=0,wsum=10;

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

{

i = rand()%10+1;

j = rand()%10+1;

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

m = AddTest(i,j);

sum+=m*10;

}

printf("The score is %d,and the wrong number is %d\n",sum,wsum);

return 0;

}

19:随机产生加减乘除的运算符

(一):C++中怎么样才能实现随机产生一个加减乘除的运算符

#include

#include

using namespace std;

int main()

{

int nINT;

char c=0;

while (c!='0')//0退出循环

{

srand((unsigned)time(NULL));

nINT = rand()%4; //产生随机数范围是0-3(包括3)

switch(nINT)

{

case 0://对应加法

cout<

case 1://对应减法

cout<

case 2://对应乘法

cout<

case 3://对应除法

cout<

default:

break;

}

cin>>c;

}

return 0;

}

20.学生成绩排名

2.某班期末考试科目为数学(MT)、英语(EN)和物理(PH),有最多不超过30人参加考试。考试后要求:

(1)计算每个学生的总分和平均分;

(2)按总分成绩由高到低排出成绩的名次;

(3)打印出名次表,表格内包括学生编号、各科分数、总分和平均分;

(4)任意输入一个学号,能够查找出该学生在班级中的排名及其考试分数

#include

using namespace std;

int inputScore(long num[],float score[][3])//输入学号成绩

{

int count;

cout<<"请输入学生人数:";

cin>>count;

for(int i=0;i

{

cout<<"学号:";

cin>>num[i];

cout<<"请依次输入数学、英语、物理成绩:"<

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

cin>>score[i][j];

}

return count;

}

float GetAver(float score[][3],float aver[],float sum[])//每个人的平均分总分

{

for(int i=0;i<30;i++)

{

sum[i]=0;

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

sum[i]=sum[i]+score[i][j];

aver[i]=sum[i]/3.0;

}

return 0;

}

int change(long num[],float score[][3],float aver[],float sum[],int count)//打印排名

{

int i,j,k;

cout<<"成绩排名:"<

for(i=0;i

{

for(j=i+1;j

{

if(sum[j]>sum[i])

{

int temp1=sum[i];

sum[i]=sum[j];

sum[j]=temp1;

int temp2=num[i];

num[i]=num[j];

num[j]=temp2;

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

{

int temp3=score[i][k];

score[i][k]=score[j][k];

score[j][k]=temp3;

}

int temp4=aver[i];

aver[i]=aver[j];

aver[j]=temp4;

}

}

}

for(i=0;i

{

cout<<"第" <

<<"名:学号 " <

<<" 英语" <

<<" 平均分" <

}

return 0;

}

int lookfor(long num[],float score[][3])//查找

{

int a;

cout<<"请输入被查找学生学号:";

cin>>a;

for(int i=0;i<30;i++)

{

if(num[i]==a)

cout<<"学号"<

<<" 第"<

<<" 英语"<

<<" 平均分"<< (score[i][0]+score[i][1]+score[i][2])/3.0

<<" 总分"<<(score[i][0]+score[i][1]+score[i][2])<

}

return 0;

}

int main()

{

long num[30];float score[30][3],aver[30],sum[30];int a;

a=inputScore(num,score);//输入成绩,统计人数

cout<<"-----------------------------------------------"<

GetAver(score,aver,sum);//计算总分平均分

change(num,score,aver,sum,a);//打印排名

cout<<"==============================================="<

lookfor(num,score);//查找

return 0;

}

21学生成绩统计

1.学生成绩统计

从键盘输入一个班(全班最多不超过30人)学生某门课的成绩,当输入成绩为负值时,输入结束,分别实现下列功能:

(1)统计不及格人数并打印不及格学生名单;

(2)统计成绩在全班平均分及平均分之上的学生人数,并打印这些学生的名单;

(3)统计各分数段的学生人数及所占的百分比。

注:将成绩分为六个分数段,60分以下为第0段,60~69为第1段,70~79为第2段,80~89为第3段,90~99为第4段,100分为第5段。

#include

using namespace std;

int ReadScore(long num[],float score[]) //输入学号成绩

{

int count=0;

for(int i=0;i<30;i++)

{

cout<<"学号:";

cin>>num[i];

count++;

cout<<"成绩:";

cin>>score[i];

if(score[i]<=0)

break;

}

return count;

}

int GetFail(long num[], float score[], int n) //打印不及格人数,名单

{

int Fail=0;

for(int i=0;i

{

if(score[i]<60)

{

cout<<"学号:"<

Fail++;

}

}

cout<<"不及格总人数:"<

return Fail;

}

float GetAver(float score[], int n)//平均分

{

float sum=0,aver;

for(int i=0;i

sum=sum+score[i];

aver=sum/n;

return aver;

}

int GetAboveAver(long num[], float score[], int n) //打印平均分之上人数,名单{

int AboveAver=0,i;

float sum=0,aver;

for(i=0;i

sum=sum+score[i];

aver=sum/n;

for(i=0;i

{

if(score[i]>=aver)

{

cout<<"学号:"<

AboveAver++;

}

}

cout<<"平均分之上人数:"<

return AboveAver;

}

void GetDetail(float score[], int n) //统计各分数段的学生人数及所占的百分比

{

int date;

float count[6]={0,0,0,0,0,0};

for(int i=0;i

{

date=score[i]/10;

switch(date)

{

case 10: count[5]++; break;

case 9: count[4]++; break;

case 8: count[3]++; break;

case 7: count[2]++; break;

case 6: count[1]++; break;

default: count[0]++; break;

}

}

cout<<"100: "<

cout<<"90~99: "<

cout<<"80~89: "<

cout<<"70~79: "<

cout<<"60~69: "<

cout<<"60以下: "<

int main()

{

long num[30];float score[30];float a,b;

a=ReadScore(num,score);

cout<<"==============================================="<

for(int j=0;j

{

cout<<"学号"<

}

cout<<"总人数:"<

cout<<"==============================================="<

cout<<"不及格名单:"<

GetFail(num,score,a);

cout<<"==============================================="<

b=GetAver(score,a);

cout<<"平均分:"<

cout<<"成绩在平均分之上名单:"<

GetAboveAver(num,score,a);

cout<<"==============================================="<

cout<<"各成绩段人数:"<

GetDetail(score,a);

return 0;

}

22.用指针和数组求最大和最小

2.定义一个不少于10个元素的整形数组,用指针指向数组的第一个元素,然后作为参数传给函数,找出其中的最大最小元素并打印出来。

#include

using namespace std;

void maxandmin(int *v,int length,int *max,int *min)

{

*max=*min=v[0];

for(int i=0;i

{

if(v[i]>*max)

*max=v[i];

if(v[i]<*min)

*min=v[i];

}

}

void main()

{

int v[10];

int max,min;

cout<<"请输入十个整数:"<

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

cin>>v[i];

maxandmin(v,10,&max,&min);

cout<<"max="<

}

23.在字符串查找子串的位置

3.指针与字符串的操作

编写在字符串中进行子串查找的函数。查找子串string1在字符串string2中第一次出现的位置。如果找到,返回指向string2中该子串开始位置;如果string2中不存在该子串,返回-1。

要求:分别用p1、p2作为string1和string2的首地址作为参数传给你所编写的子串查找函数,在查找的时候也要求用指针来进行比对操作。string1和string从键盘输入。

#include

using namespace std;

int findstr(char *string1, char *string2)

{

int i=1;char *s1,*s2;

while(*string2!='\0') //指针移动到与子串首字母相同的位置

{

s1=string1;s2=string2; //记录移动当前指针位置

while(*string2==*string1&&*string1!='\0') //判断是否含有完整子串

{

string2++; //移动指针到下一位

string1++; //移动指针到下一位

}

if(*string1=='\0') //含有完整子串

break; //跳出

string1=s1;string2=s2; //不含完整子串指针复位继续循环

string2++;

C语言经典例题和答案

一、求一个任意边长的矩形面积。 #include void main() {int w,h,sum; scanf("%d%d",&w,&h); sum=w*h; printf("area=%d\n",sum); } 二、求一个任意半径的圆的面积及周长。 #define PI 3.14159 #include void main() {float r,area,c; scanf("%f",&r); area=PI*r*r; c=2*PI*r; printf("area=%f\ncircle=%f\n",area,c); } 三、已知:w=5, y=4, z=2, 求表达式:w*y/z的值,并输出。 ##include void main() { int w,y,z,r; w=5; y=4; z=2; r=w*y/z; printf("%5d",r); } 一、从键盘上输入三个数,求出其中的最大值,并输出。 #include void main() {int a,b,c,max; scanf("%d%d%d",&a,&b,&c); max=a; if(max

#include #define PI 3.14159 #include void main() {float a,b,sum; a=30*PI/180; b=60*PI/180; sum=sin(a)+sin(b)+cos(a)+cos(60); printf("total=%f\n",sum); } 三、比较两个数的大小。如果x大于y,则输出:x>y,否则输出:x void main() {int x,y; scanf("%d,%d",&x,&y); if(x>y) printf("x>y\n"); else printf("x void main() {int a,b,c,t; scanf("%d%d%d",&a,&b,&c); if(a>b) { t=b; b=a; a=t; } if(a>c) {t=a; a=c; c=t; } if(b>c) {t=b;b=c;c=t;} printf("%3d%3d%3d\n",a,b,c); }. 二、求自然数1~10之和。。 #include void main()

C经典习题答案

1.在类作用域中能够通过直接使用该类的()成员名进行访问。 A. 私有 B. 公用 C. 保护 D. 任何 答案:D 2.小数类型和浮点类型都可以表示小数,正确说法:( ) A. 两者没有任何区别 B. 小数类型比浮点类型取值范围大 C.小数类型比浮点类型精度高 D. 小数类型比浮点类型精度低 答案:C 3.能作为C#程序的基本单位是( )。 A. 字符 B. 语句 C. 函数 D. 源程序文件 答案:B 4. 可用作C#程序用户标识符的一组标识符是( )。 A. void define +WORD B. a3_b3 _123 YN C. for -abc Case D. 2a DO sizeof 答案:B 5.引用类型主要有4种:类类型、数组类型、接口类型和()。 A.对象类型 B.字符串类型 C.委托类型 D.整数类型 答案:C 6.使用Dirctory类的下列方法,可以获取指定文件夹中的文件的是(). A.Exists() B.GetFiles() C.GetDirectories() D.CreateDirectory() 答案:B 7.加载窗体时触发的事件是( )。 A. Click B.Load C.GotFoucs D.DoubleClick

答案:B 8.改变窗体的标题,需修改的窗体属性是( )。 A. Text B. Name C.Title D. Index 答案:A 9.在接口的成员中,不能包含( ). A.属性 B.方法 C.事件 D.常量 答案:D 10.在C#中定义接口时,使用的关键字是( )。 A.interface B.: C.class D.overrides 答案:A 1.当在程序中执行到语句时,将结束所在循环语句中循环体的一次执行。 答案:continue 2.元素类型为double的2行5列的二维数组共占用字节的存储空间。 答案:80 3.C#数组类型是一种引用类型,所有的数组都是从System命名空间的类继承而来的引用对象。 答案:object 4.枚举是从System. 类继承而来的类型。 答案:Enum 5.一般将类的构造方法声明为访问权限。如果声明为private,就不能创建该类的对象。 答案:public或公有 6.类中声明的属性往往具有get()和两个函数。 答案:set() 7.对于方法,参数传递分为值传递和两种。

大学经典C语言编程试题

大学经典C语言编程试 题

1.输入两个正整数,m和n,求其最大公约数和最小公倍数。 #include<> void main() { int hcf(int,int); /*函数声明*/ int lcd(int,int,int); /*函数声明*/ int u,v,h,l; printf("Please input two numbers:\n"); scanf("%d,%d",&u,&v); h=hcf(u,v); l=lcd(u,v,h); } int hcf(int u,int v) { int t,r; if(v>u) {t=u;u=v;v=t;} while((r=u%v)!=0) {u=v;v=r;} return(v); } int lcd(int u,int v,int h) { return(u*v/h); } 2.输入一行字符,分别统计出其中字母、空格、数字和其他字符的个数。 #include<> int letter,digit,space,others; void main() { void count(char[]); char text[80]; printf("Please input string:\n"); gets(text); printf("string:\n"); puts(text); letter=0; digit=0; space=0; others=0; count(text); printf("letter:%d,digit:%d,space:%d,others:%d\n",letter,digit,space,others); } void count(char str[]) {

c和c++经典笔试题及答案

C++/C经典笔试题及答案 C++/C试题 本试题仅用于考查C++/C程序员的基本编程技能。内容限于C++/C常用语法,不涉及数据结构、算法以及深奥的语法。考试成绩能反映出考生的编程质量以及对C++/C的理解程度,但不能反映考生的智力和软件开发能力。 笔试时间90分钟。请考生认真答题,切勿轻视。 一、请填写BOOL , float, 指针变量与“零值”比较的 if 语句。(10分)提示:这里“零值”可以是0, 0.0 , FALSE或者“空指针”。例如 int 变量 n 与“零值”比较的 if 语句为: if ( n == 0 ) if ( n != 0 ) 请写出BOOL flag 与“零值”比较的if 语句: 请写出float x 与“零值”比较的if 语句: 请写出char *p 与“零值”比较的if 语句: char str[] = “Hello” ; char *p = str ; int n = 10; 请计算 sizeof (str ) = sizeof ( p ) = sizeof ( n ) =void Func ( char str[100]) { 请计算 sizeof( str ) = } void *p = malloc( 100 );请计算 sizeof ( p ) = 1、头文件中的 ifndef/define/endif 干什么用? 2、#include 和#include “filename.h” 有什么区别? 3、const 有什么用途?(请至少说明两种) 4、在C++ 程序中调用被 C编译器编译后的函数,为什么要加extern “C”声明? 5 // 第一个 for (i=0; i

最新版c语言经典习题100例(最全面)

C 语言习题100 例(最新整理版) 习题目录:(按住Ctrl 点击可以快速跳转到对应页面) 【程序1】 (5) 题目:有1、2、3、4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? (5) 【程序2】 (6) 题目:企业发放的奖金根据利润提成。利润(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,求应发放奖金总数? (6) 【程序3】 (7) 题目:一个整数,它加上100 后是一个完全平方数,再加上168 又是一个完全平方数,请问该数是多少? (7) 【程序4】 (7) 题目:输入某年某月某日,判断这一天是这一年的第几天? (7) 【程序5】 (8) 题目输入三个整数x,y,z请把这三个数由小到大输出。 (8) 【程序6】 (9) 题目用*号输出字母C的图案。 (9) 【程序7】 (9) 题目:输出特殊图案,请在C环境中运行,看一看,VeryBeautifuI! (9) 【程序8】 (9) 题目:输出9*9 口诀。 (9) 【程序9】 (10) 题目:要求输出国际象棋棋盘。 (10) 【程序10】 (10) 题目:打印楼梯,同时在楼梯上方打印两个笑脸。 (10) 【程序11】 (11) 题目:古典问题:有一对兔子,从出生后第3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? (11) 【程序12】 (11) 题目:判断101-200 之间有多少个素数,并输出所有素数。 (11) 【程序13】 (12) 题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1 的三次方+5的三次方+3的三次方。 (12) 【程序14】 (12) 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5 。 (12) 【程序15】 (13) 题目利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用 C 表示。 (13) 【程序16】 (13) 题目:输入两个正整数m和n ,求其最大公约数和最小公倍数。 (13) 【程序17】 (14) 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。14【程序18】 (14)

C语言练习题(带答案)-绝对经典题目不看后悔

1单选题 1.(A)是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从C开始执行。 A) 程序中第一条可执行语句B) 程序中第一个函数 C) 程序中的main函数D) 包含文件中的第一个函数 3、以下说法中正确的是(C)。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B)。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C)。 A.-a1 B.a[i] C.a2_i D.int t 5~8题为相同类型题 考点:标识符的命名规则 (1)只能由字母、数字、下划线构成 (2)数字不能作为标识符的开头 (3)关键字不能作为标识符 选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3) 6.下列C语言用户标识符中合法的是(B)。 A)3ax B)x C)case D)-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是(C)。 A)%x B)a+b C)a123 D)123 选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2) 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while为关键

数据结构(C语言)【经典题库】含标准答案

《数据结构与算法》复习题 选择题 1.在数据结构中,从逻辑上可以把数据结构分为 C 。 A.动态结构和静态结构 B.紧凑结构和非紧凑结构 C.线性结构和非线性结构 D.内部结构和外部结构 2.数据结构在计算机内存中的表示是指 A 。 A.数据的存储结构 B.数据结构 C.数据的逻辑结构 D.数据元素之间的关系 3.在数据结构中,与所使用的计算机无关的是数据的 A 结构。 A.逻辑 B.存储 C.逻辑和存储 D.物理 4.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储 C 。A.数据的处理方法 B.数据元素的类型 C.数据元素之间的关系 D.数据的存储方法 5.在决定选取何种存储结构时,一般不考虑 A 。 A.各结点的值如何 B.结点个数的多少 C.对数据有哪些运算 D.所用的编程语言实现这种结构是否方便。 6.以下说法正确的是 D 。 A.数据项是数据的基本单位 B.数据元素是数据的最小单位

C.数据结构是带结构的数据项的集合 D.一些表面上很不相同的数据可以有相同的逻辑结构 7.算法分析的目的是 C ,算法分析的两个主要方面是 A 。(1)A.找出数据结构的合理性 B.研究算法中的输入和输出的关系C.分析算法的效率以求改进 C.分析算法的易读性和文档性(2)A.空间复杂度和时间复杂度 B.正确性和简明性 C.可读性和文档性 D.数据复杂性和程序复杂性 8.下面程序段的时间复杂度是 O(n2) 。 s =0; for( I =0; i

最新C语言经典例题100道汇总

C语言经典例题100 道

经典C源程序100例 题目:有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; else bonus=bonus10+(i-1000000)*0.01; printf("bonus=%d",bonus); } ============================================================== 【程序3】 题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? 1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后 的结果满足如下条件,即是结果。请看具体分析: 2.程序源代码: #include "math.h" main() { long int i,x,y,z; for (i=1;i<100000;i++)

C语言经典程序100题(完整版)

【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。#include "stdio.h" #include "conio.h" 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); } getch(); } ============================================================== 【程序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,求应发放奖金总数?程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。 #include "stdio.h" #include "conio.h" 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; else bonus=bonus10+(i-1000000)*0.01; printf("bonus=%d",bonus); getch(); } ============================================================== 【程序3】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。请看具体分析: #include "math.h" #include "stdio.h" #include "conio.h" main() { long int i,x,y,z; for (i=1;i<100000;i++) { x=sqrt(i+100); /*x为加上100后开方后的结果*/ y=sqrt(i+268); /*y为再加上168后开方后的结果*/

(完整版)C语言100个经典题目

C语言程序设计习题 授课对象:信息奥赛辅导成员 授课时间: 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔 子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数 为多少? __________________________________________________________________ 程序分析:兔子的规律为数列1,1,2,3,5,8,13,21…. ___________________________________________________________________ 程序源代码: 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;/*前两个月加起来赋值给第三个月*/ } } 上题还可用一维数组处理,you try! 题目:判断101-200之间有多少个素数,并输出所有素数。 __________________________________________________________________ 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。 ___________________________________________________________________ 程序源代码: #include “math.h” main() { int m,i,k,h=0,leap=1;

C语言经典例题目解析

1、猴子吃桃子:猴子摘下若干个桃子,第一天吃了桃子的一半多一个,以后每天吃了前一天剩下的一半多一个,到第十天吃以前发现只剩下一个桃子,问猴子第一天共摘了几个桃子 #include main() {int s=1,i; for(i=9;i>=1;i--) s=(s+1)*2; printf("s=%d\n",s); } 2、鸡兔同笼:有若干只鸡兔同在一个笼子里,从上面数,有35个头;从下面数,有94只脚。问笼中各有几只鸡和兔? #include main() {int a,b; for(a=1;a<=40;a++)/* 120只脚如果全是鸡的话60只,但是总头是40,所以循环到40 */ for (b=1;b<=30;b++) /* 同理如果全是兔的话最多120/4=30 所以循环到30 */ {if((a==40-b)&&(a==60-2*b)) /* 同时满足总头数40总脚数120 */ printf("There are %d chichens \nThere are %d rabbits",a,b);} } 3、百钱买百鸡:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何? #include main( ) {int cocks,hens,chicks; cocks=0; while(cocks<=19) {hens=0; while(hens<=33) {chicks=100-cocks-hens; if(5*cocks+3*hens+chicks/3==100&&chicks%3==0) printf("%d,%d,%d\n",cocks,hens,chicks); hens=hens+1;} cocks=cocks+1;}} #include main() {int x,y,z; for(x=0;x<=20;x++) for(y=0;y<=33;y++) {z=100-x-y; if(15*x+9*y+z==300) printf("x=%d y=%d z=%d\n",x,y,z); } }

C经典例题

东风冷雪提供 /* 1.0用函数模板实现任何两个简单类型数据交换,并给出实例加以验证!(请先预习教材函数模板相关知识) */ #include using namespace std; template void change(T*x,T*y) { T temp; temp=*x; *x=*y; *y=temp; } int main() { int a,b; float c,d; cout<<"输入二个整数a,b :"; cin>>a>>b; change(&a,&b); cout<<"二个整数交换结果为:"<>c>>d; change(&c,&d); cout<<"二个小数交换结果:"< using namespace std; inline void p(char a) { if('0'>s;

p(s); return 0; } /*3.0 编写三个名为add的重载函数,分别实现两个整数、 两个实数和两个复数相加。*/ #include using namespace std; struct complex { int r_real; int r_imagine; }; typedef struct complex comp; comp e,f; int add(int x,int y) { return x+y; } double add(double x,double y) { return x+y; } void add(comp e,comp f) { int z1,z2; z1=e.r_real+f.r_real; z2=e.r_imagine+f.r_imagine; cout<<"二个复数相加的结果为"<>a>>b; cout<<"a+b="<>c>>d; cout<<"a+b="<>e.r_real>>e.r_imagine; cout<<"输入第二个复数的实部与虚部 "; cin>>f.r_real>>f.r_imagine; add(e,f);

最新版c语言经典习题100例(最全面)

C语言习题100例(最新整理版) 习题目录:(按住Ctrl点击可以快速跳转到对应页面) 【程序1】 (5) 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? (5) 【程序2】 (6) 题目:企业发放的奖金根据利润提成。利润(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,求应发放奖金总数? (6) 【程序3】 (7) 题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? (7) 【程序4】 (7) 题目:输入某年某月某日,判断这一天是这一年的第几天? (7) 【程序5】 (8) 题目:输入三个整数x,y,z,请把这三个数由小到大输出。 (8) 【程序6】 (9) 题目:用*号输出字母C的图案。 (9) 【程序7】 (9) 题目:输出特殊图案,请在c环境中运行,看一看,VeryBeautiful! (9) 【程序8】 (9) 题目:输出9*9口诀。 (9) 【程序9】 (10) 题目:要求输出国际象棋棋盘。 (10) 【程序10】 (10) 题目:打印楼梯,同时在楼梯上方打印两个笑脸。 (10) 【程序11】 (11) 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? (11) 【程序12】 (11) 题目:判断101-200之间有多少个素数,并输出所有素数。 (11) 【程序13】 (12) 题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。 (12) 【程序14】 (12) 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 (12) 【程序15】 (13) 题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。 (13) 【程序16】 (13) 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。 (13) 【程序17】 (14) 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 (14) 【程序18】 (14)

C经典编程练习题

C++经典编程例题(1) 1、(已验证!)计算铁路运费。已知从甲地到乙地,每张票托运行李不超过50公斤时,按每公斤0.13元,超过50公斤,超过部分按每公斤0.2元计算。输入行李重量w,计算运费y. #include using namespace std; void main() { float money=0,weight; cout<<"请输入货物重量(单位:千克):"; cin>>weight; if (weight<0) cout<<”数据错误!”< 50) money = 50 * 0.13 + (weight - 50) * 0.2; cout<<"\n总费用是:"< #include using namespace std; void main() { double a,b,c,p,x1,x2,D; cout<<"请输入3个数:"<

D=b*b-4*a*c; if (D<0) cout<<"方程无解!"<0) { p=-b/(2*a); x1=p+sqrt(D)/(2*a); x2=p-sqrt(D)/(2*a); cout<<"方程有两个不同的实根。"<>n; for (i=1;i<=n;i++) s=i*s; cout<

100个经典c语言例题(带答案)

100个经典c语言例题(带答案) 经典C源程序100例- -1 经典C源程序100例【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。 2.程序源代码:m... C语言经典程序100例 2009-02-26 19:44 | (分类:默认分类) 经典C源程序100例- - 1 经典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.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。

c语言编程例题及答案

实验报告三 (四学时) 2.1 实验目的 (1)掌握函数的定义和调用; (2)了解函数间的参数传送; 2.2 基础实验 【题目3-1】编写函数实现将输入的字母转换成大写字母(若输入小写则转换,大写字母直接输出,其他字符请输出提示“请输入字母”)。 算法分析: 1、输入:通过键盘接收一个字符; 2、条件判断:调用判别函数 页脚内容1

3、函数功能为:蒋所输入字符进行判别处理,若输入小写则转换,大写字母直接输出,其他字符请输出提示“请输入字母” 4、程序结束。 【实验3-1】代码及运行结果: 【题目3-2】从键盘输入若干个同学计算机课程期末考试成绩(学生人数可由用户输入),求该课程的期末成绩的平均分并输出。 函数功能要求:实现若干(例如5名)同学的的期末成绩输入,并统计出平均分。 页脚内容2

算法分析: 1、输入:通过键盘接收同学个数; 2、调用求平均分函数 3、输出平均成绩 4、程序结束。 【实验3-2】代码及运行结果: 页脚内容3

【题目3-3】请用函数编写程序实现:计算3 到100 之间所有素数的平方根之和,并输出。s=148.874270。 算法分析: 1、编写函素数判别函数,确定返回标记,如果是素数返回1,否则返回0 页脚内容4

2、编写主函数,用一重循环遍历100以内所有数据 2.1、通过素数判别函数对循环的数据进行是否为素数的判别 2.2、返回判别为真的整数,并输出 3、程序结束。 【实验3-3】代码及运行结果: #include #include int Prime(int x) { int i ; if(x<=1) return 0; for(i=2;i<=x-1;i++) { if(x%i==0) { 页脚内容5

C语言经典例题和答案

一、求一个任意边长得矩形面积。 #include <stdio。h〉 void main() {int w,h,sum; scanf("%d%d",&w,&h); sum=w*h; printf(”area=%d\n”,sum); } 二、求一个任意半径得圆得面积及周长、 #definePI 3、14159 #include <stdio。h> void main() {floatr,area,c; scanf(”%f",&r); area=PI*r*r; c=2*PI*r; printf("area=%f\ncircle=%f\n”,area,c); } 三、已知:w=5, y=4, z=2, 求表达式:w*y/z得值,并输出、 ##include〈stdio.h> void main() { int w,y,z,r; w=5; y=4; z=2; r=w*y/z; printf(”%5d”,r); } 一、从键盘上输入三个数,求出其中得最大值,并输出。 #include 〈stdio、h> void main() {int a,b,c,max; scanf("%d%d%d”,&a,&b,&c); max=a; if(max

#define PI 3.14159 #include <math。h> void main() {float a,b,sum; a=30*PI/180; b=60*PI/180; sum=sin(a)+sin(b)+cos(a)+cos(60); printf("total=%f\n”,sum); } 三、比较两个数得大小。如果x大于y,则输出:x>y,否则输出:x〈y。#include<stdio。h> void main() {int x,y; scanf(”%d,%d”,&x,&y); if(x〉y) printf("x〉y\n”); else printf(”x〈y\n”); } 一、输入a、b、c三个值,按从小到大排序输出。 #include 〈stdio。h〉 void main() {int a,b,c,t; scanf("%d%d%d",&a,&b,&c); if(a〉b) { t=b; b=a; a=t; } if(a〉c) {t=a; a=c; c=t; } if(b>c) {t=b;b=c;c=t;} printf("%3d%3d%3d\n",a,b,c); }、 二、求自然数1~10之与。。 #include 〈stdio.h> void main() {int i,sum;

c语言经典例题

C语言经典例题 最近学C的不少,我有些资料,希望对初学C的有点帮助! 经典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万元的部分,可提

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)

相关主题
文本预览
相关文档 最新文档