安徽大学_C语言平时作业 下载本文

2. 编程实现:键盘输入一个字符,如是大写字母,则输出相应小写字母;如是小写字母,则输出相应大写字母;其它字符原样输出。

#include main() {char c;

printf(\请输入一个字符:\scanf (\

if(c>='a'&&c<='z')c=c-32;

else if(c>='A'&&c<='Z')c=c+32; printf(\}

3、计算以下分段函数值

#include main()

{double x,y;

printf(\请输入一个实数:\scanf (\

if(x<0&&x!=-3)y=x*x+x-6;

else if(x>=0&&x<10&&x!=2&&x!=3)y=x*x-5*x+6; else y=x*x-x-1;

printf(\}

4. 编写程序,键盘接收一个字符串(只含大、小写英文字母),将该字符串加密后输出。加密规则为:若为小写字母则不变,若为大写字母则将其转换为小写后再后移一个字母,例如“A”应转换为“b”,“B”应转换为“c”,“Y”应转换为“z”,而“Z”应转换为“a”。

#include main()

{char c[20]; int i;

printf(\请输入一个字符串(只含英文字母):\gets (c);

for(i=0;c[i]!=?\\0?;i++)

if(c[i]>= ?A?&&c[i]<= ?Y?)c[i]=c[i]+33; else if(c[i]==?Z?)c[i]=?a?; puts(c);

putchar(?\\n?); }

5. 编写程序,用scanf输入任意两个数给变量a、b,若a大于等于b,则直接输出a、b,否则将a、b的值交换(即a的原值放入b中,b的原值放入a中)后再输出。

#include main() {float a,b,t;

printf(\请输入两个数:\scanf (\if(a

6. 编写程序:由系统生成一个10以内的随机整数,用户从键盘上输入一个10以内的整数,如果两者相等输出“OK”,否则输出“ERROR”。

#include #include #include main() {int a,b;

srand( (unsigned)time(NULL)); b=rand()+1;

printf(\请输入一个10以内的整数:\scanf(\

printf(\随机数b=%d\\n\if(a==b) printf(\else printf(\}

7. 编写程序要求输入整数a和b,若a2+ b2大于100,则输出a2+ b2百位以上的数字,否则输出两数之和。(此题为选做)

#include main() {int a,b,t;

printf(\请输入两个整数a,b=\scanf (\t= a*a+b*b; if(t<=100)

printf(\else

{t=t/100;

printf (\百位以上的数字是%d\\n\} }

实验五

1. 编程,计算函数y的值,已知函数y与自变量x的关系为:

#include main() {float x,y;

printf(“请输入一个非负数x=”); scanf(“%f”,&x);

if(x>=0&&x<100)y=3*x+10; else if(x>=100)y=x*x*x-20; if(x>=0)printf(“y=%f\\n”,y); else printf(“输入错误!\\n”); }

2. 编写一个简单的计算器程序,输入格式为:data1 op data2。其中data1和data2是参加运算的两个数,op为运算符,它的取值只能是+、-、*、/。

#include main() {char op; float d1,d2;

printf(\请输入算式(如3+5):\scanf(\switch(op)

{case '+': printf(\ case '-': printf(\ case '*': printf(\×%g=%g\\n\ case '/': printf(\÷%g=%g\\n\ } }

2. 编程实现:输入一个整数,判断它能否被3,5,7整除,并输出以下信息之一: ①能同时被3,5,7整除 ②能被其中两数(要指出是哪两个数)整除 ③能被其中一个数(要指出是哪一个数)整除 ④不能被3,5,7任一个数整除 #include main() {int n;

printf(\请输入一个整数n=\scanf(\

if(n%3==0&&n%5==0&&n%7==0)

printf(\能被3,5,7整除\\n\

else if(n%3==0&&n%5==0)printf(\能被3,5整除\\n\else if(n%3==0&&n%7==0)printf(\能被3,7整除\\n\else if(n%5==0&&n%7==0)printf(\能被5,7整除\\n\else if(n%3==0)printf(\能被3整除\\n\else if(n%5==0)printf(\能被5整除\\n\else if(n%7==0)printf(\能被7整除\\n\

else printf(\不能被3,5,7任一个整除\\n\}

4. 已知从2008年12月开始,银行整存整取存款不同期限的年利率分别为:三个月 1.71%,半年 1.98%,一年 2.25%,两年 2.79%,三年 3.33%,五年 3.60%。编写程序,要求输入存钱的本金和期限,求出到期时能从银行得到的利息与本金的合计数。

#include main() {char c; float x,y;

printf(\请输入存款本金x=\scanf(\do

{getchar(); /*接受回车符*/ clrscr(); /*清屏*/ printf(\存款期限:\\n\

printf(\三个月(年利率1.71%%)\\n\printf(\半年(年利率1.98%%)\\n\printf(\一年(年利率2.52%%)\\n\printf(\两年(年利率2.79%%)\\n\printf(\三年(年利率3.33%%)\\n\printf(\五年(年利率3.60%%)\\n\printf(\请输入存款期限(a,b,c,d,e,f):\scanf(\}

while(!(c>='a'&&c<='f')); printf(\元存期\x=x/100; switch(c)

{case 'a':y=x*(100+1.71/4); printf(\三个月\ case 'b': y=x*(100+1.98/2); printf(\半年\ case 'c': y=x*(100+2.25); printf(\一年\ case 'd': y=x*(100+2.79*2); printf(\两年\ case 'e': y=x*(100+3.33*3); printf(\三年\ case 'f': y=x*(100+3.6*5); printf(\五年\ }

printf(\到期的本息合计为%f元\\n\}

5. 设函数

(1)用条件表达式求函数值y。

(2)用if 语句编程,输入x,输出y,并给出你所使用的测试用例。 解(1)用条件表达式求函数值y。 #include main() {float x; int y;

printf(\请输入x=\scanf (\

y=(x>=0)?(x>0?1:0):-1; printf(\}

解(2)用if 语句编程,输入x,输出y。 #include main() {float x; int y;

printf(\请输入x=\scanf (\if(x>=0)

if(x>0)y=1; else y=0; else y=-1;

printf(\}

6. 编写程序:键盘上输入一个不多于5位的正整数,要求:①求它是几位数②逆序打印出各位数字。如原数为123,应输出321。(此题为选做)

#include #include main()

{long n,m,p,w1=0,w2=0,w3=0,w4=0,w5=0,t=0; printf(\请输入一个非负整数(n<100000)n=\scanf(\if((n/10000)!=0)m=5; else if(n/1000!=0)m=4; else if(n/100!=0)m=3; else if(n/10!=0)m=2; else m=1; switch(m)

{case 5:p=n/10000;w1=p;n-=p*10000;t+=w1*pow(10,m-5); case 4:p=n/1000;w2=p;n-=p*1000;t+=w2*pow(10,m-4); case 3:p=n/100;w3=p;n-=p*100;t+=w3*pow(10,m-3); case 2:p=n/10;w4=p;n-=p*10;t+=w4*pow(10,m-2); case 1:p=n;w5=p;t+=w5*pow(10,m-1); }