1.输入四位数,分别求该数各个数位上的数字之和。例如,输入 1234,输出 10。
#include <stdio.h>
void main()
{
int n,sum=0;
int a,i;
scanf("%d",&n);
for(i=1;i<=4;i++)
{
a=n%10;
sum+=a;
n=n/10;
}
printf("%d",sum);
return 0;
}
2.运输公司按照以下方法计算运费。路程(s)越远则每公里运费越低。方法如下:
设每公里每吨货物基本运费为p,货物重w(吨),距离为s(km),折!扣为d,总运费计算公式为
f = p * w * s * (1 − d)
设计算法编写程序,要求输入p、w和s,计算总运费(用if语句或者switch语句编写)。
#include <stdio.h>
void main()
{ float p,w,d,f;
int s;
//printf("请输入基本运价、重量、距离:");
scanf("%f%f%d",&p,&w,&s);
/**************begin******************/
if(s<250)
d=0.00;
else if(s>=250&&s<500)
d=0.02;
else if(s>=500&&s<1000)
d=0.05;
else if(s>=1000&&s<2000)
d=0.08;
else if(s>=2000&&s<3000)
d=0.10;
else if(s>=3000)
d=0.15;
/***************end****************/
f=p*w*s*(1-d);
printf("总运费为:%f \n",f);
}
3.编写程序,生成两个字符串str1和str2,比较两个字符串的大小(不得使用strcmp函数)。
输入 字符串 abc ABC
输出 abc 大于 ABC
#include <stdio.h>
#include <string.h>
int main()
{ char str1[100],str2[100];
/**********begin**********/
int i,t=1,m;
gets(str1);
gets(str2);
m=strlen(str1);
for(i=0;i<m;i++)
{
printf("%c",str1[i]);
}
for(i=0;i<m;i++)
{
if(str1[i]>str2[i])
{
printf(" 大于 ");
t=0;
break;
}
else if(str1[i]<str2[i])
{
printf(" 小于 ");
t=0;
break;
}
}
if(t==1)
printf(" 等于 ");
for(i=0;i<m;i++)
printf("%c",str2[i]);
/**********end**********/
return 0;
}
4.编写函数fun(int m),其功能是:求1/2+1/4+1/6+…+1/2m 的值,并将计算结果以函数返回值形式返回。
在主函数中输入一个正整数m,调用fun函数求1/2+1/4+1/6+…+1/2m 的值,并将计算结果输出。
示例:
输入:9
输出:1.414484
#include<stdio.h>
float fun(int mm)
{
//程序语句
double t;
int i;
t=0;
for(i=1;i<=mm;i++)
{
t=t+1.0/(2*i);
}
return t;
}
int main()
{
//程序语句
int m;
double n;
scanf("%d",&m);
n=fun(m);
printf("%f",n);
return 0;
}
5.
任务描述
本关要求编写一个
C
语言程序,实现字符串大小写字母的转换。
相关知识
编程要求
请仔细阅读右侧代码,根据方法内的提示,在
Begin - End
区域内进行代码补充,具体任务如下:
如果给出的字符是大写字母,则将其转换成小写字母输出,如果该字符是小写字母,则将其转化成大写字母输出。
测试说明
平台会对你编写的代码进行测试,若是与预期输出相同,则算通过。
测试输入:
A
。 预期输出:
a
。
测试输入:
b
。 预期输出:
B
。
#include<stdio.h>
int main()
{
/**********begin*********/
char x='a';
scanf("%c",&x);
if(x>='A'&&x<='Z')
{
x=x+32;
}
else
{
x=x-32;
}
printf("%c",x);
/*********end*********/
}
6.
本关需要完成一个输出某个三位数各个位上的数字的小程序。
编程要求
请仔细阅读右侧代码,根据方法内的提示,在Begin – End区域内进行代码补充,具体任务如下:
输入一个三位数的整数,分别输出其个位、十位、百位上的数字。
注意:
输出的各数字间有一个空格。
举例说明:
测试输入:
345
预期输出:
5 4 3
#include<stdio.h>
int main()
{
/*********begin*********/
int a,b,c,d;
scanf("%d",&a);
b=a/100;
c=(a-b*100)/10;
d=(a-b*100-c*10);
printf("%d %d %d",d,c,b);
/*********end*********/
return 0;
}
7.
任务描述
设计算法编写程序,输入年和月份,判断该月所对应的天数。月份为1、3、5、7、8、10、12月对应天数为31天,4、6、9、11月对应天数为30天,2月一般为28天,闰年为29天。(用switch结构编写)
测试说明
输入:
2000 2
输出:
该月份共 29 天
#include<stdio.h>
int main()
{
int m,y;
scanf("%d %d",&y,&m);
if (y%4==0&&y%100!=0||y%400==0)
{
switch(m)
{
case 1:printf("该月份共 31 天");break;
case 2:printf("该月份共 29 天");break;
case 3:printf("该月份共 31 天");break;
case 4:printf("该月份共 30 天");break;
case 5:printf("该月份共 31 天");break;
case 6:printf("该月份共 30 天");break;
case 7:printf("该月份共 31 天");break;
case 8:printf("该月份共 31 天");break;
case 9:printf("该月份共 30 天");break;
case 10:printf("该月份共 31 天");break;
case 11:printf("该月份共 30 天");break;
case 12:printf("该月份共 31 天");break;
}
}
else {
switch(m)
{
case 1:printf("该月份共 31 天");break;
case 2:printf("该月份共 28 天");break;
case 3:printf("该月份共 31 天");break;
case 4:printf("该月份共 30 天");break;
case 5:printf("该月份共 31 天");break;
case 6:printf("该月份共30天");break;
case 7:printf("该月份共31天");break;
case 8:printf("该月份共31天");break;
case 9:printf("该月份共30天");break;
case 10:printf("该月份共31天");break;
case 11:printf("该月份共30天");break;
case 12:printf("该月份共31天");break;
}
}
return 0;
}
8.
设银行定期存款的年利率 rate 为 2.25%,并已知存款期为 n 年,存款本金为 capital 元,试编程计算 n 年后的本利之和 deposit。要求定期存款的年利率 rate、存款期 n 和存款本金 capital 均由键盘输入。
deposit=capital∗(1+rate)n
平台会对你编写的代码进行测试:
测试输入:
0.0225 4 5000
预期输出:
4年本利之和:5465.42
#include <stdio.h>
#include <math.h>
int main()
{
float rate,deposit,x;
int n,capital;
scanf("%f %d %d",&rate,&n,&capital);
x=pow(1+rate,n);
deposit=capital*x;
printf("%d年本利之和:%.2f",n,deposit);
}
9.
设计算法编写程序,定义有10个元素的一维数组,数组元素的值由平台输入,输入变量x,将数组中所有与x值相等的元素删除,并输出删除后的数组。
测试说明
输入:
1 0 2 7 7 2 3 7 5 7
//数组
7
//变量x
输出:
1 0 2 2 3 5
。
#include <stdio.h>
int main()
{
char s[100],temp[100],i,j;
char c,c1;
printf("请输入一个字串: ");
gets(s);
printf("请输入要删除的字符: ");
c=getchar();
i=j=0;
while(c1=s[i++])
{
if (c1!=c)
temp[j++]=c1;
}
temp[j]='';
printf("删除后的字串为: %s ",temp);
return 0;
}
10.
任务描述
编写函数,输入
x,n
,计算
x + x^2 + x^3 + x^4 +… …x^n
,其中
x,n
分别是一个数字。
编程要求
请仔细阅读右侧代码,结合相关知识,在
Begin-End
区域内进行代码补充。
输入
分别输入两个整数
x n
,
(1<=x,n<=10)
输出
输出表达式的值,占一行。
提示:
用
int
可能会溢出,需要用能表示更大范围的
long long
int
(注:
VC6.0
不支持此类型,
VC
下使用可使用
__int64
替代)
测试说明
样例输入:
1 1
样例输出:
1
样例输入:
2 2
样例输出:
6
#include<stdio.h>
#include<math.h>
//编写函数
/*********Begin*********/
int main()
{
long long int x,n,sum,s,i;
sum=0,s=0;
scanf("%lld %lld",&x,&n);
for(i=1;i<=n;i++)
{
sum=pow(x,i);
s=sum+s;
}
printf("%lld",s);
}
/*********End**********/