请你编程实现:从键盘上随意输入一个算术运算式(可以是加、减、乘、除中的任意一种),然后你编写的程序要能判断出这个算术运算是否正确,正确显示“yes”,错误显示“no”。比如:从键盘上输入“3+2=5↙”,则屏幕上显示“yes”;从键盘上输入“3*2=5↙”,则屏幕上显示“no”。
#include<stdio.h>
int add(int a,int b);
int sub(int a,int b);
int mul(int a,int b);
int div(int a,int b);
int add(int a,int b)//定义add(),计算a+b
{
return (a + b);
}
int sub(int a,int b)//定义sub(),计算a-b
{
return (a - b);
}
int mul(int a,int b)//定义mul(),计算a*b
{
return (a * b);
}
int div(int a,int b)//定义div(),计算a/b
{
return (a / b);
}
int main()
{
int a,b,c;
char op;
printf("please input:");
scanf("%d%c%d=%d",&a,&op,&b,&c);//为a,b,c,op赋初值
//如果输入的结果c等于a与b计算得到的结果,则输出yes,否则输出no
//此处程序简单的用if判断结果是否相等,但是还有如 2+2=4这种特殊情况未能处理
if(c == add(a,b)||sub(a,b)||mul(a,b)||div(a,b))
printf("yes");
else
printf("no");
return 0;
}
请你编程实现:从键盘上输入任意多个学生的单科百分制成绩,当输入了一个不合法的成绩时,程序不再接收输入数据,统计并输出以下信息:
- 录入了多少个学生的单科成绩;
- 所有成绩中的最高分、最低分、平均分分别是多少;
- 不及格人数有多少。
要求:不得使用数组或者动态内存分配函数来实现。
#include<stdio.h>
int main()
{
int n,i=1,m=0,sum=0,max=0,min=0,ave=0,f=0;
printf("Please input the number of the score:");
scanf("%d",&n);
printf("Please input the score:");
scanf("%d",&m);
sum=max=min=m;
while(i<n){
scanf("%d",&m);
sum=sum+m; //根据要求不用数组和动态内存分配函数,则使用计数变量
i++;
if(m>max){//迭代法,使max一直为最大值
max=m;
}
if(m<min){//迭代法,使max一直为最小值
min=m;
}
if(m<60){//判断是否不及格,人数累加
++f;
}
ave=sum/n;//得到平均数
}
printf("The total,average,maximum and minimum of the scores are:%d %d %d %d \n",n,ave,max,min);
printf("failed students number is%d",f);
return 0;
}
请你编程实现:从键盘上任意输入一个正整数x,判断它是否为同构数。若是同构数,就在屏幕上显示输出“Yes”,若不是则输出“No”。一个数如果出现在它的平方数的右边,这个数就是同构数。比如:5出现在它的平方数25的右边,25出现在它的平方数625的右边,因此5和25都是同构数。
#include <stdio.h>
int tg(int n)//定义tg函数,判断输入的x是否为同构数
{
int flag=10,m;
if(n==flag)
{
flag=flag*10;
}
m=n*n;
if(m%flag==n)
return 1;
else
return 0;
}
int main()
{
int x;
printf("please input x:");
scanf("%d",&x);
if(tg(x)==1) //若是同构数,输出yes,否则,输出no
printf("yes");
else
printf("no");
return 0;
}