c语言考试作业-创新互联
1【程序题】
专注于为中小企业提供成都做网站、网站建设、外贸营销网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业东乃免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上1000家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。分数转换为等级。分数与成绩等级的对应关系是:90~100为A,80~89为B,70~79为C,60~69为D,0~59为E。 编程要求:①用户在提示符score:后面输入一个百分制分数,程序将分数转换为成绩等级A、B、C、D、E,并以grade=X(X为A、B、C、D、E之一)的形式输出;②程序输出结果后,继续显示提示信息score:,等待用户的下一次输入,并根据输入的分数输出相应的成绩等级;③当用户在提示信息score:后输入的成绩大于100分,程序不予处理,而是继续输出提示信息score:;④当用户在提示信息score:后输入的成绩为负数,程序输出Bye!后结束。下面是程序的运行效果:
我的答案:
#includeint main()
{
char g;
int n;
do
{
printf("score:");
scanf("%d",&n);
if(n<0)
printf("Bye!\n");
else if(n>=0&&n<=100)
{
if(n>=90&&n<=100)
g='A';
if(n>=80&&n<90)
g='B';
if(n>=70&&n<80)
g='C';
if(n>=60&&n<70)
g='D';
if(n>=0&&n<60)
g='E';
printf("grade=%c\n",g);
}
}while(n>=0);
return 0;
}
2【程序题】
数字之和为5的数 。编程要求:①用户在提示符m,n:后面输入两个正整数,程序将m和n之间(包括m和n本身)所有“各位数字之和为5”的数的个数输出,输出形式是count=A,其中A就是统计出的符合条件的整数个数;②程序输出结果后,继续显示提示信息m,n:,等待用户的下一次输入;③当用户在提示信息m,n:后输入的两个数中至少有一个数小于等于0,程序输出Bye!后结束。下面是程序的运行效果:
我的答案:
#includeint main()
{
int m,n,i,a,b,c,d,sum,count;
do
{
sum=count=0;
printf("m,n:");
scanf("%d%d",&m,&n);
if(m<=0||n<=0)
printf("Bye!\n");
else
{
a=(m>n?n:m);
b=(m>n?m:n);
for(i=a;i<=b;i++)
{
c=i;
sum=0;//由于在while循环中,sum的值会改变,所以在每个大循环中都要规定sum的初始值为0
while(c!=0)
{
d=c%10;//取余运算:求数字的个位数
sum=sum+d;
c=c/10;//通过将数字除以10,去掉数字的小数部分(利用int型数据的定义)
}
if(sum==5)
count++;
}
printf("count=%d\n",count);
}
}while(m>0&&n>0);
}
3【程序题】
中空沙漏形。在提示符size:后输入整数n,程序基于n的值,输出相应的图案,如下是n=5时的图案:
注意:①程序输出图案后,继续显示提示符size:,等待用户的下一次输入;直到用户输入的值小于等于0为止;②当用户在提示符size:后输入的值小于等于0,程序输出Bye!后结束。下面是程序的运行效果:
我的答案:
#includeint main()
{
int i,j,n,k;
do
{
printf("size:");
scanf("%d",&n);
if(n<=0)
printf("Bye!\n");
else
{
for(i=1;i<=n;i++)
{
if(i==1)
{
for(j=1;j<=2*n-1;j++)
printf("*");
printf("\n");
}
else
{
for(j=1;j<=2*n-i;j++)
{
if(j==i||j==2*n-i)
printf("*");
else
printf(" ");
}
printf("\n");
}
}
for(i=n-1;i>=1;i--)
{
if(i==1)
{
for(j=1;j<=2*n-1;j++)
printf("*");
printf("\n");
}
else
{
for(j=1;j<=2*n-i;j++)
{
if(j==i||j==2*n-i)
printf("*");
else
printf(" ");
}
printf("\n");
}
}
}
}while(n>0);
}
4【程序题】
折纸厚度。将一张纸对折,请问折几次后纸的厚度可超过100米。编程要求:在提示符thickness:后,用户输入纸的厚度(单位是毫米)。程序以times=X的形式给出对折几次后,纸的总厚度可以超过100米。注意:程序重复运行,每输入一个厚度,程序给出一个结果,直到用户输入的厚度thickness小于等于0时,程序输出Bye!,然后结束程序运行结果:
我的答案:
#includeint main()
{
double a;
int n;
do
{
n=-1;
printf("thickness:");
scanf("%lf",&a);
if(a<=0)
printf("Bye!\n");
else
{
while(a<=100000)
{
a*=2;
n++;
}
printf("times=%d\n",n);
}
}while(a>0);
return 0;
}
5【程序题】
译密码。明码变为密码的规则: ①大写字母A~V分别对应变换为ASCII码表上其后的第4个字符,即E~Z;而W~Z对应变换为A~D;②小写字母a~v分别对应变换为ASCII码表上其后的第4个字符,即e~z;而w~z对应变换为a~d;③非字母字符不变。
编程要求:①在提示信息plaintext:后面,用户输入一段字符,其中可以包含空格,按Enter表示输入结束。程序以ciphertext=STR形式输出与输入的所有字符一一对应的密码字符;②程序输出结果后,继续显示提示信息plaintext:,等待用户的下一次输入;③当用户在提示信息plaintext:后直接按下Enter,程序输出Bye!后结束。下面是程序的运行效果:
我的答案:
#includeint main()
{
char c;
int a;
do
{
a=0;
printf("plaintext:");
while((c=getchar())!='\n')
{
a++;
if(a==1)
printf("ciphertext=");
if((c>='A'&&c<='V')||(c>='a'&&c<='v'))
printf("%c",c+4);
else if((c>='W'&&c<='Z')||(c>='w'&&c<='z'))
printf("%c",c-22);
else
printf("%c",c);
}
if(a==0)
printf("Bye!\n");
else
printf("\n");
}while(a>0);
return 0;
}
6【程序题】
求平方根。用迭代法求a的平方根x :①迭代公式;②要求前后两次求出的x的差的绝对值小于1e-5。
编程要求:①程序显示number:提示信息,等待用户输入a的值,用户按Enter后,程序以sqrt(a)=X.YZ的形式输出a的平方根(a及其平方根都是double型,输出时都保留2位小数),并以times=A显示出迭代次数(迭代次数为整型数);②程序输出结果后,再次显示number:提示,等待用户输入下个数;③当用户在number:后输入的数小于等于0时,程序输出Bye!结束。注意:对迭代公式的起始值做特别规定:x0为a、x1为a/2。下面是程序的运行效果:
我的答案:
#include#includeint main()
{
double a,x0,x1,sqrt;
int t;
do
{
t=0;
printf("number:");
scanf("%lf",&a);
if(a<=0)
printf("Bye!\n");
else
{
x0=a;
x1=a/2;
while(fabs(x0-x1)>=1e-5)
{
x0=x1;
x1=(x1+a/x1)/2;
t++;
}
printf("sqrt(%.2f)=%.2f,times=%d\n",a,x1,t);
}
}while(a>0);
return 0;
}
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
分享题目:c语言考试作业-创新互联
文章地址:http://cdiso.cn/article/dijigo.html