c语言~~急~~~~~~~~~~·

三、实验内容
1.从键盘输入两个字符,要求输出这两个字符,并输出它们的ASCII 码及其ASCII
码的平方和的平方根。
提示:字符变量以它的ASCII 码值参加运算;求平方根应用函数SQRT,此函数存放在
数学函数库中;求出的平方根可能不是整数。
2. 输入一个三位数,若此数是水仙花数输出“Y”,否则输出“N”, 若输入值不
是三位数输出“data error”。
提示:水仙花数是一个三位数,组成这个三位数的三个数字的立方和与这个三位数相等。
如:153=13+53+33。判断是否是水仙花数需把构成三位数的三个数字分离出来并存入变量。
3.给出一个百分制成绩,要求输出成绩等级A、B、C、D。90 分以上为A,80~89
分为B,70~79 分为C,60~69 分为D,60 分以下为E。
事先编好程序,要求分别用if 语句和switch 语句实现。运行程序,并检查结果是否正
确。
再运行一次程序,输入分数为负值(如-70),这显然是输入时出错,不应给出等级。
修改程序,使之能正确处理任何数据。当输入数据大于100 或小于0 时,通知用户“输入数
据错”,程序结束。
根据上述题目要求编程并上机调试运行。
[email protected]..快~~谢谢

1
#include <stdio.h>
#include <math.h>
int main()
{
char a,b;
printf("Please input two characters(ab):");
scanf("%c%c",&a,&b);
printf("the ASCII of a is %d,a^2=%d,sqrt(a)=%.2lf\n",a,a*a,sqrt(a));
printf("the ASCII of b is %d,b^2=%d,sqrt(b)=%.2lf\n",b,b*b,sqrt(b));
return 0;
}
2
#include <stdio.h>
int main()
{
int a;
printf("Please input a number:");
scanf("%d",&a);
if (a<100 || a>999)
{
printf("data error\n");
return 0;
}
int b,c,d;
b = a%10;
c = a/10;
d = c/10;
c = c%10;
d = d%10;
if (b*b*b+c*c*c+d*d*d == a)
{
printf("Y\n");
}
else
{
printf("N\n");
}
return 0;
}
3
#include <stdio.h>
int main()
{
int a;
printf("Please input your grade:");
scanf("%d",&a);
char d;
if (a<=100 && a>90)
{
d = 'A';
}
else if (a<=90 && a>80)
{
d = 'B';
}
else if (a<=80 && a>70)
{
d = 'C';
}
else if (a>=70 && a>=60)
{
d = 'D';
}
else if (a>=0)
{
d = 'E';
}
else
{
printf("Input error\n");
return 0;
}
printf("%c\n",d);
return 0;
}
switch
#include<stdio.h>

int main()
{
int score;
printf("Please input your grade:");

scanf("%d",&score);
if(score>100||score<0)
{

printf("Input error\n");
return 0;
}
else
{
int k=score/10;
switch(k)
{
case 10:
case 9:printf("A\n");break;
case 8:printf("B\n");break;
case 7: printf("C\n");break;
case 6: printf("D\n");break;
default: printf("E\n");break;
}
}
return 0;
}追问

3.obj - 1 error(s), 0 warning(s)

追答

第三个是分开的,两个程序,你别放在一起编译了啊
//switch
#include

int main()
{
int score;
printf("Please input your grade:");

scanf("%d",&score);
if(score>100||score<0)
{

printf("Input error\n");
return 0;
}
else
{
int k=score/10;
switch(k)
{
case 10:
case 9:printf("A\n");break;
case 8:printf("B\n");break;
case 7: printf("C\n");break;
case 6: printf("D\n");break;
default: printf("E\n");break;
}
}
return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-19
#include<stdio.h>
#include<math.h>
int main()
{
char ch1,ch2;
scanf("%c %c",&ch1,&ch2);
printf("%c,%c\n",ch1,ch2);
printf("%d,%d,%f\n",ch1,ch1*ch1,sqrt((int)ch1));
printf("%d,%d,%f\n",ch2,ch2*ch2,sqrt((int)ch2));
return 0;
}
输入方式如:a b,即两个字符之间有一个空格

#include<stdio.h>
#include<math.h>
int main()
{
int i,j,k,n;
scanf("%d",&n);
if(n<100||n>1000)
printf("data error");
else
{
i=n/100;
j=n%100/10;
k=n%10;
if((i*i*i+j*j*j+k*k*k)==n)
printf("Y");
else
printf("N");
}
return 0;
}
这个输入就不用说了吧,呵呵。、。

#include<stdio.h>
#include<math.h>
int main()
{
int score;
scanf("%d",&score);
if(score>100||score<0)
printf("data error");
else
{
int k=score/10;
switch(k)
{
case 10:
case 9:printf("A\n");break;
case 8:printf("B\n");break;
case 7: printf("C\n");break;
case 6: printf("D\n");break;
default: printf("E\n");break;
}
}
return 0;
}

if格式的:

#include<stdio.h>
#include<math.h>
int main()
{
int score;
scanf("%d",&score);
if(score>100||score<0)
printf("data error");
else
{
if(score>=90)
printf("A");
else if(score>=80)
printf("B");
else if(score>=70)
printf("C");
else if(score>=60)
printf("D");
else
printf("E");
}
return 0;
}
第2个回答  2020-01-13
第3个回答  2011-04-19
留个邮箱,发给你,记得采纳我的答案追问

[email protected]..快~~谢谢

相似回答